Étape 10 : Le matériel (dur)
Cela m’a aidé à démarrer.
La logique de base du programme était ceci :
Quelqu'un pousse la sonnette, il active un relais qui sonne à la porte et active l’Arduino.
L’Arduino puis :
1) ignore toutes les commandes d’activation pendant 4 minutes (dans le cas où quelqu'un sonne à la porte encore une fois)
2) démarre une commande Applescript sur l’ordinateur Macintosh hôte
3) active un deuxième relais (pour les futures idées)
4) se réinitialise après 4 minutes et remonte sur stand-by
Voici le code :
int ledPin = 13 ; LED connectée à la broche numérique 13
int potPin = 0 ; fil de sonnette de porte blanc sur broche analogique 0
int val = 0 ;
long temps = 0 ;
longtemps debounce = 1000 ;
void setup() {}
pinMode (ledPin, sortie) ; définit la broche numérique en sortie
Serial.Begin(9600) ; ouvrir un port série à 9600 baud
digitalWrite (14 + potPin, HIGH) ; mettre pullup sur la broche analogique
(analogique 0 = numérique 14, a1 = d15, etc.)
}
void loop() {}
Val = analogRead(potPin) ;
Si (val < 100) {/ / si le circuit est complété
(pour moi, il supprime généralement de 1023 à ~ 15 lorsque « sonne »)
Si (millis ()-temps > debounce) {}
Serial.println("A") ;
Delay(500) ;
Serial.println("A") ;
Delay(500) ;
Serial.println("A") ;
digitalWrite (ledPin, HIGH) ; définit la LED sur
Delay(120000) ; // ... 240000 = 4 mins
digitalWrite (ledPin, basse) ; et le voyant s’éteigne
temps = millis() ;
}
}
}
Remarque : programme The Appleshare Proxy acceptait seulement chaque troisième « A » de mon Arduino, donc j’ai envoyer trois et le jury répond désormais instantanément sans erreur, (je suis sûr que c’est code bâclée, mais HEY, ça marche!) Le « retard » est où le Conseil ignore toutes les touches, donc le programme ne redémarre pas si quelqu'un garde sonnant.