Arduino – testowanie dekoderów telewizyjnych (STB)

Jako, że na półce zalega(-ła) nam masa dekoderów (MAG-250, Motorola, Zyxel), a ciężko jest testować każdy STB z osobna przygotowałem prosty ‚symulator Kowalskiego’ w postaci Arduino z diodą podczerwieni. Podłączamy jednocześnie 5, 6 dekoderów (niekoniecznie tych samych producentów naraz) i zostawiamy na nockę, dwie. Arduino transmituje chęć zmiany kanału, co ma symulować nudzącego się Kowalskiego. Dekodery, które po dniu, dwóch nie raportują żadnych błędów wracają do obrotu – póki co działa to nieźle.

Dla zainteresowanych – źródło:

— cut —

#include <IRremote.h>

IRsend irsend;
int powerPin = 11;
int txPin = 12;

int hits = 0;
// zmiana kanalu
unsigned int magUP[68] = {950, 850, 1800, 850, 900, 1700, 950, 850, 900, 850, 1800, 1700, 950, 800, 950, 850, 900, 850, 1800, 850, 950};
unsigned int motkaUP[68] = {2550,1900,600,350,300,300,350,300,600,650,350,300,300,350,300,300,350,300,300,350,300,
300,350,300,300,350,300,300,350,300,300,350,300,300,350,300,600,350,300,350,300,650,300,350,
300,350,300,300,650,650,600,650,300,350,300,300,650,};

void setup()
{
pinMode(powerPin, OUTPUT);
pinMode(txPin, OUTPUT);
Serial.begin(9600);
Serial.begin(115200);
}

void loop() {
digitalWrite(powerPin, HIGH);
digitalWrite(txPin, LOW);
// zmiana kanału co 15 sekund
delay(15000);
digitalWrite(txPin, HIGH);
irsend.sendRaw(magUP,68,38);
delay(500);
irsend.sendRaw(motkaUP,58,38);
delay(1000);
digitalWrite(txPin, LOW);
}

— cut —

Jestem w stanie udzielić pomocy dot. testowania dekoderów innych producentów. Generalnie każdego urządzenia będącego sterowanym przy pomocy podczerwieni.

Poniżej – gotowe urządzenia.

tester-stb2 tester-stb1