Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
TARVIKUD
-2 leiba
-helisignaal
-hüppaja juhtmed
-2 arduino/genuino koos toitekaablitega
-rf saatja ja vastuvõtja
-nupp
-100 oomi takisti
1. samm: funktsioon
See projekt on töötav uksekell, mille põhifunktsioon on koodi kasutamine arduino programmeerimiseks viisil, kus saatjaga vajutatav nupp saadab summeri ja vastuvõtjaga signaali vastuvõtvasse otsa, mis käivitab traadita ühenduse kaudu uksekella sumina..
2. samm: 1. samm: saatjaplaat
See projekt peaks toimima nii, et nendega on ühendatud 2 leivalauda ja 2 arduiono/genuino. saatjaplaadi jaoks ühendame nupu 100 oomi takistiga, mis on ühendatud maandusega, ja juhtmega, mis on ühendatud leivaplaadile. Seejärel ühendage saatja leivaplaadiga ja ühendage nupp nii saatja kui ka arduino külge, nagu pildil näidatud.
3. samm: 2. samm: vastuvõtjaplaat
Vastuvõtjaplaadil on sumin. Ühendage üks juhe vastuvõtja kaudu maandusega ja ühendage juhe teie valitud tihvtiga, mida saate hiljem oma koodis kohandada. Ühendage vastuvõtja leivaplaadiga ja ühendage see arduinoga, nagu pildil näidatud.
4. samm: 3. samm: saatja kood
// ask_transmitter.pde
// -* -režiim: C ++ -* -
// Lihtne näide sellest, kuidas kasutada RadioHeadi sõnumite edastamiseks
// lihtsa ASK saatjaga väga lihtsal viisil.
// Rakendab TX-C1 mooduliga ühepoolse (ühesuunalise) saatja
#kaasake
#include // Tegelikult ei kasutata, kuid on vaja kompileerida
RH_ASK juht;
// RH_ASK draiver (2000, 2, 4, 5); // ESP8266 või ESP32: ärge kasutage tihvti 11
tühine seadistus ()
{
Seriaalne algus (9600); // Ainult silumine
pinMode (5, INPUT);
kui (! driver.init ())
Serial.println ("init ebaõnnestus");
}
tühine tsükkel ()
}
if (digitalRead (5) == HIGH) {
const char *msg = "a";
driver.send ((uint8_t *) msg, strlen (msg));
driver.waitPacketSent ();
viivitus (200);
}
}
Samm: samm 4: vastuvõtja kood
#kaasake
#include // Tegelikult ei kasutata, kuid on vaja kompileerida
#include "pitches.h" // lisage noodile samaväärne sagedus
#include "themes.h" // lisage märkus vale ja kestus
RH_ASK juht;
tühine seadistus ()
{
Seriaalne algus (9600); // Ainult silumine
kui (! driver.init ())
Serial.println ("init ebaõnnestus");
muidu
Serial.println ("tehtud");
RH_ASK juht;
tühine seadistus ()
{
Seriaalne algus (9600); // Ainult silumine
kui (! driver.init ())
Serial.println ("init ebaõnnestus");
muidu
Serial.println ("tehtud");
}
tühine Play_Piraadid ()
{
for (int thisNote = 0; thisNote <(sizeof (Pirates_note)/sizeof (int)); thisNote ++) {
int noteDuration = 1000/Pirates_duration [thisNote]; // teisenda kestus viivituseks
toon (8, Pirates_note [thisNote], noteDuration);
int pauseBetweenNotes = noteDuration * 1.05; // Siin on 1.05 tempo, suurendage seda aeglasemalt esitamiseks
delay (pauseBetweenNotes);
noTone (8); // peata muusika 8. tihvtil
}
}
tühine tsükkel ()
{
uint8_t buf [1];
uint8_t buflen = sizeof (buf);
if (driver.recv (buf, & buflen)) // Mitteblokeeriv
{
Serial.println ("Valitud -> 'Ta on piraat'");
Play_Piraadid ();
Serial.println ("peatus");
}
}