ENIB 2020 : Ethylo
Révision datée du 20 janvier 2020 à 11:08 par Fishou (discussion | contributions)
photo de l'équipe
Que fait ce projet ?
Notre projet, hackaton 2020, a la fabrique du ponant est de réaliser un éthylomètre, un ethylomètre est un objet qui nous permet de connaitre notre taux d'alcoolémie et pouvoir prévenir toute conduite dangereuse.
Liste des composants
Nom du matériel | Son utilité | Prix | |
---|---|---|---|
Arduino nano | Pièce "centrale", elle nous permet de lire la tension qui sort de notre capteur MQ3 et de l’interpréter en "taux d'alcolémie" à l'aide d'un code. | 5€ | |
Capteur MQ3 | Detecteur d'ethanol, renvoie une tension variable en fonction du taux d'ethanol dans l'air. | 3€ | |
Ecran LCD | Nous permet d'afficher le taux d'alcoolemie. | 5€ |
Code
#include <Wire.h> #include "rgb_lcd.h" '''Ici on appelle la librairie "rgb_lcd.h", il faut la telecharger et inclure cette bibliothèque''' rgb_lcd lcd; int colorR = 255; '''nous avons un ecran RGB-lcd, ici chaque couleur est codée sur 16 bits, (c'est pour cela qu'on a une valeur entre 0 et 255)''' int colorG = 0; int colorB = 70; int taux = 0; void setup() '''Le void setup est la ou on defini l'etat initial''' { // set up the LCD's number of columns and rows: lcd.begin(16, 2); lcd.setRGB(colorR, colorG, colorB); Serial.begin(9600); // Print a message to the LCD. lcd.print("Crousthylometre!"); delay(1000); } void loop() { // set the cursor to column 0, line 1 // (note: line 1 is the second row, since counting begins with 0): lcd.setCursor(0, 1); // print the number of seconds since reset: lcd.print("Croustitaux:"); '''la commande lcd.print("info") nous permet d'afficher le taux d'alcoolémie à l’écran de l'arduino ''' //colorR = (colorR+10)%255; //colorG = (colorG+10)%255; //colorB = (colorB+10)%255; taux = analogRead(A0); '''A0 est le pin connecté au capteur MQ3, ici on lit la tension qui sort du composant''' lcd.print((taux/1023.)*5.-2.5); ''' ici on fait la conversion de "taux" la valeur en tension*5/1023, et on la transforme en la valeur equivalente en taux d’alcoolémie''' Serial.println(taux); //lcd.setRGB(colorR, colorG, colorB); delay(100); } /********************************************************************************************************* END FILE *********************************************************************************************************/