Étape 5: Code
int ledPin = 13 ; choisir l’axe de la LED
inputPin int = 12 ; Choisissez l’entrée pin (pour capteur PIR) int pirState = faible ; Nous commençons, en supposant qu’aucun mouvement détecté int val = 0 ; variable pour lire le code pin État int pinSpeaker = 11 ; Mettre en place un haut-parleur sur une goupille PWM (digital 9, 10 ou 11)
void setup() {pinMode (ledPin, sortie); / / declare LED comme sortie pinMode (inputPin, entrée); / / declare capteur comme entrée pinMode (pinSpeaker, sortie) ; Serial.Begin(9600) ; }
void loop() {val = digitalRead(inputPin); / / lire la valeur d’entrée si (val == HIGH) {/ / vérifier si l’entrée est haute digitalWrite (ledPin, HIGH); / / turn ON LED playTone (900, 900); delay(100) ;
Si (pirState == faible) {/ / nous avons juste mis Serial.println ("mouvement détecté!"); / / nous voulons seulement imprimer sur le changement de sortie, pas d’État pirState = élevé;}} else {digitalWrite (ledPin, basse); / / tour LED éteinte playTone (0, 0); delay(300) ; si (pirState == HIGH) {/ / nous avons juste tourné de Serial.println (« requête s’est terminée!"); / / nous voulons seulement imprimer sur le changement de sortie, pas d’État pirState = bas;}}} durée en millisecondes pendant laquelle, fréquence en hertz Sub playTone (longue durée, int freq) {durée * = 1000 ; int période = (1,0 / freq) * 1000000 ; long elapsed_time = 0; while (elapsed_time < durée) {digitalWrite(pinSpeaker,HIGH) ; delayMicroseconds(period / 2) ; digitalWrite (pinSpeaker, LOW); delayMicroseconds(period / 2) ; elapsed_time += (période);}}
C’est le code, transférez-le à l’Arduino et regarder la magie arrive !