Hoje vamos ver como medir o nível de alcoolemia com Alcohol Gas Sensor MQ-3 e o Arduino Diecimila utilizando apenas uma resistência.
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg241.imageshack.us%2Fimg241%2F6300%2Ftmpphprpg96hls7.jpg&hash=4173eb73b3a768c48a948acc06e189d3e17b848b) (http://img222.imageshack.us/my.php?image=dsc00467lu9.jpg)
Info:
- Datasheet (http://www.sparkfun.com/datasheets/Sensors/MQ-3.pdf)
- Código fonte (http://www.lusorobotica.com/ficheiros/Alcohol_codigo_1.pde)
- Alcohol Gas Sensor MQ-3 (http://www.sparkfun.com/commerce/product_info.php?products_id=8880)
Este sensor é bastante simples de utilizar, e mostra-se muito sensível ao álcool.
No esquema abaixo, Figura 2, podemos ver que este sensor tem 6 pins, mas 2 deles são simplesmente replicações.
O A está internamente ligado com o A, e o B está internamente ligado com o B.
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg55.imageshack.us%2Fimg55%2F6237%2Falchoolau5.jpg&hash=a0ba887f1165069ef0681617775093ba2fc966f3)
Ligações:
- H e H --> Heater, pins de aquecimento para que o sensor funcione devidamente. Ligar um a GND e outro a VCC (5V)
- A --> Pin do sensor, ligar a VCC
- B --> Pin do sensor, ligar ao PIN do Arduino Diecimila, no caso do código pin 0, assim como a um pulldown de 100K~470K
Atenção, os pins A e B são permutáveis, não fazendo qualquer diferença se trocarem o A com o B.
Eu utilizei uma resistência de pulldown de 100K, pois foi com essa que consegui maiores variações de valores, e com isso maior precisão!
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg241.imageshack.us%2Fimg241%2F7448%2Ftmpphp0khueglb0.jpg&hash=b362d252fba16b55400453bc562ac744aa4a96c6) (http://img241.imageshack.us/my.php?image=dsc00470nz0.jpg)
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg56.imageshack.us%2Fimg56%2F1225%2F61523034vu6.jpg&hash=c83b8bff809591f5179120a9a5a3787e44f34635)
Assim, fazendo o upload do código abaixo, consegui valores da ordem dos 160 para o ar ambiente, e de 1024 (max) para quando exposto a álcool etílico.
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg387.imageshack.us%2Fimg387%2F6681%2Ftmpphpdeogyguf3.jpg&hash=41e9c027206f524b92989cf29b665a832a79ead7) (http://img98.imageshack.us/my.php?image=dsc00472cu8.jpg)
Código Fonte:
/********************************************************
** More info about the project at: **
** http://lusorobotica.com/viewtopic.php?t=103&f=111 **
** by TigPT at [url=http://www.LusoRobotica.com]www.LusoRobotica.com[/url] **
*********************************************************/
unsigned int val = 0;
unsigned char PIN = 0;
void setup() {
Serial.begin(9600);
pinMode(PIN,INPUT);
}
void loop() {
val = analogRead(PIN);
Serial.println(val);
delay(500);
}