Table des matières:
Vidéo: Interrupteur de lumière Happy Hack: 3 étapes
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Depuis 2 semaines nous travaillons sur un projet scolaire appelé "Happy hacking". Avec ce projet, nous avons essayé de faire un "Happy hack" pour un espace public. Eh bien, qu'est-ce qu'un « Happy hack » ? Dans notre cas, nous devions faire quelque chose de positif basé sur une frustration. L'utilisation d'Arduino était requise pour ce projet. Le "Happy hack" que nous avons décidé de faire était une installation pour basculer à distance l'interrupteur d'éclairage.
Étape 1: Matériaux:
1x Arduino Uno
1x planche à pain
2x servomoteurs
1x capteur infrarouge
11x fil
1x émetteur infrarouge (tv supprimer)
ruban
Étape 2: Comment se connecter:
Mettez un récepteur infrarouge Arduino dans la planche à pain; en supposant que la face avant du récepteur est le côté avec la sphère dessus:
- Connectez un fil de la « jambe » la plus à gauche au port Arduino uno « 6 ».
- Connectez un fil de la « jambe » du milieu à la rangée « - » de la planche à pain.
- Connectez un fil de la « jambe » la plus à droite à la rangée « + » de la planche à pain.
Assurez-vous qu'un fil se trouve entre la rangée « - » de la planche à pain et un port « terre » sur l'Arduino uno et assurez-vous qu'un fil se trouve entre la rangée « + » de la planche à pain et le port « 5V » sur l'Arduino uno.
Connectez maintenant les 2 servos,
- Les deux avec un fil allant du fil le plus sombre du servo à la rangée « - » sur la planche à pain.
- Les deux avec un fil du fil du milieu sur le servo à la rangée « + » sur la planche à pain.
Maintenant, pour l'un des servos, connectez le fil de servo restant au port Arduino uno '9' et connectez l'autre servo au port Arduino uno '10'.
Étape 3: Coder:
#comprendre //
#comprendre //
#comprendre //
IRrecv irrecv(6);
decode_results résultats;
Servo theServo1;
Servo theServo2;
bool lightOn = faux;
disco bool = faux;
void setup(){
leServo1.attache(10);
leServo2.attache(9);
pinMode (6, ENTREE);
Serial.begin(9600);
irrecv.enableIRIn(); // Démarrer le récepteur
irrecv.blink13(vrai);
}
boucle vide(){
if (irrecv.decode(&results)) {
Serial.println(results.value); // Vous obtenez un résultat différent pour chaque bouton. Vérifiez donc dans le moniteur série quelle est la valeur de vos boutons.
if (results.value == 3772793023){ // Ceci est le résultat de notre bouton d'alimentation (3772793023). C'est probablement différent avec votre télécommande.
lightOn = !lightOn;
si (lumière allumée){
leServo1.write(65);
leServo2.write(15);
}
if(!lightOn){
leServo1.write(95);
leServo2.write(95);
}
retard(1000);
}
if (results.value == 3772839943){ // Ceci est le résultat de notre bouton d'information (37728).
discothèque = !discothèque;
retard(1000);
}
Serial.println(results.value);
irrecv.resume(); // Recevoir la valeur suivante
}
si (discothèque){
lightOn = !lightOn;
si (lumière allumée){
leServo1.write(65);
leServo2.write(15);
}
si(!lumière allumée){
leServo1.write(95);
leServo2.write(90);
}
retard (2000);
}
}