Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
PROVIZII
-2 plăci de pâine
-buzzer
-siruri jumper
-2 arduino / genuino cu cabluri de alimentare
-emitator și receptor de RF
-apasa butonul
-Rezistor de 100 ohmi
Pasul 1: Funcția
Acest proiect este o sonerie de lucru care funcția principală este utilizarea codului pentru a programa arduino într-un mod în care butonul cu transmițătorul trimite un semnal către capătul de recepție cu buzzerul și receptorul care va iniția sunetul buzz al soneriei cu o conexiune wireless.
Pasul 2: Pasul 1: placa emițătorului
Modul în care ar trebui să funcționeze acest proiect este de a avea 2 plăci de pâine și 2 arduiono / autentice conectate la ele. pentru placa emițător conectăm butonul cu rezistorul de 100 ohmi conectat la masă și un fir conectat la alimentare pe placa de măsurare. Apoi conectați transmițătorul la panoul de măsurare și conectați butonul atât la transmițător, cât și la arduino așa cum se arată în imagine.
Pasul 3: Pasul 2: placa receptorului
Pe placa de recepție este locul în care merge soneria. Conectați un fir la masă prin receptor și conectați un fir la un pin la alegere, pe care îl puteți personaliza ulterior în codul dvs. Conectați receptorul la panou și conectați-l la arduino așa cum se arată în imagine.
Pasul 4: Pasul 3: Codul emițătorului
// ask_transmitter.pde
// - * - modul: C ++ - * -
// Exemplu simplu de utilizare a RadioHead pentru a transmite mesaje
// cu un transmițător ASK simplu într-un mod foarte simplu.
// Implementează un transmițător simplex (unidirecțional) cu un modul TX-C1
#include
#include // Nu este de fapt folosit, dar este necesar pentru a compila
Driver RH_ASK;
// RH_ASK driver (2000, 2, 4, 5); // ESP8266 sau ESP32: nu utilizați pinul 11
configurare nulă ()
{
Serial.begin (9600); // Numai depanare
pinMode (5, INPUT);
if (! driver.init ())
Serial.println ("init a eșuat");
}
bucla nulă ()
}
if (digitalRead (5) == HIGH) {
const char * msg = "a";
driver.send ((uint8_t *) msg, strlen (msg));
driver.waitPacketSent ();
întârziere (200);
}
}
Pasul 5: Pasul 4: Codul receptorului
#include
#include // Nu este folosit în realitate, dar este necesar pentru a compila
#include "pitches.h" // adaugă o frecvență echivalentă pentru nota muzicală
#include "themes.h" // adaugă Note vale și durata
Driver RH_ASK;
configurare nulă ()
{
Serial.begin (9600); // Numai depanare
if (! driver.init ())
Serial.println ("init a eșuat");
altceva
Serial.println („făcut”);
Driver RH_ASK;
configurare nulă ()
{
Serial.begin (9600); // Numai depanare
if (! driver.init ())
Serial.println ("init a eșuat");
altceva
Serial.println („făcut”);
}
void Play_Pirates ()
{
for (int thisNote = 0; thisNote <(sizeof (Pirates_note) / sizeof (int)); thisNote ++) {
int noteDuration = 1000 / Pirates_duration [thisNote]; // converti durata în întârziere
ton (8, Pirates_note [thisNote], noteDuration);
int pauseBetweenNotes = noteDuration * 1.05; // Aici 1.05 este tempo, creșteți pentru a reda mai încet
delay (pauseBetweenNotes);
noTone (8); // opriți muzica la pinul 8
}
}
bucla nulă ()
{
uint8_t buf [1];
uint8_t buflen = sizeof (buf);
if (driver.recv (buf, & buflen)) // Non-blocare
{
Serial.println ("Selectat -> 'El este un pirat" ");
Play_Pirates ();
Serial.println ("stop");
}
}