Ciao a tutti, sono nuovo del forum, mi chiamo Damiano e sono entrato nel mondo di arduino da poco tempo.
Uso un Arduino Uno, e finora sono riuscito a districarmi abbastanza bene, anche grazie alle soluzioni ai problemi, che mi si presentavano via via sui progetti, trovate direttamente sul forum dalle vostre esperienze personali.
Ma stavolta non sono riuscito a trovare una spiegazione o meglio una soluzione per il problemino in cui sono incappato....
Vi spiego rapidamente, sto costruendo un apparato per essere utilizzato durante le giocate softair, utilizzando il mio Uno con, tastiera, schermo lcd, 2 pulsanti, buzzer, led, mosfet e ora volevo inserire uno display 7 segmenti alfanumerico e far scorrere sullo stesso una scritta con le istruzioni su come operare una volta aperta la valigetta nella quale si trova quanto sopra.
Ho bisogno di far si che la scritta su detto display appaia all'apertura della valigetta, quindi indipendente dalla programmazione di tutto il resto.
Di fatto su detto display ci saranno le istruzioni base su quali pulsanti premere per accedere ai vari programmi.
Il suo utilizzo sarà solo questo, potete aiutarmi?
Grazie a tutti.
Spiega meglio quali sono le difficoltà che incontri, così potremo aiutarti.
Se sei riuscito a montare, programmare e far funzionare le cose che hai elencato, mi sembra strano che ora ti venga difficile montare un display con una scritta.
Forse hai poche porte I/O libere... allora se fosse per questo ti posso suggerire di usare un display LCD seriale o I2C, che te ne occupa soltanto 2. Mi sembra la cosa più semplice ed anche economica.
Se invece la difficoltà è software, allora potrebbe venirti complicato fare scorrere la scritta sul secondo schermo mentre contemporaneamente è in esecuzione l'altro programma. In questo caso ti faremo qualche esempio sull'uso di millis().
ciao paulus grazie per la risposta
Allora facciamo un passo indietro,,,
il montaggio a livello hardware non mi ha dato alcuna difficoltà, ho inserito i codici che erano già stati scritti, li ho solo modificati in alcuni punti per renderli funzionanti per il mio progetto.
I/O libere ne ho ancora 5, ed il display alfanumerico che voglio collegare è su backpack adafruit, per il quale ho sistemato il codice e settato secondo le mie esigenze.
Praticamente verrà inserito in una valigetta, con accensione via chiave.
Aprendo la valigetta, tramite il disinnesco di un microinterruttore verrà accesa l'illuminazione sul display lcd e mi piacerebbe riuscire in quel momento, ok con un ritardo sulla apertura della valigetta di 5 secondi, far si che sul display alpha4 mi scorressero le istruzioni per la scelta della giocata che avviene tramite pressione sia di pulsanti della tastiera che di 2 pulsanti autonomi...
Inserito nel programma e montato il tutto la scritta scorre ma non riesco a farla scorrere quando mi serve. ossia: caricando il codice all'avvio del programma mi parte anche la scritta... quello che vorrei poter fare è far si che la scritta si alpha4 mi parta al rilascio del microinterruttore, ma qui casca l'asino (che sarei io) e non so dove sbatter la testa....
Quindi vorresti che dopo 5 secondi dal rilascio del microinterruttore la scritta venga inviata al display.
Bene.
Fammi capire una cosa sull'accensione tramite chiave.
Dove è messa questa chiave?
Toglie alimentazione a tutto?
Insomma, vorrei capire se quando scatta il microinterruttore il sistema è già alimentato.
Stabilito questo, il resto sarà abbastanza facile.
Si scusami non lo ho specificato prima, la chiave attiva la corrente generale, quando scatta il microinterruttore tutto è già alimentato
Posta il codice probabilmente se inserisci qualche riga in void setup risolvi... Una volta accesa poi non lo devi visualizzare più? Sennò devi implementare via sw qualcosa di simile a una macchina a stati finiti...
Ps
Posta anche qualche foto che sono curioso, un mio amico aveva un progetto simile e mi aveva chiesto una mano ma non ho risaputo più nulla...
Il micro interruttore in che configurazione l'hai utilizzato ? NA, NC o Scambio?
Hai inserito le dovute resistenze di pullup/down?
Ci fai vedere lo sketch, così possiamo aiutarti meglio.
Mi viene da dire che con un "semplice" controllo nel loop la cosa è molto fattibile.
Magari con una variabile di stato riesci a separare le due gestioni.