Ljud aktiverat Fan (4 / 7 steg)
Steg 4: Testa röst serial.print-redigera kod
Det stora problemet med sensor, är att det är antingen för känslig och plockar upp bakgrund som stänger av fläkten på, eller du måste skrika i sensorn för sensor värdet att plocka upp tillräckligt för att nå tröskeln. Också när sensorn är för känslig och det kommer att plocka upp om det är egen buller och kör på honom. Sätt att fixa detta är att rekonstruera din kod och justera din potentiometer på sensorn. Potentiometern på sensorn är mycket liten skruven på den blå rutan på sensorn. Om du tittar på din serial.print, kommer du se vilken väg att vända din skruv för högre eller lägre känslighet för ljud sensorn kommer att plocka upp. Vad arbetat för jag var att ta bort tröskeln som en variabel och bara använda en sensor värde på min om uttalande (om sensor värde är större eller lika med 908, tur fan på, annan tur fan off). Jag lade också till en försening så att när fläkten slås på av en användare fläkten kommer att köra en fjärdedel av en sekund på egen hand. Detta håller en bra tid för fläkten för att bo för användaren.
int DA = A0; PIN-koden för Analog utgång - AO
int sensorvalue = 0;
void setup() {
Serial.BEGIN(9600);
pinMode (6, OUTPUT);
}
void loop() {
sensorvalue = analogRead(DA); Läs det analoga värdet
Serial.Print ("Analog:");
Serial.Print(sensorvalue); Skriva ut analoga värdet
Serial.Print("");
Serial.Print ("Digital:");
Serial.println(digitalRead(do)); Skriva ut digitala värdet
om (sensorvalue > = 908) {//Compare analoga värde med sersorvalue
digitalWrite (6, hög).
Delay(250); Håller fan på en fjärdedel av en sekund efter den är påslagen.
} annat {
digitalWrite (6, låg).
}
}
Analog: är behandlingen på 905 i genomsnitt.