Мазмуну:

Arduino Doorbell: 5 кадам
Arduino Doorbell: 5 кадам

Video: Arduino Doorbell: 5 кадам

Video: Arduino Doorbell: 5 кадам
Video: Amazing arduino project 2024, Июль
Anonim
Arduino Doorbell
Arduino Doorbell

ЖАБДАМДАР

-2 нан тактасы

-коңгуроо

-жумпер зымдар

-2 arduino/genuino электр кабели менен

-rf өткөргүч жана алуучу

-басуу баскычы

-100 Ом каршылыгы

1 -кадам: Функция

Бул долбоор - бул эшиктин коңгуроосу, анын негизги функциясы ардуинону программалоо үчүн кодду колдонуп, өткөргүч менен баскыч баскычты сигналга жана сигналды кабыл алуучуга жөнөтөт, ал зымсыз байланыш менен эшиктин коңгуроосунун үнүн баштайт..

2 -кадам: 1 -кадам: Бергич тактасы

1 -кадам: Бергич тактасы
1 -кадам: Бергич тактасы

Бул долбоор кандай иштеши керек, аларга 2 нан тактасы жана 2 ардуионо/генуино зым тартылган. өткөргүч тактасы үчүн баскычты жерге туташтырылган 100 омдук резистор жана нандын үстүндөгү электрге туташкан зым менен байланыштырабыз. Андан кийин өткөргүчтү нан тактасына туташтырыңыз жана баскычты сүрөттө көрсөтүлгөндөй өткөргүчкө да, ардуиного да туташтырыңыз.

3 -кадам: 2 -кадам: Алуучу тактасы

2 -кадам: Алуучу тактасы
2 -кадам: Алуучу тактасы

Кабыл алуучу тактада коңгуроо кайда барат. Ресивер аркылуу жерге бир зымды туташтырыңыз жана өзүңүз каалаган кодго зымды туташтырыңыз, аны кийинчерээк кодуңузга ылайыкташтыра аласыз. Ресиверди нан тактасына туташтырып, аны сүрөттө көрсөтүлгөндөй ардуино зымына туташтырыңыз.

4 -кадам: 3 -кадам: Бергичтин коду

// ask_transmitter.pde

// -* -режими: C ++ -* -

// RadioHeadди билдирүүлөрдү берүү үчүн кантип колдонуунун жөнөкөй мисалы

// абдан жөнөкөй жол менен жөнөкөй ASK өткөргүч менен.

// TX-C1 модулу бар симплекс (бир тараптуу) өткөргүчтү ишке ашырат

#кошуу

#кошуу // Чынында колдонулган эмес, бирок компиляциялоо үчүн керек

RH_ASK айдоочу;

// RH_ASK айдоочу (2000, 2, 4, 5); // ESP8266 же ESP32: пин 11ди колдонбоңуз

жараксыз орнотуу ()

{

Serial.begin (9600); // Мүчүлүштүктөрдү оңдоо гана

pinMode (5, INPUT);

if (! driver.init ())

Serial.println ("init ишке ашпай калды");

}

боштук цикл ()

}

if (digitalRead (5) == HIGH) {

const char *msg = "a";

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

driver.waitPacketSent ();

кечигүү (200);

}

}

5 -кадам: 4 -кадам: Алуучунун коду

#кошуу

#кошуу // Иш жүзүндө колдонулган эмес, бирок компиляциялоо үчүн керек

#include "pitches.h" // музыкалык нотанын эквиваленттүү жыштыгын кошуу

#include "themes.h" // Note vale жана узактыгын кошуу

RH_ASK айдоочу;

жараксыз орнотуу ()

{

Serial.begin (9600); // Мүчүлүштүктөрдү оңдоо гана

if (! driver.init ())

Serial.println ("init ишке ашпай калды");

башка

Serial.println ("бүттү");

RH_ASK айдоочу;

жараксыз орнотуу ()

{

Serial.begin (9600); // Мүчүлүштүктөрдү оңдоо гана

if (! driver.init ())

Serial.println ("init ишке ашпай калды");

башка

Serial.println ("бүттү");

}

жараксыз Play_Pirates ()

{

үчүн (int thisNote = 0; thisNote <(sizeof (Pirates_note)/sizeof (int)); thisNote ++) {

int noteDuration = 1000/Pirates_duration [thisNote]; // узактыгын убакытты кечиктирүүгө айландыруу

тон (8, Pirates_note [thisNote], noteDuration);

int pauseBetweenNotes = noteDuration * 1.05; // Бул жерде 1.05 темп, аны жайыраак ойнотуу үчүн жогорулатыңыз

кечигүү (pauseBetweenNotes);

noTone (8); // 8 -пиндеги музыканы токтотуу

}

}

боштук цикл ()

{

uint8_t buf [1];

uint8_t buflen = sizeof (buf);

if (driver.recv (buf, & buflen)) // Бөгөттөөчү эмес

{

Serial.println ("Тандалган -> 'Ал каракчы'");

Play_Pirates ();

Serial.println ("токтотуу");

}

}

Сунушталууда: