Përmbajtje:

Arduino Doorbell: 5 hapa
Arduino Doorbell: 5 hapa

Video: Arduino Doorbell: 5 hapa

Video: Arduino Doorbell: 5 hapa
Video: Beyond the Basics: Automatic Gatekeeper With IR Sensor And ChatGPT Generated Arduino Code 2024, Korrik
Anonim
Arduino Doorbell
Arduino Doorbell

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

Hapi 1: Bordi i Transmetuesit
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

Hapi 2: Bordi i Marrësit
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");

}

}

Recommended: