Étape 2: Le CODE d’honneur
CODE: (copiez et collez ceci dans votre croquis Arduino. Il n’est pas tricher)
/ * Ce code utilise un capteur de lumière « accordable » (photo-résistance) à faire deux choses
Lorsque le niveau de lumière est inférieur à un certain seuil : Allumez quelques clignotant LED,
et une alarme!!!
Ce code a été compilé à l’aide de code source de http://www.arduino.cc/en/Tutorial/Melody
(2005) D. Cuartielles pour K3 et http://ardx.org/CODE09.
Les fonctions copier et coller ont été écrites il y a quelque temps par un vraiment
personne paresseuse... qui j’ai personnellement love.* /
Photorésistance Pin
int lightPin = 0 ;
Goupille de LED
int ledPin = 9 ;
int ledPin2 = 11 ;
int ledPin3 = 13 ;
Soundpin
int soundPin = 3 ;
nombre de notes
int longueur = 7 ;
note de char [] = "cacacaa" ;
int bat [] = {1,1,1,1,1,1,1} ;
int tempo = 300 ;
playTone Sub (ton int, int duration) {}
pour (long j’ai = 0; i < durée * 1000L; i += ton * 2) {
digitalWrite (soundPin, HIGH) ;
delayMicroseconds(tone) ;
digitalWrite (soundPin, basse) ;
delayMicroseconds(tone) ;
}
}
void playNote (char Remarque, int duration) {}
char nom [] = {"c", "a"} ;
les tons int [] = {1915, 1700, 1519, 1432, 1275, 1136, 1014} ;
Jouez le ton correspondant au nom de la note
pour (int i = 0; i < 8; i ++) {}
Si (noms [i] == note) {}
playTone (tons [i], durée) ;
}
}
}
void setup()
{
pinMode (ledPin, sortie) ;
pinMode (ledPin2, sortie) ;
pinMode (ledPin3, sortie) ; définit l’axe conduit à la sortie
pinMode (soundPin, sortie) ;
}
void loop()
{
seuil d’int = 500 ; / * <---c’est l’élément clé!!! */
tandis que (analogRead(lightPin) > seuil)
{
pour (int i = 0; i < longueur; i ++) {}
Si (les notes [i] == ' ') {}
retard (battements [i] * tempo/3) ; reste
} else {}
playNote (notes [i], beats [i] * tempo * 1.3) ;
faire une pause entre les notes
Delay(tempo/2) ; }
Si (analogRead(lightPin) > seuil)
{
digitalWrite(ledPin,HIGH) ;
digitalWrite(ledPin2,HIGH) ;
digitalWrite(ledPin3,HIGH) ;
retard (20) ;
digitalWrite(ledPin,LOW) ;
digitalWrite(ledPin2,LOW) ;
digitalWrite(ledPin3,LOW) ;
Delay(20) ;
digitalWrite(ledPin,HIGH) ;
digitalWrite(ledPin2,HIGH) ;
digitalWrite(ledPin3,HIGH) ;
retard (20) ;
digitalWrite(ledPin,LOW) ;
digitalWrite(ledPin2,LOW) ;
digitalWrite(ledPin3,LOW) ;
Delay(20) ;
digitalWrite(ledPin,HIGH) ;
digitalWrite(ledPin2,HIGH) ;
digitalWrite(ledPin3,HIGH) ;
retard (20) ;
digitalWrite(ledPin,LOW) ;
digitalWrite(ledPin2,LOW) ;
digitalWrite (ledPin3, basse) ;
Delay(20) ;
} else {}
digitalWrite (ledPin, basse) ;
}
}
}
}
: CODE FIN
L’astuce dans ce code consiste à utiliser le « seuil » pour régler le capteur de lumière pour les conditions locales. Si vous obtenez tout le reste à travailler sur votre table de travail, n’oubliez pas de prévoir l’ajustement du seuil dans toute autre condition d’éclairage.
En outre, le deuxième spectacle de l’image d’un désordre de fils et le jury de pain. Nous avons utilisé le jury de pain parce que c’est un moyen rapide de construire un circuit et , parce que nous pourrions utiliser l’interrupteur TACTILE pour allumer/éteindre les signaux de l’ARDUINO, quand la porte du lave-vaisselle était fermée/ouverte. En d’autres termes, nous n’avions d’écrire du code pour le commutateur entrer dans le système. Le commutateur connecté seulement puissance de l’ARDUINO à la carte de pain lorsque la porte fermée. Ça va faire plus de sens dans une minute.