INHOUDSOPGAWE:

Arduino deurklokkie: 5 stappe
Arduino deurklokkie: 5 stappe

Video: Arduino deurklokkie: 5 stappe

Video: Arduino deurklokkie: 5 stappe
Video: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, Julie
Anonim
Arduino deurklokkie
Arduino deurklokkie

VOORSIENINGS

-2 broodborde

-bizzer

-jumper drade

-2 arduino/genuino met kragkabels

-rf sender en ontvanger

-druk knoppie

-100 ohm weerstand

Stap 1: Funksie

Hierdie projek is 'n werkende deurklokkie, met die hooffunksie die kode om die arduino te programmeer op 'n manier waarop die drukknop met die sender 'n sein na die ontvangende kant stuur met die gonser en ontvanger, wat die gonsgeluid van die deurklokkie sal begin met 'n draadlose verbinding.

Stap 2: Stap 1: Senderbord

Stap 1: Senderbord
Stap 1: Senderbord

Hoe hierdie projek veronderstel is om te werk, is dat 2 broodborde en 2 arduiono/genuinos daaraan gekoppel is. vir die senderbord verbind ons die drukknoppie met die 100 ohm weerstand wat op die grond gekoppel is en 'n draad wat aan die krag op die broodbord gekoppel is. Koppel dan die sender aan die broodbord en draai die knoppie na beide die sender en die arduino, soos op die foto getoon.

Stap 3: Stap 2: Ontvangerbord

Stap 2: Ontvangerbord
Stap 2: Ontvangerbord

Op die ontvangerbord is waar die zoemer gaan. Koppel een draad aan die aarde deur die ontvanger en koppel 'n draad aan 'n pen van u keuse wat u later in u kode kan aanpas. Koppel die ontvanger aan die broodbord en dra dit na die arduino soos op die foto getoon.

Stap 4: Stap 3: Senderkode

// ask_transmitter.pde

// -* -modus: C ++ -* -

// Eenvoudige voorbeeld van hoe om RadioHead te gebruik om boodskappe oor te dra

// met 'n eenvoudige ASK -sender op 'n baie eenvoudige manier.

// Implementeer 'n eenvoudige (eenrigting) sender met 'n TX-C1-module

#insluit

#include // Nie eintlik gebruik nie, maar moet opgestel word

RH_ASK bestuurder;

// RH_ASK bestuurder (2000, 2, 4, 5); // ESP8266 of ESP32: moenie pen 11 gebruik nie

leemte opstelling ()

{

Serial.begin (9600); // Slegs ontfouting

pinMode (5, INVOER);

as (! driver.init ())

Serial.println ("init misluk");

}

leemte lus ()

}

if (digitalRead (5) == HOOG) {

const char *msg = "a";

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

driver.waitPacketSent ();

vertraging (200);

}

}

Stap 5: Stap 4: Ontvangerkode

#insluit

#include // Nie eintlik gebruik nie, maar moet opgestel word

#sluit "pitches.h" in // voeg ekwivalente frekwensie by vir musieknote

#sluit 'temas.h' in // voeg note vale en duur by

RH_ASK bestuurder;

leemte opstelling ()

{

Serial.begin (9600); // Slegs ontfouting

as (! driver.init ())

Serial.println ("init misluk");

anders

Serial.println ("klaar");

RH_ASK bestuurder;

leemte opstelling ()

{

Serial.begin (9600); // Slegs ontfouting

as (! driver.init ())

Serial.println ("init misluk");

anders

Serial.println ("klaar");

}

nietig Play_Pirates ()

{

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

int noteDuration = 1000/Pirates_duration [thisNote]; // skakel tydsduur om na vertraging

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

int pauseBetweenNotes = noteDuration * 1.05; // Hier is 1.05 tempo, verhoog om stadiger te speel

vertraging (pauseBetweenNotes);

noTone (8); // stop musiek op pen 8

}

}

leemte lus ()

{

uint8_t buf [1];

uint8_t buflen = sizeof (buf);

if (driver.recv (buf, & buflen)) // Nie-blokkerend

{

Serial.println ("Geselekteer -> 'Hy is 'n seerower'");

Play_Pirates ();

Serial.println ("stop");

}

}

Aanbeveel: