Rf bridge telecomanda livolo

Aici puteti posta chestii ce apartine in maii ulte categorii. De exemplu ceva ce apartine de smart home facute cu arduino.
Post Reply
ITDOCTOR
Site Admin
Posts: 2
Joined: Wed Oct 30, 2019 4:06 pm

Rf bridge telecomanda livolo

Post by ITDOCTOR » Thu Jan 30, 2020 10:49 pm

Salut. Cum am camera facuta full smart, controlata prin voce si telecomanda, foloseam prea multe telecomenzi. Ma intrebam ce sa fac ca sa scap de ele, asa ca am cumparat o telecomanda livolo care nu functioneaza, doar cu intrerupatoare livolo, asa ca am decis sa fac un bridge. Adica eu apas un buton pe telecomanda, acel dispozitiv imi citeste semnalul si imi emite un semnal RF ori IR. Acum am o singura telecomanda RF, cu ajutorul careia pot controla tv-ul, sistemul 5.1 si luminile facute cu sonoff. Nu trebuie altceva decat un arduino, un receptor, un emitator RF si IR (cu receptorul IR poti scana telecomanda originala de la TV, spre exemplu) si o cutie in care sa montezi tot ce trebuie, dar care sa dea bine, deoarece controlarea dispozitivelor cu IR, trebuie sa se realizeze la vedere. Eu am ales sa il montez in carcasa la broadlink, langa placa originala din el. Primul pas ce trebuie facut este sa notezi toate codurile de la butoanele de la livolo si de la telecomenzile dispozitivelor. Pentru livolo e bun programul care face bridge-ul, trebuie doar dat pe serial monitor. Pentru restul telecomenzilor pe IR si RF (cele standard) sunt multe programe pe internet. Aici o sa pun cate unul. Trebuie sa citesti codurile cu serial monitor.
Dupa care, in programul de bridge, vei gasi asa ceva:
if (binary == 3341336)
{
Aici, in locul numarului, care de fapt, este codul unui buton de la livolo . Codul butonului pe care il apesi pentru comanda.
Dupa care urmeaza:
Pentru a emite pe RF un semnal : if (binary == 3341184)
{
mySwitch.send("110110101000111101110000");
digitalWrite(13,HIGH);
delay(500);
digitalWrite(13,LOW);
}
unde e codul pe care emite cea de la telecomanda originala in binary
Pentru a emite IR sunt 2 metode. Daca programul il recunoaste o sa apara un cod scurt dupa scanare, de ex 0X84C, 12, atunci o sa introduci acest cod si pentru a trimite semnalul pe ir va fii asa:
if (binary == 3341336)
{
for (int i = 0; i < 5; i++){
irsend.sendRC5(0X84C, 12);
delay(40);
}
sau
if (binary == 3341432)
{
for (int i = 0; i < 5; i++){
irsend.sendSAMSUNG(0XE0E0807F, 32);
delay(40);
}
digitalWrite(13,HIGH);
delay(500);
digitalWrite(13,LOW);
}
La irsend.sendxxxxxx acolo va fii trecut numele dispozitivului dar veti vedea la scanare ce apare.
In caz ca nu recunoaste nimic, trebuie trimis semnalul asa zis raw. Si anume crud, fara codare, iar atunci va arata asa:
if (binary == 3310584)
{
irsend.sendRaw(powerOn,67,38);
delay(200);

digitalWrite(13,HIGH);
delay(500);
digitalWrite(13,LOW);
}

Dupa cum ai vazut la fiecare, are la sfarsit 3 randuri. Asta e pentru un led. Dupa ce a emis semnalul recodat se va aprinde ledul de pe pinul 13 timp de 500 milisecunde.

Schema de asamblare, codul sursa pentru bridge, scanare RF si scanare IR este atasata intr-un fisier zip.
BAFTA :)
Attachments
bridge.zip
(508.35 KiB) Downloaded 3 times
Image

Post Reply