Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
PRIEMONĖS
-2 duonos lentos
-švilpukas
-šuoliniai laidai
-2 arduino/genuino su maitinimo kabeliais
-rf siųstuvas ir imtuvas
-mygtukas
-100 omų rezistorius
1 žingsnis: Funkcija
Šis projektas yra veikiantis durų skambutis, kurio pagrindinė funkcija yra naudojant kodą programuoti arduino taip, kad mygtukas su siųstuvu siunčia signalą į priėmimo galą su garsiniu signalu ir imtuvu, kuris belaidžiu ryšiu inicijuos durų skambučio garsą.
2 žingsnis: 1 žingsnis: siųstuvo plokštė
Šis projektas turėtų veikti, kai prie jo prijungtos 2 duonos lentos ir 2 arduiono/genuinos. siųstuvo plokštėje mes prijungiame mygtuką su 100 omų rezistoriumi, prijungtu prie žemės, ir laidą, prijungtą prie maitinimo plokštės. Tada prijunkite siųstuvą prie duonos lentos ir prijunkite mygtuką prie siųstuvo ir arduino, kaip parodyta paveikslėlyje.
3 veiksmas: 2 veiksmas: imtuvo plokštė
Imtuvo lentoje yra garsinis signalas. Prijunkite vieną laidą prie žemės per imtuvą ir prijunkite laidą prie pasirinkto kaiščio, kurį vėliau galėsite pritaikyti savo kode. Prijunkite imtuvą prie duonos lentos ir prijunkite prie arduino, kaip parodyta paveikslėlyje.
4 žingsnis: 3 žingsnis: siųstuvo kodas
// ask_transmitter.pde
// -* -režimas: C ++ -* -
// Paprastas pavyzdys, kaip naudoti „RadioHead“pranešimams perduoti
// su paprastu ASK siųstuvu labai paprastu būdu.
// Įdiegia vienpusį (vienpusį) siųstuvą su TX-C1 moduliu
#įtraukti
#include // Iš tikrųjų nenaudojamas, bet reikalingas kompiliavimui
RH_ASK vairuotojas;
// RH_ASK tvarkyklė (2000, 2, 4, 5); // ESP8266 arba ESP32: nenaudokite kaiščio 11
negaliojanti sąranka ()
{
Serial.begin (9600); // Tik derinimas
pinMode (5, INPUT);
jei (! driver.init ())
Serial.println ("init nepavyko");
}
tuštumos kilpa ()
}
if (digitalRead (5) == HIGH) {
const char *msg = "a";
driver.send ((uint8_t *) msg, strlen (msg));
driver.waitPacketSent ();
vėlavimas (200);
}
}
5 veiksmas: 4 veiksmas: imtuvo kodas
#įtraukti
#include // Tikrai nenaudojamas, bet reikalingas kompiliavimui
#include "pitches.h" // pridėti lygiavertį muzikos natos dažnį
#include "themes.h" // pridėti pastabą ir trukmę
RH_ASK vairuotojas;
negaliojanti sąranka ()
{
Serial.begin (9600); // Tik derinimas
jei (! driver.init ())
Serial.println ("nepavyko inicijuoti");
Kitas
Serial.println („padaryta“);
RH_ASK vairuotojas;
negaliojanti sąranka ()
{
Serial.begin (9600); // Tik derinimas
jei (! driver.init ())
Serial.println ("nepavyko inicijuoti");
Kitas
Serial.println („padaryta“);
}
void Play_Pirates ()
{
for (int thisNote = 0; thisNote <(sizeof (Pirates_note)/sizeof (int)); thisNote ++) {
int noteDuration = 1000/Pirates_duration [thisNote]; // konvertuoti trukmę į laiko uždelsimą
tonas (8, „Pirates_note [thisNote], noteDuration);
int pauseBetweenNotes = noteDuration * 1.05; // Čia 1.05 yra tempas, padidinkite, kad jį paleistumėte lėčiau
uždelsimas (pauseBetweenNotes);
noTone (8); // sustabdyti muziką 8 kaištyje
}
}
tuštumos kilpa ()
{
uint8_t buf [1];
uint8_t buflen = sizeof (buf);
if (driver.recv (buf, & buflen)) // Neblokuojantis
{
Serial.println ("Pasirinktas -> 'Jis yra piratas" ");
„Play_Pirates“();
Serial.println ("stop");
}
}