Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
FURNIZIM
-2 dërrasa buke
-zile
-tela kërcyes
-2 arduino/genuino me kabllo energjie
-rf transmetues dhe marrës
-shtyp butonin
Rezistencë -100 ohm
Hapi 1: Funksioni
Ky projekt është një zile pune e cila funksioni kryesor është përdorimi i kodit për të programuar arduino -n në një mënyrë ku butoni i shtypjes me transmetuesin të dërgojë një sinjal në fundin e marrjes me zile dhe marrës i cili do të inicojë zhurmën e ziles së derës me një lidhje pa tel Me
Hapi 2: Hapi 1: Bordi i Transmetuesit
Si supozohet të funksionojë ky projekt është të kesh 2 tabela buke dhe 2 arduiono/genuino të lidhura me to. për tabelën e transmetuesit lidhim butonin e shtytjes me rezistencën 100 ohm të lidhur me tokën dhe një tel të lidhur me energjinë në pllakën e bukës. Pastaj lidhni transmetuesin në tabelën e bukës dhe lidhni butonin me transmetuesin dhe arduinon siç tregohet në figurë.
Hapi 3: Hapi 2: Bordi i Marrësit
Në tabelën e marrësit është vendi ku shkon zilja. Lidhni një tel me tokëzimin përmes marrësit dhe lidhni një tel me një kunj sipas dëshirës tuaj të cilën më vonë mund ta personalizoni në kodin tuaj. Lidheni marrësin me tabelën e bukës dhe lidheni atë me arduino siç tregohet në figurë.
Hapi 4: Hapi 3: Kodi i Transmetuesit
// ask_transmitter.pde
// -* -mënyra: C ++ -* -
// Shembull i thjeshtë se si të përdorni RadioHead për të transmetuar mesazhe
// me një transmetues të thjeshtë ASK në një mënyrë shumë të thjeshtë.
// Zbaton një transmetues simplex (një drejtim) me një modul TX-C1
#përfshi
#includ // Nuk përdoret në të vërtetë por nevojitet për përpilim
Shoferi RH_ASK;
// Shoferi RH_ASK (2000, 2, 4, 5); // ESP8266 ose ESP32: mos përdorni pin 11
void setup ()
{
Serial.filloj (9600); // Vetëm korrigjimi
pinMode (5, INPUT);
nëse (! driver.init ())
Serial.println ("init dështoi");
}
lak void ()
}
nëse (digitalRead (5) == LART HIGH) {
const char *msg = "a";
driver.send ((uint8_t *) msg, strlen (msg));
driver.waitPacketSent ();
vonesë (200);
}
}
Hapi 5: Hapi 4: Kodi i Marrësit
#përfshi
#includ // Nuk përdoret në të vërtetë por nevojitet për përpilim
#include "pitches.h" // shtoni frekuencë ekuivalente për notën muzikore
#përfshini "temat.h" // shtoni vale dhe kohëzgjatjen e Shënimit
Shoferi RH_ASK;
void setup ()
{
Serial.filloj (9600); // Vetëm korrigjimi
nëse (! driver.init ())
Serial.println ("init dështoi");
tjeter
Serial.println ("bërë");
Shoferi RH_ASK;
void setup ()
{
Serial.filloj (9600); // Vetëm korrigjimi
nëse (! driver.init ())
Serial.println ("init dështoi");
tjeter
Serial.println ("bërë");
}
pavlefshme Play_Pirates ()
{
për (int thisNote = 0; thisNote <(sizeof (Pirates_note)/sizeof (int)); thisNote ++) {
int noteDuration = 1000/Pirates_duration [thisNote]; // konvertoni kohëzgjatjen në vonesë kohore
toni (8, Shënimi Pirates [thisNote], noteDuration);
int pauseBetweenNotes = shënimKohëzgjatja * 1.05; // Këtu 1.05 është tempo, rriteni për ta luajtur më ngadalë
vonesë (pauzëNë mes Shënimeve);
noTone (8); // ndal muzikën në pin 8
}
}
lak void ()
{
uint8_t buf [1];
uint8_t buflen = madhësia (buf);
if (driver.recv (buf, & buflen)) // Jo-bllokimi
{
Serial.println ("Zgjedhur -> 'Ai është Pirat'");
Luaj_Pirates ();
Serial.println ("ndal");
}
}