Idiot bevis diskmaskinen (2 / 6 steg)
Steg 2: Hedra koden
KOD: (kopiera och klistra in detta i din Arduino skiss. Det är inte fusk)
/ * Här koden kommer att använda en "avstämbara" ljussensor (Foto-motstånd) göra två saker
När ljusnivån är under ett visst tröskelvärde: slå på några blinkande lysdioder,
och larmar!!!
Denna kod sammanställdes med hjälp av källkoden från http://www.arduino.cc/en/Tutorial/Melody
(2005) D. Cuartielles för K3 och http://ardx.org/CODE09.
Funktionerna kopiera och klistra in skrevs någon gång länge sedan av en riktigt
lat person... som jag personligen love.* /
Fotomotstånd Pin
int lightPin = 0;
LED stift
int ledPin = 9;
int ledPin2 = 11;
int ledPin3 = 13.
Soundpin
int soundPin = 3;
antalet anmärkningar
int längd = 7.
char noterar [] = "cacacaa";
int slår [] = {1,1,1,1,1,1,1}.
int tempo = 300;
{Ogiltig playTone (int tonen, int längd)
för (länge jag = 0; jag < varaktighet * 1000L; i += tonen * 2) {
digitalWrite (soundPin, hög);
delayMicroseconds(tone);
digitalWrite (soundPin, låg);
delayMicroseconds(tone);
}
}
void playNote (char note, int varaktighet) {
char namn [] = {"c", "a"};
int toner [] = {1915, 1700, 1519, 1432, 1275, 1136, 1014};
spela tonen motsvarar tonens namn
för (int jag = 0; jag < 8; i ++) {
om (namn [i] == OBS) {
playTone (toner [i], varaktighet);
}
}
}
void setup()
{
pinMode (ledPin, produktionen);
pinMode (ledPin2, produktionen);
pinMode (ledPin3, produktionen); Anger det led stiftet till utgång
pinMode (soundPin, produktionen);
}
void loop()
{
int tröskel = 500. / * <---det är det viktigaste INSLAGET! */
medan (analogRead(lightPin) > tröskel)
{
för (int jag = 0; jag < längd; i ++) {
om (anteckningar [i] == "") {
fördröjning (beats [i] * tempo/3); resten
} annat {
playNote (anteckningar [i], beats [i] * tempo * 1.3);
paus mellan anteckningar
Delay(tempo/2); }
om (analogRead(lightPin) > tröskel)
{
digitalWrite(ledPin,HIGH);
digitalWrite(ledPin2,HIGH);
digitalWrite(ledPin3,HIGH);
fördröjning (20);
digitalWrite(ledPin,LOW);
digitalWrite(ledPin2,LOW);
digitalWrite(ledPin3,LOW);
Delay(20);
digitalWrite(ledPin,HIGH);
digitalWrite(ledPin2,HIGH);
digitalWrite(ledPin3,HIGH);
fördröjning (20);
digitalWrite(ledPin,LOW);
digitalWrite(ledPin2,LOW);
digitalWrite(ledPin3,LOW);
Delay(20);
digitalWrite(ledPin,HIGH);
digitalWrite(ledPin2,HIGH);
digitalWrite(ledPin3,HIGH);
fördröjning (20);
digitalWrite(ledPin,LOW);
digitalWrite(ledPin2,LOW);
digitalWrite (ledPin3, låg);
Delay(20);
} annat {
digitalWrite (ledPin, låg);
}
}
}
}
: END-KOD
Trick i denna kod är att använda "tröskelvärde" justera ljussensorn för de lokala förhållandena. Om du får allt annat att arbeta på din arbetsbänk, kom ihåg att förutse justera tröskeln i andra ljusförhållandena.
Också, den andra bild visar är en röra av ledningar och bröd styrelsen. Vi använde bröd styrelsen eftersom det är ett snabbt sätt att bygga en krets och , eftersom vi kunde använda VÄXELN TAKTIKEN för att slå på/av signalerna från ARDUINO när diskmaskin dörren var stängd/öppen. Med andra ord, behövde vi inte skriva någon kod för växeln för att ange system. Brytaren ansluten till bröd styrelsen bara makt från ARDUINO när dörren stängd. Det kommer mer meningsfullt i en minut.