Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
DOBAVE
-2 deski za kruh
-brenčalo
-žilne žice
-2 arduino/genuino z napajalnimi kabli
-rf oddajnik in sprejemnik
-pritisni gumb
-100 ohmski upor
1. korak: Funkcija
Ta projekt je delujoč zvonec na vratih, katerega glavna funkcija je uporaba kode za programiranje arduina na način, ko gumb s oddajnikom pošilja signal na sprejemni konec z brenčalnikom in sprejemnikom, ki bo z brezžično povezavo sprožil zvok zvonjenja pri vratih.
2. korak: 1. korak: Oddajniška plošča
Ta projekt naj bi deloval tako, da sta nanj povezani 2 plošči za kruh in 2 arduiono/genuinos. za ploščo oddajnika povežemo gumb s 100 ohmskim uporom, priključenim na maso, in žico, priključeno na napajanje na plošči. Nato oddajnik priključite na ploščo in gumb povežite z oddajnikom in arduinom, kot je prikazano na sliki.
3. korak: 2. korak: sprejemna plošča
Na plošči sprejemnika je zvočnik. Priključite eno žico na ozemljitev prek sprejemnika in žico povežite z zatičem po vaši izbiri, ki ga lahko kasneje prilagodite v kodi. Sprejemnik priključite na mizo in ga priključite na arduino, kot je prikazano na sliki.
4. korak: 3. korak: Koda oddajnika
// ask_transmitter.pde
// -* -način: C ++ -* -
// Preprost primer uporabe RadioHeada za prenos sporočil
// s preprostim oddajnikom ASK na zelo preprost način.
// Izvaja simpleksni (enosmerni) oddajnik z modulom TX-C1
#vključi
#include // V resnici se ne uporablja, vendar je potrebno za sestavljanje
Gonilnik RH_ASK;
// gonilnik RH_ASK (2000, 2, 4, 5); // ESP8266 ali ESP32: ne uporabljajte pin 11
void setup ()
{
Serial.begin (9600); // Samo odpravljanje napak
pinMode (5, INPUT);
if (! driver.init ())
Serial.println ("init failed");
}
void loop ()
}
if (digitalRead (5) == HIGH) {
const char *msg = "a";
driver.send ((uint8_t *) msg, strlen (msg));
driver.waitPacketSent ();
zamuda (200);
}
}
5. korak: 4. korak: Koda sprejemnika
#vključi
#include // V resnici se ne uporablja, vendar je potrebno za sestavljanje
#include "pitches.h" // dodamo enakovredno frekvenco za glasbeno noto
#include "themes.h" // dodaj vrednost opombe in trajanje
Gonilnik RH_ASK;
void setup ()
{
Serial.begin (9600); // Samo odpravljanje napak
if (! driver.init ())
Serial.println ("init failed");
drugače
Serial.println ("končano");
Gonilnik RH_ASK;
void setup ()
{
Serial.begin (9600); // Samo odpravljanje napak
if (! driver.init ())
Serial.println ("init failed");
drugače
Serial.println ("končano");
}
void Play_Pirates ()
{
for (int thisNote = 0; thisNote <(sizeof (Pirates_note)/sizeof (int)); thisNote ++) {
int noteDuration = 1000/Pirates_duration [thisNote]; // pretvori trajanje v časovno zakasnitev
ton (8, Pirates_note [thisNote], noteDuration);
int pauseBetweenNotes = noteDuration * 1,05; // Tu je 1,05 tempo, za počasnejše predvajanje povečajte
zakasnitev (pauseBetweenNotes);
noTone (8); // ustavimo glasbo na pin 8
}
}
void loop ()
{
uint8_t buf [1];
uint8_t buflen = sizeof (buf);
if (driver.recv (buf, & buflen)) // Ne blokira
{
Serial.println ("Izbrano ->" On je pirat "");
Play_Pirates ();
Serial.println ("stop");
}
}