Агуулгын хүснэгт:

Arduino Doorbell: 5 алхам
Arduino Doorbell: 5 алхам

Видео: Arduino Doorbell: 5 алхам

Видео: Arduino Doorbell: 5 алхам
Видео: 7 ПОЛЕЗНЫХ устройств на АРДУИНО, которые можно собрать за 15 минут. 2024, Долдугаар сарын
Anonim
Ардуино хаалганы хонх
Ардуино хаалганы хонх

ХАНГАМЖ

-2 талхны самбар

-баззер

-өндөр утаснууд

-Цахилгаан кабель бүхий 2 arduino/genuino

-rf дамжуулагч ба хүлээн авагч

-дарах товчлуур

-100 ом эсэргүүцэл

Алхам 1: Чиг үүрэг

Энэхүү төсөл нь хаалганы хонх бөгөөд үндсэн функц нь arduino -ийг програмчлах кодыг ашиглан дамжуулагчтай товчлуур нь хүлээн авагч руу дохио хүлээн авагч болон дохиогоор дамжуулдаг бөгөөд энэ нь утасгүй холболттой хаалганы хонх дуугарах болно..

Алхам 2: Алхам 1: Дамжуулагч самбар

Алхам 1: Дамжуулагч самбар
Алхам 1: Дамжуулагч самбар

Энэ төсөл хэрхэн ажиллах ёстой вэ гэвэл 2 ширхэг талхны самбар, 2 ширхэг ардуионо/генуино холбосон байх ёстой. дамжуулагч самбарын хувьд бид товчлуурыг газардуулгатай холбогдсон 100 ом эсэргүүцэлтэй холбож, талхны самбар дээрх тэжээлд холбогдсон утсыг холбоно. Дараа нь дамжуулагчийг талхны самбартай холбож, зураг дээр үзүүлсэн шиг товчлуурыг дамжуулагч болон arduino хоёуланг нь холбоно уу.

Алхам 3: Алхам 2: Хүлээн авагчийн самбар

Алхам 2: Хүлээн авагчийн самбар
Алхам 2: Хүлээн авагчийн самбар

Хүлээн авагчийн самбар дээр дуугаралт хаашаа явдаг. Хүлээн авагчаар дамжуулан нэг утсыг газардуулж, дараа нь кодоо өөрчилж болох утсыг хүссэн зүүтэйгээ холбоно уу. Зураг дээр үзүүлсэн шиг хүлээн авагчийг талхны самбартай холбож, arduino руу залгаарай.

Алхам 4: Алхам 3: Дамжуулагч код

// ask_transmitter.pde

// -* -горим: C ++ -* -

// RadioHead ашиглан мессеж дамжуулах энгийн жишээ

// энгийн ASK дамжуулагчтай маш энгийн байдлаар.

// TX-C1 модуль бүхий энгийн (нэг талын) дамжуулагчийг хэрэгжүүлдэг

#оруулах

#include // Үнэндээ ашиглаагүй боловч эмхэтгэхэд шаардлагатай

RH_ASK драйвер;

// RH_ASK драйвер (2000, 2, 4, 5); // ESP8266 эсвэл ESP32: 11 -р зүүг бүү ашигла

хүчингүй тохиргоо ()

{

Цуваа эхлэх (9600); // Зөвхөн дибаг хийх

pinMode (5, INPUT);

хэрэв (! driver.init ())

Serial.println ("эхлүүлээгүй");

}

хоосон давталт ()

}

if (digitalRead (5) == HIGH) {

const char *msg = "a";

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

driver.waitPacketSent ();

саатал (200);

}

}

Алхам 5: Алхам 4: Хүлээн авагчийн код

#оруулах

#include // Бодит байдлаар ашиглаагүй боловч эмхэтгэхэд шаардлагатай

#include "pitches.h" // хөгжмийн нотын эквивалент давтамжийг нэмнэ үү

#include "themes.h" // Тэмдэглэлийг оруулах ба үргэлжлэх хугацаа

RH_ASK драйвер;

хүчингүй тохиргоо ()

{

Цуваа эхлэх (9600); // Зөвхөн дибаг хийх

хэрэв (! driver.init ())

Serial.println ("эхлүүлээгүй");

өөр

Serial.println ("хийсэн");

RH_ASK драйвер;

хүчингүй тохиргоо ()

{

Цуваа эхлэх (9600); // Зөвхөн дибаг хийх

хэрэв (! driver.init ())

Serial.println ("эхлүүлээгүй");

өөр

Serial.println ("дууссан");

}

хүчингүй Play_Pirates ()

{

for (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 ("зогсоох");

}

}

Зөвлөмж болгож буй: