"Sincronizzazione" display con decodificatore codice morse

Salve a tutti.
Per la maturità avevo in mente di portare un decodificatore di codice morse (scrivi la lettera con il modulo bluetooth di arduino e poi suona un buzzer e si accende un led in base alla lettera data), questo l’ho già fatto, però, volevo abbinarci un display.
Nel senso, io scrivo “A” sull’app e vorrei che uscisse la lettera sul display e allo stesso tempo sia buzzer che led entrino in funzione in corrispondenza della lettera data.
Secondo voi è possibile?Sapreste aiutarmi?

Si è possibile, quando il carattere arriva ad Arduino prima di codificarlo in morse scrivi sul display il carattere.
A questo punto la domanda è... che genere di display vuoi adottare?
Perché in funzione del display l'implementazione cambia di molto, se di orienti du un display LCD da 16x2 o 20x4 ti consiglio la versione I2C che impegna due soli pin di Arduino e non crea troppi problemi di connessione e ci sono le librerie per gestire il tutto (LiquidCrystal_I2C).
Se invece ti stai orientando su altro tipo di display indica quale che qualcuno ti aiuterà :slight_smile:

Ho dato un occhiata al programma che hai messo nell'altro post, per uscire dal case che codifica in morse sarebbe meglio sostituire i return con i break;, non è che così non funziona è che è più corretto usare il break;, visto che è un programma da presentare all'esame...

Non ho capito cosa serve la decodifica del codice Morse. Se mandi un carattere dal telefonino a Arduino cosa centra il codice morse. Semmai ha senso se immetti Tu a mano con un vecchio pulsante Morse il codice Morse e Arduino lo decodifica e lo visualizza.

Ciao Uwe

Probabilmente, se ho ben capito quello che il progetto fa, il titolo è ingannevole (ed Uwe è caduto nell'inganno :D) ...

... tu invi un carattere e Arduino emette la sequenza morse di punti e linee; ma questo NON è un "decodificatore" Morse, ma un "codificatore" :smiley:

Guglielmo

Tu prendi una lettera (quindi NON un codice) e la trasformi in una serie di punti e di linee ovvero nel "codice morse" quindi ... stai codificando in morse !

Diverso è il caso di programmi che ricevono i punti e le linee e che riescono a capire di che carattere si tratta ... quelli sono dei decodificatori morse.

Guglielmo

gpb01:
Probabilmente, se ho ben capito quello che il progetto fa, il titolo è ingannevole (ed Uwe è caduto nell'inganno :D) ...

È difficile in un testo contradditorio capire con certezza quale parte é la parte errata e quale é la parte vera. Io mi sono deciso per la parte errata.
Ciao Uwe

Ricapitoliamo.
Hai un ingresso ASCII e un uscita Morse?
Domande:
1)inncosa consiste l'ingresso?
2)In cosa consiste l'uscita?
3)Sai gestire il cambio ascii/morse?
4)deve essere bidirezionale?(alias, hai anche unningresso morse e un uscita ascii?)
5)c'é altro nel progetto?

Comunque rimango con la mia domanda, qualcuno sa come aiutarmi?

A fare cosa, a collegare il display ?

prova a leggere questo https://www.arduino.cc/en/Tutorial/HelloWorld
così puoi provare l'lcd prima da solo in modo da capire come funziona e poi inserirlo nel tuo progetto.

Se devo essere sincero a me il tuo progetto non è piaciuto
È scopiazzato in giro, e vabbe’ …
Ma è anche mal scritto, quel continuo uso di ‘return’ al posto di ‘break’ indica che tu o l’autore non avete nemmeno finito di leggere la documentazione di ‘switch’, usare costrutti sbagliati o inadatti NON dimostra la capacità di programmazione
Anche come idea di lavoro è un programma povero, fa tutto con una switch case, una banale enumerazione dei casi
Una tabella di righe e punti, indicizzata sul carattere da trasmettere, sarebbe stato interessante dal punto di vista teorico, spostando la complessità dal programma al “dato”…
Insomma mi sembra che tu abbia copiato il ‘minimo sindacale’ , se fossi un tuo esaminatore sarei molto dubbioso
Copiare per copiare, con una semplice ricerca si trovano en-decoder, che codificano e decodificano, che hanno ingresso e uscita morse in digitale E audio, che mostrano i DUE flussi su LCD , che decodificano con albero dicotomico, che hanno l’alfabeto residente in tabella, non hard-coded, che hanno ingresso e uscita ASCII su USB E su tastiera PS2, sia ingresso che uscita
Insomma cose che dimostrano un pensiero più che minimo

Ah, ecco, adesso ho capito
no, purtroppo, mai usato display LCD
ma vedere l'esempio che ti han consigliato.......

per solo tre minuti....
non vale la pena, manco ci si accorge che funziona, figuriamoci capire come migliorarlo
se invece "vuoi" migliorarlo, i miei commenti te li ho già messi

Se hai un led normale, collegato al pin con 330 ohm va bene (gli stai dando 10mA, che il pin regge senza problemi) ... per il buzzer, invece, di che tipo di buzzer si tratta ? ... di uno di quelli che lo alimenti in continua e genera un suono, o di uno di quelli a cui devi mandare tu la frequenza per generare il suono ? ... e soprattutto, piezo o elettromagnetico, e quanto assorbe durante il funzionamento ?

Perche' se il buzzer assorbe piu di 10 o 15mA al massimo, stai rischiando di bruciare il pin della MCU a cui lo colleghi direttamente, la stessa cosa se e' elettromagnetico (le MCU non gradiscono i carichi induttivi collegati direttamente ai pin) ... e potrebbe anche essere uno di questi motivi che ti fa funzionare male il tutto "dopo un po di utilizzo", come dici tu ...

Che batteria ? Logicamente Arduino consuma corrente, e se ci attachi roba anche quella consuma corrente.
Una batteria 9V può fornire al massimo 350mA/h quindi pochissima corrente.