Sisukord:

Arduino uksekell: 5 sammu
Arduino uksekell: 5 sammu

Video: Arduino uksekell: 5 sammu

Video: Arduino uksekell: 5 sammu
Video: Touchless Door Bell #shorts 2024, November
Anonim
Arduino uksekell
Arduino uksekell

TARVIKUD

-2 leiba

-helisignaal

-hüppaja juhtmed

-2 arduino/genuino koos toitekaablitega

-rf saatja ja vastuvõtja

-nupp

-100 oomi takisti

1. samm: funktsioon

See projekt on töötav uksekell, mille põhifunktsioon on koodi kasutamine arduino programmeerimiseks viisil, kus saatjaga vajutatav nupp saadab summeri ja vastuvõtjaga signaali vastuvõtvasse otsa, mis käivitab traadita ühenduse kaudu uksekella sumina..

2. samm: 1. samm: saatjaplaat

1. samm: saatjaplaat
1. samm: saatjaplaat

See projekt peaks toimima nii, et nendega on ühendatud 2 leivalauda ja 2 arduiono/genuino. saatjaplaadi jaoks ühendame nupu 100 oomi takistiga, mis on ühendatud maandusega, ja juhtmega, mis on ühendatud leivaplaadile. Seejärel ühendage saatja leivaplaadiga ja ühendage nupp nii saatja kui ka arduino külge, nagu pildil näidatud.

3. samm: 2. samm: vastuvõtjaplaat

2. samm: vastuvõtjaplaat
2. samm: vastuvõtjaplaat

Vastuvõtjaplaadil on sumin. Ühendage üks juhe vastuvõtja kaudu maandusega ja ühendage juhe teie valitud tihvtiga, mida saate hiljem oma koodis kohandada. Ühendage vastuvõtja leivaplaadiga ja ühendage see arduinoga, nagu pildil näidatud.

4. samm: 3. samm: saatja kood

// ask_transmitter.pde

// -* -režiim: C ++ -* -

// Lihtne näide sellest, kuidas kasutada RadioHeadi sõnumite edastamiseks

// lihtsa ASK saatjaga väga lihtsal viisil.

// Rakendab TX-C1 mooduliga ühepoolse (ühesuunalise) saatja

#kaasake

#include // Tegelikult ei kasutata, kuid on vaja kompileerida

RH_ASK juht;

// RH_ASK draiver (2000, 2, 4, 5); // ESP8266 või ESP32: ärge kasutage tihvti 11

tühine seadistus ()

{

Seriaalne algus (9600); // Ainult silumine

pinMode (5, INPUT);

kui (! driver.init ())

Serial.println ("init ebaõnnestus");

}

tühine tsükkel ()

}

if (digitalRead (5) == HIGH) {

const char *msg = "a";

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

driver.waitPacketSent ();

viivitus (200);

}

}

Samm: samm 4: vastuvõtja kood

#kaasake

#include // Tegelikult ei kasutata, kuid on vaja kompileerida

#include "pitches.h" // lisage noodile samaväärne sagedus

#include "themes.h" // lisage märkus vale ja kestus

RH_ASK juht;

tühine seadistus ()

{

Seriaalne algus (9600); // Ainult silumine

kui (! driver.init ())

Serial.println ("init ebaõnnestus");

muidu

Serial.println ("tehtud");

RH_ASK juht;

tühine seadistus ()

{

Seriaalne algus (9600); // Ainult silumine

kui (! driver.init ())

Serial.println ("init ebaõnnestus");

muidu

Serial.println ("tehtud");

}

tühine Play_Piraadid ()

{

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

int noteDuration = 1000/Pirates_duration [thisNote]; // teisenda kestus viivituseks

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

int pauseBetweenNotes = noteDuration * 1.05; // Siin on 1.05 tempo, suurendage seda aeglasemalt esitamiseks

delay (pauseBetweenNotes);

noTone (8); // peata muusika 8. tihvtil

}

}

tühine tsükkel ()

{

uint8_t buf [1];

uint8_t buflen = sizeof (buf);

if (driver.recv (buf, & buflen)) // Mitteblokeeriv

{

Serial.println ("Valitud -> 'Ta on piraat'");

Play_Piraadid ();

Serial.println ("peatus");

}

}

Soovitan: