Talaan ng mga Nilalaman:

Arduino Doorbell: 5 Mga Hakbang
Arduino Doorbell: 5 Mga Hakbang

Video: Arduino Doorbell: 5 Mga Hakbang

Video: Arduino Doorbell: 5 Mga Hakbang
Video: Doorbell circuit using 555 timer | Breadboard projects 2024, Hulyo
Anonim
Arduino Doorbell
Arduino Doorbell

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

Hakbang 1: Lupon ng Transmitter
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

Hakbang 2: Lupon ng Tagatanggap
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");

}

}

Inirerekumendang: