TELEFONO SIRIO

riferimenti

genere

DATA

generalità

Note

distribuzione

radio

10

Recupero telefono sirio

 

 

GENERALITA’

Stavo cercando una tastiera per una prova con ARDUINO, ma possibilmente senza uscire da casa o andare in qualche fiera, così mi sono imbattuto nel vecchio telefono di casa, il SIRIO.

Praticamente in Italia ce n’è stato almeno uno per ogni casa, in un recente passato, e ancora è in uso. Prima di buttarlo, pensate che ci sono un certo numero di componenti che sono facilmente recuperabili con un saldatore e la pompetta. Il circuito stampato infatti è a singolo strato singola faccia e i componenti sono ben distanziati. È di costruzione ERICSSON FATME, almeno il mio esemplare.

Nella foto ho indicato i pezzi meno facili da reperire nei negozi o alle fiere, per i quali vale la pena darsi da fare col saldatore. Ma anche gli altri, se uno ha bisogno o voglia, sono facilmente smontabili.

TASTIERA

La tastiera la si può usare sapendo come è collegata: basta prendere un tester e trovare tutte le connessioni tra i terminali a seconda di quale tasto viene premuto. Siccome è un po’ una palla ho trovato un modo abbastanza moderno per far prima e soprattutto per far bene. Uso ARDUINO, la bread-board, 9 pezzetti di filo e un breve programma.

I terminali sono 9, suppongo che almeno uno di essi sia una specie di schermo, ottimo se la userò in ambiente con RF. Gli altri immagino siano collegati a formare una sorta di righe colonne in cui ogni tasto sta sull’incrocio e premendolo mette insieme la riga e la colonna.

Ho collegato ogni terminale della tastiera ad un pin digitale di ARDUINO 2009, ho comandato tutti i pin in modo input e abilitato un pull-up interno da 20kOhm verso il +5V, in modo che siano tutti a uno logico.

Il programma poi mette uno alla volta i pin in modo output e a zero logico e scandisce i rimanenti: se c’è un tasto premuto uno di essi va a zero e il programma scrive sulla seriale quale è la coppia di terminali coinvolti. Vista la corrispondenza tra tasti e terminali il gioco è fatto.

 


/*

 KEY DETECTOR

 IZ5AGZ - SEPT 2010

  The circuit:

 * LED attached from pin 13 to ground; there is already an LED attached to pin 13.

 * FILI TASTIERA ATTACCATI UNO A UNO AI DIG PIN 2..10

 */

 

// constanti, non devono cambiare nel programma.

const int ledPin =  13;      // the number of the LED pin

 

// variabili, i cui valori cambieranno:

int DIGIN = 0;         // variable for reading contatti

int DIGOUTPIN = 0;         // variable for PIN WRITE

int DIGINPIN = 0;         // variable for PIN READ

 

void setup() {

  // initialize pinS:

  pinMode(ledPin, OUTPUT);     

  pinMode(2, INPUT);    

  pinMode(3, INPUT);    

  pinMode(4, INPUT);    

  pinMode(5, INPUT);    

  pinMode(6, INPUT);    

  pinMode(7, INPUT);    

  pinMode(8, INPUT);    

  pinMode(9, INPUT);    

  pinMode(10, INPUT);

  // initialize serial communication:

  Serial.begin(9600);

  // initialize PULL-UP RESISTOR SU PIN IN INPUT MODE

  for (DIGOUTPIN=2; DIGOUTPIN <= 10; DIGOUTPIN++){

    digitalWrite(DIGOUTPIN, HIGH);   }

}

 

void loop(){

  for (DIGOUTPIN=2; DIGOUTPIN < 10; DIGOUTPIN++){

    pinMode(DIGOUTPIN, OUTPUT); 

    digitalWrite(DIGOUTPIN, LOW);

    DIGINPIN=DIGOUTPIN+1;

    for((DIGINPIN); DIGINPIN <= 10; DIGINPIN++){

      DIGIN=digitalRead(DIGINPIN);

      if (DIGIN == LOW) {

        digitalWrite(ledPin, HIGH);

        Serial.print("CONTATTO TRA ");

        Serial.print(DIGOUTPIN-1);

        Serial.print(" - ");

        Serial.print(DIGINPIN-1);

        Serial.println(" pins");

        delay(200);

        digitalWrite(ledPin, LOW);

        }

    }

    pinMode(DIGOUTPIN, INPUT); 

    digitalWrite(DIGOUTPIN, HIGH);

  }

}


La figura mostra lo schema della tastiera di Sirio ricavato premendo i tasti e osservando il responso sul terminale seriale di Arduino.

Buon divertimento e 73 da IZ5AGZ Alessandro Frezzotti