KÄNSLA: Smart andedräkt analys enhet (en Smart Breathalyzer) (3 / 4 steg)
Steg 3: Mjukvara Setup!
För det första du måste setup din MediaTek LinkIt en styrelse med Arduino IDE, så jag ber er att följa instruktionerna i MediaTek Labs officiella webbplats: http://bit.ly/1KcU66X
När du har slutfört inställningen, kan du starta IDE och se till att du är ansluten till rätt COM-Port.
GitHub Repository : http://bit.ly/1We3w9F
Arduino kod:
< p > / * < br > * känsla: Smart
* Författare: Geeve George
* Instrubtables: < en href = " rel = "nofollow" >
* / < /p >< p > #define ALCOHOL_DAT A0
#define HEATER_SEL A1 < /p >< p > #include
#include "rgb_lcd.h" < /p >< p > rgb_lcd lcd; < /p >< p > int colorR = 10;
int colorG = 10;
int colorB = 10;
int BuzzerPin = 7; < /p >< p > void setup()
{< /p >< p >
LCD.BEGIN (16, 2);
lcd.setRGB (colorR, colorG, colorB);
< /P >< p > Serial.begin(9600); Öppna den seriella porten på 9600 bps
pinsInit();
switchOnHeater();
Serial.println ("börjar värma sensorn, vänta 5 ~ 10min innan de exponering för alkohol");
pinMode(BuzzerPin,OUTPUT); < /p >< p >}
void loop()
{< /p >< p >
int sensorValue;
sensorValue = analogRead(ALCOHOL_DAT); Läs det analoga värdet
int värde = 1023 - sensorValue;
Disply resultaten i följetong monitor. < /p >< p > flyta procent = värde / 1024.0 * 100.
Avrunda till två decimaler
procent = floor(percent*100) / 100; < /p >< p >
float recal = fabs(percent-10);
< /p >< p > if(recal>42)
{
colorR = 255;
colorG = 0;
colorB = 0;
lcd.setRGB(colorR,colorG,colorB);
Delay(30);
LCD.Clear();
LCD.Print ("Vapor upptäckta");
lcd.setCursor(0,1);
LCD.Print(RECAL);
LCD.Print("%");
digitalWrite(BuzzerPin,HIGH);
Delay(100);
digitalWrite(BuzzerPin,LOW);
} < /p >< p >
annat
{
digitalWrite(BuzzerPin,LOW);
colorR = 5;
colorG = 5;
colorB = 5;
lcd.setRGB(colorR,colorG,colorB);
LCD.Clear();
LCD.Print ("förnuft");
lcd.setCursor (0, 1);
LCD.Print(RECAL);
}
/ * Serial.print ("sensor testvärde =");
sensorValue går ner när alkohol upptäcks. Därmed minska 1023.
Serial.println(Value);
Informationen nedan rekommenderas resultatet av domen
lcd.setCursor (0, 1);
om (värdet < 300) {
Serial.println ("Ingen alkohol ånga upptäckt");
LCD.println ("ingen ånga");
} < /p >< p > annars om ((value > 300) & & (värde < 750))
{< /P >< p > Serial.println ("hög koncentration av alkohol upptäckt");
LCD.Print ("hög");
}
annars om (värde > 750) {
Serial.println ("mycket hög koncentration av alkohol upptäckt"); < /p >< p >
LCD.Print("very");
} * / < /p >< p > delay(100);
} < /p >< p > void pinsInit()
{
pinMode(HEATER_SEL,OUTPUT); / / Ställ in HEATER_SEL som digital utgång.
switchOffHeater(); När HEATER_SEL är inställd, är värmare avstängd.
pinMode(ALCOHOL_DAT,INPUT);
}
/ * slår på värmaren av alkohol sensor * /
void switchOnHeater()
{
digitalWrite(HEATER_SEL,LOW);
}
/ * stänga av aggregatet av alkohol sensor * /
void switchOffHeater()
{
digitalWrite(HEATER_SEL,HIGH);
} < /p >