Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
DODÁVKY
-2 chlebové desky
-bzučák
-propojovací vodiče
-2 arduino/genuino s napájecími kabely
-rf vysílač a přijímač
-stiskněte tlačítko
-100 ohmový odpor
Krok 1: Funkce
Tento projekt je funkční zvonek, jehož hlavní funkcí je pomocí kódu programovat arduino tak, že tlačítko s vysílačem vyšle signál na přijímací konec bzučákem a přijímačem, který spustí bezdrátový zvuk zvonku.
Krok 2: Krok 1: Deska vysílače
Tento projekt by měl fungovat tak, že k nim budou připojeny 2 prkénka a 2 arduiono/genuinos. pro desku vysílače připojíme tlačítko s odporem 100 ohmů připojeným k zemi a vodičem připojeným k napájení na desce. Poté připojte vysílač k prkénku a připojte tlačítko k vysílači a arduinu, jak je znázorněno na obrázku.
Krok 3: Krok 2: Deska přijímače
Na desce přijímače jde bzučák. Připojte jeden vodič k zemi přes přijímač a připojte vodič k vývodu, který si zvolíte a který můžete později upravit ve svém kódu. Připojte přijímač k prkénku a zapojte jej do arduina, jak je znázorněno na obrázku.
Krok 4: Krok 3: Kód vysílače
// ask_transmitter.pde
// -* -režim: C ++ -* -
// Jednoduchý příklad toho, jak používat RadioHead k přenosu zpráv
// jednoduchým vysílačem ASK velmi jednoduchým způsobem.
// Implementuje simplexní (jednosměrný) vysílač s modulem TX-C1
#zahrnout
#include // Ve skutečnosti se nepoužívá, ale je potřeba ke kompilaci
Ovladač RH_ASK;
// Ovladač RH_ASK (2000, 2, 4, 5); // ESP8266 nebo ESP32: nepoužívejte pin 11
neplatné nastavení ()
{
Serial.begin (9600); // Pouze ladění
pinMode (5, VSTUP);
if (! driver.init ())
Serial.println ("inicializace se nezdařila");
}
prázdná smyčka ()
}
if (digitalRead (5) == HIGH) {
const char *msg = "a";
driver.send ((uint8_t *) msg, strlen (msg));
driver.waitPacketSent ();
zpoždění (200);
}
}
Krok 5: Krok 4: Kód přijímače
#zahrnout
#include // Ve skutečnosti se nepoužívá, ale je potřeba ke kompilaci
#include "pitches.h" // přidání ekvivalentní frekvence pro hudební notu
#include "themes.h" // přidání hodnoty poznámky a doby trvání
Ovladač RH_ASK;
neplatné nastavení ()
{
Serial.begin (9600); // Pouze ladění
if (! driver.init ())
Serial.println ("inicializace se nezdařila");
jiný
Serial.println („hotovo“);
Ovladač RH_ASK;
neplatné nastavení ()
{
Serial.begin (9600); // Pouze ladění
if (! driver.init ())
Serial.println ("inicializace se nezdařila");
jiný
Serial.println („hotovo“);
}
neplatné Play_Pirates ()
{
for (int thisNote = 0; thisNote <(sizeof (Pirates_note)/sizeof (int)); thisNote ++) {
int noteDuration = 1000/Pirates_duration [thisNote]; // převede trvání na časové zpoždění
tón (8, Pirates_note [thisNote], noteDuration);
int pauseBetweenNotes = noteDuration * 1,05; // Tady je tempo 1,05, zvyšte ho a hrajte pomaleji
zpoždění (pauseBetweenNotes);
noTone (8); // zastavení hudby na pinu 8
}
}
prázdná smyčka ()
{
uint8_t buf [1];
uint8_t buflen = sizeof (buf);
if (driver.recv (buf, & buflen)) // Neblokující
{
Serial.println ("Vybráno -> 'Je to pirát'");
Play_Pirates ();
Serial.println ("stop");
}
}