Sisällysluettelo:

Arduino -ovikello: 5 vaihetta
Arduino -ovikello: 5 vaihetta

Video: Arduino -ovikello: 5 vaihetta

Video: Arduino -ovikello: 5 vaihetta
Video: How to solve Most Common Arduino Issues in 5 Minutes? 2024, Heinäkuu
Anonim
Arduino -ovikello
Arduino -ovikello

TARVIKKEET

-2 leipätaulua

-summeri

-hyppyjohdot

-2 arduino/Genino virtakaapelilla

-RF -lähetin ja vastaanotin

-paina nappia

-100 ohmin vastus

Vaihe 1: Toiminto

Tämä projekti on toimiva ovikello, jonka päätoiminto käyttää koodia arduinon ohjelmoimiseen tavalla, jossa lähettimen painike lähettää signaalin vastaanottavaan päähän summerin ja vastaanottimen kanssa, joka käynnistää ovikellon summerin langattomalla yhteydellä.

Vaihe 2: Vaihe 1: Lähetinkortti

Vaihe 1: Lähetinkortti
Vaihe 1: Lähetinkortti

Tämän projektin pitäisi toimia, kun siihen on kytketty 2 leipätaulua ja 2 arduiono/genuinoa. lähettimen levylle liitämme painikkeen, jonka 100 ohmin vastus on kytketty maahan ja johto on kytketty sähköverkkoon. Liitä sitten lähetin leipälevyyn ja kytke painike sekä lähettimeen että arduinoon kuvan osoittamalla tavalla.

Vaihe 3: Vaihe 2: Vastaanotinkortti

Vaihe 2: Vastaanotinkortti
Vaihe 2: Vastaanotinkortti

Vastaanotinkortilla summeri menee. Yhdistä yksi johto maahan vastaanottimen kautta ja kytke johto valitsemasi nastaan, jota voit myöhemmin muokata koodissasi. Kytke vastaanotin leipälautaan ja kytke se arduinoon kuvan mukaisesti.

Vaihe 4: Vaihe 3: Lähettimen koodi

// ask_transmitter.pde

// -* -tila: C ++ -* -

// Yksinkertainen esimerkki RadioHeadin käyttämisestä viestien lähettämiseen

// yksinkertaisella ASK -lähettimellä hyvin yksinkertaisella tavalla.

// Toteuttaa yksisuuntaisen (yksisuuntaisen) lähettimen TX-C1-moduulilla

#sisältää

#include // Ei varsinaisesti käytetty, mutta sen kokoaminen on tarpeen

RH_ASK -ohjain;

// RH_ASK -ohjain (2000, 2, 4, 5); // ESP8266 tai ESP32: älä käytä tappia 11

mitätön asennus ()

{

Sarja.alku (9600); // Vain virheenkorjaus

pinMode (5, TULO);

jos (! driver.init ())

Serial.println ("init epäonnistui");

}

tyhjä silmukka ()

}

jos (digitalRead (5) == HIGH) {

const char *msg = "a";

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

driver.waitPacketSent ();

viive (200);

}

}

Vaihe 5: Vaihe 4: Vastaanottimen koodi

#sisältää

#include // Ei käytetä, mutta sen kokoaminen on välttämätöntä

#include "pitches.h" // lisää vastaava taajuus musiikille

#include "themes.h" // lisää Huomautus ja kesto

RH_ASK -ohjain;

mitätön asennus ()

{

Sarja.alku (9600); // Vain virheenkorjaus

jos (! driver.init ())

Serial.println ("init epäonnistui");

muu

Serial.println ("valmis");

RH_ASK -ohjain;

mitätön asennus ()

{

Sarja.alku (9600); // Vain virheenkorjaus

jos (! driver.init ())

Serial.println ("init epäonnistui");

muu

Serial.println ("valmis");

}

mitätön Play_Pirates ()

{

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

int noteDuration = 1000/Pirates_duration [thisNote]; // muunna kesto aikaviiveeksi

sävy (8, Pirates_note [thisNote], noteDuration);

int pauseBetweenNotes = noteDuration * 1,05; // Tässä 1.05 on tempo, lisää sitä hitaammin

delay (pauseBetweenNotes);

noTone (8); // pysäytä musiikki nastasta 8

}

}

tyhjä silmukka ()

{

uint8_t buf [1];

uint8_t buflen = sizeof (buf);

if (driver.recv (buf, & buflen)) // Ei-esto

{

Serial.println ("Valittu ->" Hän on merirosvo "");

Play_Pirates ();

Serial.println ("stop");

}

}

Suositeltava: