Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
TƏCHİZAT
-2 ədəd çörək lövhəsi
-buzzer
-yüksək tellər
-2 arduino/genuino elektrik kabelləri ilə
-rf ötürücü və qəbuledici
-düyməni basmaq
-100 ohm müqavimət
Addım 1: funksiya
Bu layihə, əsas funksiyanın arduino proqramlaşdırmaq üçün kodu istifadə edərək işləyən bir qapı zəngidir ki, ötürücü ilə işləyən düymə, siqnal və qəbuledici ilə qəbuledici ucuna siqnal göndərir ki, bu da simsiz əlaqə ilə qapı zəngi səsi eşidəcəkdir..
Adım 2: Adım 1: Verici lövhəsi
Bu layihənin necə işləyəcəyi 2 çörək lövhəsi və onlara 2 arduiono/genuinosun bağlanmasıdır. verici lövhəsi üçün basma düyməsini yerə qoşulmuş 100 ohm müqavimət və çörək taxtasındakı gücə qoşulmuş bir tel ilə bağlayırıq. Sonra vericini çörək taxtasına qoşun və düyməni həm vericiyə, həm də şəkildə göstərildiyi kimi arduinoya bağlayın.
Adım 3: Adım 2: Alıcı lövhəsi
Alıcı lövhədə səsin getdiyi yerdir. Alıcı vasitəsilə bir teli yerə bağlayın və daha sonra kodunuzda düzəldə biləcəyiniz bir pinlə bir tel bağlayın. Alıcını çörək taxtasına qoşun və şəkildə göstərildiyi kimi arduinoya bağlayın.
Addım 4: Adım 3: Verici Kodu
// ask_transmitter.pde
// -* -rejimi: C ++ -* -
// Mesajları ötürmək üçün RadioHead -dan necə istifadə olunacağına dair sadə bir nümunə
// çox sadə bir şəkildə sadə bir ASK ötürücü ilə.
// TX-C1 modulu olan sadə (birtərəfli) ötürücü tətbiq edir
#daxil edin
#include // Əslində istifadə olunmayıb, amma tərtib etmək lazımdır
RH_ASK sürücüsü;
// RH_ASK sürücüsü (2000, 2, 4, 5); // ESP8266 və ya ESP32: pin 11 istifadə etməyin
boş quraşdırma ()
{
Serial.begin (9600); // Yalnız ayıklama
pinMode (5, GİRİŞ);
əgər (! sürücü.init ())
Serial.println ("başlanğıc uğursuz oldu");
}
boşluq döngəsi ()
}
əgər (digitalRead (5) == YÜKSEK) {
const char *msg = "a";
driver.send ((uint8_t *) msg, strlen (msg));
sürücü.waitPacketSent ();
gecikmə (200);
}
}
Addım 5: Adım 4: Alıcı Kodu
#daxil edin
#include // Həqiqətən istifadə olunmayıb, amma tərtib etmək lazımdır
#include "pitches.h" // musiqi notu üçün ekvivalent tezlik əlavə edin
#include "themes.h" // Qeyd dəyərini və müddətini əlavə edin
RH_ASK sürücüsü;
boş quraşdırma ()
{
Serial.begin (9600); // Yalnız ayıklama
əgər (! sürücü.init ())
Serial.println ("başlanğıc uğursuz oldu");
başqa
Serial.println ("bitdi");
RH_ASK sürücüsü;
boş quraşdırma ()
{
Serial.begin (9600); // Yalnız ayıklama
əgər (! sürücü.init ())
Serial.println ("başlanğıc uğursuz oldu");
başqa
Serial.println ("bitdi");
}
boş Play_Pirates ()
{
for (int thisNote = 0; thisNote <(sizeof (Pirates_note)/sizeof (int)); thisNote ++) {
int noteDuration = 1000/Pirates_duration [thisNote]; // müddəti gecikməyə çevirin
ton (8, Pirates_note [thisNote], noteDuration);
int pauseBetweenNotes = noteDuration * 1.05; // Burada 1.05 tempdir, daha yavaş oynamaq üçün artırın
gecikmə (pauseBetweenNotes);
noTone (8); // 8 nömrəli musiqini dayandırın
}
}
boşluq döngəsi ()
{
uint8_t buf [1];
uint8_t buflen = sizeof (buf);
if (driver.recv (buf, & buflen)) // Bloklanmır
{
Serial.println ("Seçilmiş -> 'O, Piratdır");
Play_Pirates ();
Serial.println ("dayan");
}
}