Isi kandungan:

Bel Arduino: 5 Langkah
Bel Arduino: 5 Langkah

Video: Bel Arduino: 5 Langkah

Video: Bel Arduino: 5 Langkah
Video: Digital Clock Using Arduino ||TINKERCAD 2024, Julai
Anonim
Arduino Doorbell
Arduino Doorbell

BEKALAN

-2 papan roti

-pembeli

-kabel jumper

-2 arduino / genuino dengan kabel kuasa

-rf pemancar dan penerima

-tekan butang

-100 perintang ohm

Langkah 1: Fungsi

Projek ini adalah loceng pintu berfungsi yang fungsi utamanya menggunakan kod untuk memprogram arduino dengan cara yang menekan butang dengan pemancar mengirimkan isyarat ke hujung penerima dengan bel dan penerima yang akan memulakan bunyi bel pintu dengan sambungan tanpa wayar.

Langkah 2: Langkah 1: Papan Pemancar

Langkah 1: Papan Pemancar
Langkah 1: Papan Pemancar

Cara kerja projek ini adalah mempunyai 2 papan roti dan 2 arduiono / genuinos yang disambungkan kepada mereka. untuk papan pemancar kami menyambungkan butang tekan dengan perintang 100 ohm yang disambungkan ke tanah dan wayar disambungkan ke kuasa pada papan roti. Kemudian sambungkan pemancar ke papan roti dan kawat butang ke pemancar dan arduino seperti yang ditunjukkan dalam gambar.

Langkah 3: Langkah 2: Papan Penerima

Langkah 2: Papan Penerima
Langkah 2: Papan Penerima

Di papan penerima adalah tempat pembesar suara pergi. Sambungkan satu wayar ke ground melalui penerima dan sambungkan wayar ke pin pilihan anda yang kemudian anda boleh sesuaikan dalam kod anda. Sambungkan penerima ke papan roti dan pasangkannya ke arduino seperti yang ditunjukkan dalam gambar.

Langkah 4: Langkah 3: Kod Pemancar

// ask_transmitter.pde

// - * - mod: C ++ - * -

// Contoh ringkas cara menggunakan RadioHead untuk menghantar mesej

// dengan pemancar ASK sederhana dengan cara yang sangat mudah.

// Melaksanakan pemancar simplex (sehala) dengan modul TX-C1

#sertakan

#include // Tidak benar-benar digunakan tetapi diperlukan untuk menyusun

Pemacu RH_ASK;

// Pemacu RH_ASK (2000, 2, 4, 5); // ESP8266 atau ESP32: jangan gunakan pin 11

persediaan tidak sah ()

{

Serial.begin (9600); // Menyahpepijat sahaja

pinMode (5, INPUT);

jika (! driver.init ())

Serial.println ("init gagal");

}

gelung kosong ()

}

jika (digitalRead (5) == TINGGI) {

const char * msg = "a";

driver.send ((uint8_t *) msg, strlen (msg));

driver.waitPacketSent ();

kelewatan (200);

}

}

Langkah 5: Langkah 4: Kod Penerima

#sertakan

#include // Tidak digunakan tetapi perlu disusun

#include "pitches.h" // tambahkan frekuensi yang setara untuk nota muzik

#include "themes.h" // tambahkan vale dan tempoh Catatan

Pemacu RH_ASK;

persediaan tidak sah ()

{

Serial.begin (9600); // Menyahpepijat sahaja

jika (! driver.init ())

Serial.println ("init gagal");

yang lain

Serial.println ("selesai");

Pemacu RH_ASK;

persediaan tidak sah ()

{

Serial.begin (9600); // Menyahpepijat sahaja

jika (! driver.init ())

Serial.println ("init gagal");

yang lain

Serial.println ("selesai");

}

batal Play_Pirates ()

{

untuk (int thisNote = 0; thisNote <(sizeof (Pirates_note) / sizeof (int)); thisNote ++) {

int noteDuration = 1000 / Pirates_duration [thisNote]; // menukar tempoh menjadi kelewatan masa

nada (8, Pirates_note [thisNote], noteDuration);

int pauseBetweenNotes = noteDuration * 1.05; // Di sini 1.05 adalah tempo, tingkatkan untuk memainkannya lebih lambat

kelewatan (pauseBetweenNotes);

noTone (8); // hentikan muzik pada pin 8

}

}

gelung kosong ()

{

uint8_t buf [1];

uint8_t buflen = sizeof (buf);

jika (driver.recv (buf, & buflen)) // Tidak menyekat

{

Serial.println ("Terpilih -> 'Dia adalah Lanun'");

Play_Pirates ();

Serial.println ("berhenti");

}

}

Disyorkan: