Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
PROVISIONS
-2 planches à pain
-avertisseur sonore
-fils de connexion
-2 arduino/genuino avec câbles d'alimentation
-émetteur et récepteur RF
-bouton poussoir
-100 ohms résistance
Étape 1: Fonction
Ce projet est une sonnette fonctionnelle dont la fonction principale utilise un code pour programmer l'arduino de manière à ce que le bouton-poussoir avec l'émetteur envoie un signal à l'extrémité de réception avec le buzzer et le récepteur qui initiera le son de la sonnette avec une connexion sans fil.
Étape 2: Étape 1: Carte émettrice
La façon dont ce projet est censé fonctionner est d'avoir 2 planches à pain et 2 arduiono/genuinos qui y sont connectés. pour la carte émettrice, nous connectons le bouton poussoir avec la résistance de 100 ohms connectée à la terre et un fil connecté à l'alimentation sur la planche à pain. Ensuite, connectez l'émetteur à la maquette et câblez le bouton à la fois à l'émetteur et à l'arduino comme indiqué sur l'image.
Étape 3: Étape 2: Carte du récepteur
Sur la carte du récepteur est l'endroit où le buzzer va. Connectez un fil à la terre via le récepteur et connectez un fil à une broche de votre choix que vous pourrez ensuite personnaliser dans votre code. Connectez le récepteur à la maquette et câblez-le à l'arduino comme indiqué sur l'image.
Étape 4: Étape 3: Code de l'émetteur
// ask_transmitter.pde
// -*- mode: C++ -*-
// Exemple simple d'utilisation de RadioHead pour transmettre des messages
// avec un simple émetteur ASK d'une manière très simple.
// Implémente un émetteur simplex (unidirectionnel) avec un module TX-C1
#comprendre
#include // Pas réellement utilisé mais nécessaire pour compiler
pilote RH_ASK;
// Pilote RH_ASK (2000, 2, 4, 5); // ESP8266 ou ESP32: ne pas utiliser la broche 11
void setup()
{
Serial.begin(9600); // Débogage uniquement
pinMode(5, ENTREE);
si (!driver.init())
Serial.println("échec de l'initialisation");
}
boucle vide()
}
if(digitalRead(5)==HIGH){
const char *msg = "a";
driver.send((uint8_t *)msg, strlen(msg));
driver.waitPacketSent();
retard (200);
}
}
Étape 5: Étape 4: Code du récepteur
#comprendre
#include // Non utilisé actuellement mais nécessaire à la compilation
#include "pitchs.h" //ajout d'une fréquence équivalente pour la note musicale
#include "themes.h" //ajout de la valeur et de la durée de la note
pilote RH_ASK;
void setup()
{
Serial.begin(9600); // Débogage uniquement
si (!driver.init())
Serial.println("échec de l'initialisation");
autre
Serial.println("fait");
pilote RH_ASK;
void setup()
{
Serial.begin(9600); // Débogage uniquement
si (!driver.init())
Serial.println("échec de l'initialisation");
autre
Serial.println("fait");
}
void Play_Pirates()
{
for (int thisNote = 0; thisNote < (sizeof(Pirates_note)/sizeof(int)); thisNote++) {
int noteDuration = 1000 / Pirates_duration[thisNote]; // convertir la durée en délai
tone(8, Pirates_note[thisNote], noteDuration);
int pauseBetweenNotes = noteDuration * 1,05; //Ici 1,05 est le tempo, augmentez pour le jouer plus lentement
delay(pauseBetweenNotes);
pas de tonalité(8); // arrête la musique sur la broche 8
}
}
boucle vide()
{
uint8_t buf[1];
uint8_t buflen = sizeof(buf);
if (driver.recv(buf, &buflen)) // Non bloquant
{
Serial.println("Sélectionné -> 'C'est un pirate' ");
Play_Pirates();
Serial.println("stop");
}
}