Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-13 06:58
SUMUSUNOD
-2 mga board ng tinapay
-buzzer
-jumper wires
-2 arduino / genuino na may mga kable ng kuryente
-Rf transmiter at reciever
-push button
-100 ohm risistor
Hakbang 1: Pag-andar
Ang proyektong ito ay isang gumaganang doorbell kung saan ang pangunahing pag-andar ay gumagamit ng code upang mai-program ang arduino sa isang paraan kung saan ang pindutan ng push na may transmiter ay nagpapadala ng isang senyas sa pagtanggap ng dulo gamit ang buzzer at tatanggap na magpapasimula ng tunog ng doorbell buzz na may isang wireless na koneksyon.
Hakbang 2: Hakbang 1: Lupon ng Transmitter
Paano gumagana ang proyektong ito ay dapat magkaroon ng 2 tinapay board at 2 arduiono / genuinos na naka-wire sa kanila. para sa transmitter board ikinonekta namin ang pindutan ng push na may 100 ohm risistor na nakakonekta sa lupa at isang kawad na konektado sa kuryente sa breadboard. Pagkatapos ay ikonekta ang transmitter sa breadboard at i-wire ang pindutan sa parehong transmiter at arduino tulad ng ipinakita sa larawan.
Hakbang 3: Hakbang 2: Lupon ng Tagatanggap
Sa receiver board ay kung saan napupunta ang buzzer. Ikonekta ang isang kawad sa lupa sa pamamagitan ng tatanggap at ikonekta ang isang kawad sa isang pin na iyong pinili na maaari mong ipasadya sa paglaon sa iyong code. Ikonekta ang tatanggap sa breadboard at i-wire ito sa arduino tulad ng ipinakita sa larawan.
Hakbang 4: Hakbang 3: Transmitter Code
// ask_transmitter.pde
// - * - mode: C ++ - * -
// Simpleng halimbawa ng kung paano gamitin ang RadioHead upang makapagpadala ng mga mensahe
// na may isang simpleng ASK transmitter sa isang napaka-simpleng paraan.
// Nagpapatupad ng isang simplex (one-way) transmitter na may isang module na TX-C1
# isama
#include // Hindi talaga ginamit ngunit kailangan upang makatipon
RH_ASK driver;
// RH_ASK driver (2000, 2, 4, 5); // ESP8266 o ESP32: huwag gumamit ng pin 11
walang bisa ang pag-setup ()
{
Serial.begin (9600); // Debugging lang
pinMode (5, INPUT);
kung (! driver.init ())
Serial.println ("nabigo ang init");
}
walang bisa loop ()
}
kung (digitalRead (5) == TAAS) {
const char * msg = "a";
driver.send ((uint8_t *) msg, strlen (msg));
driver.waitPacketSent ();
pagkaantala (200);
}
}
Hakbang 5: Hakbang 4: Code ng Tatanggap
# isama
#include // Hindi aktwal na ginamit ngunit kailangan upang makatipon
# isama ang "mga pitches.h" // magdagdag ng Katumbas na dalas para sa tala ng musikal
# isama ang "mga tema.h" // idagdag ang Tala ng vale at tagal
RH_ASK driver;
walang bisa ang pag-setup ()
{
Serial.begin (9600); // Debugging lang
kung (! driver.init ())
Serial.println ("nabigo ang init");
iba pa
Serial.println ("tapos");
RH_ASK driver;
walang bisa ang pag-setup ()
{
Serial.begin (9600); // Debugging lang
kung (! driver.init ())
Serial.println ("nabigo ang init");
iba pa
Serial.println ("tapos");
}
walang bisa ang Play_Pirates ()
{
para sa (int thisNote = 0; thisNote <(sizeof (Pirates_note) / sizeof (int)); thisNote ++) {
int noteDuration = 1000 / Pirates_duration [thisNote]; // i-convert ang tagal sa pagkaantala ng oras
tono (8, Pirates_note [thisNote], noteDuration);
int pauseBetweenNotes = noteDuration * 1.05; // Narito ang 1.05 ay tempo, taasan upang i-play ito nang mas mabagal
antala (pauseBet pagitanNotes);
noTone (8); // ihinto ang musika sa pin 8
}
}
walang bisa loop ()
{
uint8_t buf [1];
uint8_t buflen = sizeof (buf);
kung (driver.recv (buf, & buflen)) // Non-block
{
Serial.println ("Napili -> 'Siya ay isang Pirata'");
Play_Pirates ();
Serial.println ("ihinto");
}
}