Telecomando con 50/60 tasti funzione

Salve a tutti.
Vorrei cortesemente sapere se è possibile creare un telecomando infrarossi con sensore ricezione TSOP1738 che gestisce 50/60 tasti funzione partendo da ATmega mini ecc.
Avrei trovato questo progetto il problema sono i pochi tasti di controllo.

Grazie

Spiegati meglio

Strettamente parlando non ci sono comunque problemi
Sai già i codici per ognuono dei 50 60 tasti?

dovrei clonare questo telecomando

per leggere i codici ho usato questo Sketch:

/*
 * IRremote: IRrecvDump - dump details of IR codes with IRrecv
 * An IR detector/demodulator must be connected to the input RECV_PIN.
 * Version 0.1 July, 2009
 * Copyright 2009 Ken Shirriff
 * http://arcfn.com
 * JVC and Panasonic protocol added by Kristian Lauszus (Thanks to zenwheel and other people at the original blog post)
 */
#include <IRremote.h>
int RECV_PIN = 2;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}
// Dumps out the decode_results structure.
// Call this after IRrecv::decode()
// void * to work around compiler issue
//void dump(void *v) {
//  decode_results *results = (decode_results *)v
void dump(decode_results *results) {
  int count = results->rawlen;
  if (results->decode_type == UNKNOWN) {
    Serial.print("Unknown encoding: ");
  }
  else if (results->decode_type == NEC) {
    Serial.print("Decoded NEC: ");
  }
  else if (results->decode_type == SONY) {
    Serial.print("Decoded SONY: ");
  }
  else if (results->decode_type == RC5) {
    Serial.print("Decoded RC5: ");
  }
  else if (results->decode_type == RC6) {
    Serial.print("Decoded RC6: ");
  }
  else if (results->decode_type == PANASONIC) {
    Serial.print("Decoded PANASONIC - Address: ");
    Serial.print(" Value: ");
  }
  else if (results->decode_type == JVC) {
     Serial.print("Decoded JVC: ");
  }
  Serial.print(results->value, HEX);
  Serial.print(" (");
  Serial.print(results->bits, DEC);
  Serial.println(" bits)");
  Serial.print("Raw (");
  Serial.print(count, DEC);
  Serial.print("): ");
  for (int i = 0; i < count; i++) {
    if ((i % 2) == 1) {
      Serial.print(results->rawbuf[i]*USECPERTICK, DEC);
    }
    else {
      Serial.print(-(int)results->rawbuf[i]*USECPERTICK, DEC);
    }
    Serial.print(" ");
  }
  Serial.println("");
}
void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    dump(&results);
    irrecv.resume(); // Receive the next value
  }
}


alcuni Codici:

1D32

Decoded RC5: 1D32 (13 bits)

Raw (20): 50 900 -950 950 -850 1000 -850 1850 -1800 1850 -900 900 -1850 900 -950 1800 -950 900 -1850 1800

1D32

Decoded RC5: 1D32 (13 bits)

Raw (20): -26014 900 -950 850 -950 850 -1000 1800 -1850 1800 -950 900 -1850 900 -950 1800 -950 900 -1850 1800

1532

Decoded RC5: 1532 (13 bits)

Raw (18): 50 900 -950 1800 -1850 1800 -1850 1800 -950 900 -1850 900 -950 1800 -950 900 -1850 1800

1532

Decoded RC5: 1532 (13 bits)

Io non vedo 50 60 tasti li

era per dire 50/60
comunque alla fine saranno una quarantina, il telecomando è solo un prototipo

Io continuo a non vedere problemi

A parte certe "ingenuità " del programma che citi
Quale difficoltà trovi a espanderlo a 50 o 60 tasti?

Ovvio che per semplicità devi usare un arduino MEGA2560

ma a parte questo si tratta di una mera copia e correzione di una "badilata" di righe tutte uguali...

come fare per aumentare i pin di controllo dei tasti


?

Usando una MEGA2560

@bbsound: come richiesto al punto 7 del REGOLAMENTO , per favore edita il tuo post di sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone a forma di piccola matita :pencil2: che si trova in basso del tuo post), seleziona la parte di codice e premi l'icona </> nella barra degli strumenti per contrassegnarla come codice. Inoltre, così com'è, non è molto leggibile ... assicurati di averlo correttamente indentato nell'IDE prima di inserirlo (questo lo si fa premendo ctrlT su un PC o cmd T su un Mac, sempre all'interno del IDE).

Grazie,

Guglielmo

fatto grazie

1 Like

temo però che il programma che usi come esempio si aggiornato ad una versione vecchia della libreria

secondo me ti conviene studiarti "bene" la documentazione della libreria, ultima versione
perché temo che alcune cose siano cambiate

Utilisation des extensions d'E/S I2C PCF8574

Certo

Anche un semplice cd4021 basterebbe

Cioè: non uno ma alcuni in cascata, come per i pcf

Oppure una matrice 7x7 su una UNO
Che fa 49 tasti con 14 pin
Avanza 6 pin
2 la seriale
1 tx
1 rx (per farci magari l'autoapprendimento)
1 start autoapprendimento
Ne avanza ancora uno

Però secondo me la cosa più semplice è prendere una mega

Avrebbe più senso, ma penso che l'OP voglia solo usare ATMEGA328P con il bootloader senza il resto dell'arduino. Come fanno nel link nel primo post.

La mia idea è di creare un telecomando universale personalizzabile e programmabile con Arduino

  1. telecomando senza nessuna serigrafia
  2. Maschera Adesiva serigrafata in vinile da appiccicare sul fronte del telecomando personalizzata in base alle esigenze dell'apparecchio da pilotare

dunque non è strettamente necessario ci sia a bordo del telecomando Arduino ma la possibilita di caricare i codici di controllo degli apparecchi da pilotare

in questo caso ben vengano idee in merito

progettato la scheda con ATmega 2560
speriamo non ci siano errori



come pulsanti avrei pensato a questi
PULSA

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.