Problem solving: manca il telecomando

Vedo spessissimo sulle offerte di lavoro: “attitudine al problem solving”. Mi pare una cosa strana, perché la vita, ogni giorno, è un continuo problem solving e se non hai l’attitudine, probabilmente sei già morto (e non risponderai all’offerta di lavoro).

Veniamo al “problem solving terra-terra”. Un’amica ha comprato due ventilatori in un centro commerciale. Erano gli ultimi due: uno imballato e l’altro in esposizione. Quest’ultimo, però, non aveva il telecomando, era stato forse smarrito. Bene, faceva caldo e quindi l’acquisto è stato fatto ugualmente. L’amica mi ha chiesto se potevo fare qualcosa e io le ho detto di darmi il telecomando presente nell’imballaggio per farne una copia, prima che consegnasse il ventilatore completo alla sua mamma.

Così ho preso il mio notebook “da battaglia” con Win7 e ho avviato il software installato da tempo e preso da questo link: http://www.ostan.cz/IR_protocol_analyzer/ (potrete trovare altre informazioni in un mio precedente articolo a questo link: https://ficara.altervista.org/?p=3833).

Per prima cosa ho provato a decodificare il codice corrispondente al tasto on-off. Ecco la schermata data dal programma e le mie aggiunte in grafica per rendere leggibile il codice (0x27E) :

Il programma non trova alcun riferimento a questo codice (non è NEC, non è RC5 ecc) ma dopo un po’ di prove ho capito che il codice è a 12 bit (fisso) e “lo zero” è dato da un impulso luce/buio di circa 3 a 1 e “l’uno” il contrario, cioè  luce/buio 1 a 3. Provata la stessa cosa sugli altri tasti del telecomando, il lavoro è praticamente finito. Ho riconsegnato il telecomando originale e mi sono messo a cercare nei miei pezzi “da viaggio” un micro abbastanza piccolo su cui scrivere un firmware adeguato. Ho trovato un ATtiny13, piuttosto vecchio, con pochissima memoria flash, ma più che sufficiente per un compito così semplice. Ho montato velocemente il circuito. Eccolo qui:

Lo schema l’ho disegnato a mano, dato che si tratta di un “pezzo unico” che non ricostruirò più:

Ho avuto un po’ di difficoltà per generare frequenze e tempi, perché non ho gli strumenti giusti (il mio è un “laboratorio da viaggio” ridotto davvero all’osso) e come “strumento di misura” ho usato… il ventilatore stesso. Se accettava i comandi da una certa distanza (più di due metri) allora era tutto ok. Ecco come si presenta il telecomando chiuso in un comodo contenitore fatto di cartoncino piegato 🙂

A destra, ovviamente, c’è l’originale. Come si evince dalla foto, ho usato solo quattro comandi, ignorando deliberatamente i pulsanti LED, TIMER e MODE, che nella mia filosofia minimalista, non servono. Sono rimasti quelli importanti e cioè l’ON-OFF, UP e DOWN (velocità) e SWING (la rotazione sull’asse orizzontale). Il file hex per programmare il micro è zippato e disponibile a questo link.

I “fuses” devono essere programmati così:

// ATtiny13 FUSES: low=0x75 high=0xFF

Spero che questo progettino possa essere utile a qualcuno che ha lo stesso problema 🙂 Io continuerò il mio “problem solving” con le cose di tutti i giorni (come tutti), ma penso che per un certo tempo non scriverò altri articoli. Quindi, arrivederci!