Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Aiuto su codice arduino

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteMassimoB, Foto UtenteWALTERmwp, Foto Utentexyz

0
voti

[1] Aiuto su codice arduino

Messaggioda Foto Utenteilluminor » 5 mag 2020, 0:08

Ciao O_/ ,
sto provando a scrivere un codice con l'accensione di un led con millis().
Per l'esatezza dovrei ;
far lampeggiare un led con intervalli di 5 secondi, cioè ogni 5 secondi lo accendo o se già acceso lo spengo.
Alla fine dovrei inserire un codice che scriva sulla porta seriale LED acceso solo quando acceso e questo una volta al secondo, e quando il led è spento non scrive nulla il tutto con millis().
Quindi si dovrebbe vedere 5 scritte led acceso quando acceso poi niente fino alla sucessiva accensione.

io sono arrivato al lampeggio del led come si potrebbe concludere il resto del codice?

Codice: Seleziona tutto
/* Vriabili e costanti*/
const byte ledPin            = 13;                  /*Numero del pinLed*/
      byte ledState          = 0;                   /*Stato del LED*/
                                 
unsigned long previousMillis = 0;                   /* Memorizza l'ultima volta che il LED è stato aggiornato */
unsigned long interval       = 5000;                /* Intervallo a cui lampeggiare in Millisecondi */


void setup()
{
  Serial.begin (9600);                              /* Inizializzo la porta seriale*/
  pinMode(ledPin, OUTPUT);                          /*inizializzare il pin digitale come output.*/
}

void loop()
{
unsigned long currentMillis = millis(); 
if( currentMillis - previousMillis > interval )    /*se cM - pM è maggiore di intervallo allora.....*/
{
  previousMillis = currentMillis;                   /*se il LED è spento accendilo e viceversa:*/
 
ledState ^=1;

digitalWrite(ledPin,ledState);                   /*Scrivi nel digitale lo stato del pin del led*/ 
}

Avatar utente
Foto Utenteilluminor
32 1 3 7
Stabilizzato
Stabilizzato
 
Messaggi: 417
Iscritto il: 10 mag 2012, 17:54

0
voti

[2] Re: Aiuto su codice arduino

Messaggioda Foto UtenteMarcoD » 5 mag 2020, 6:27

o sono arrivato al lampeggio del led come si potrebbe concludere il resto del codice?

Devi eseguite il loop ogni secondo, modificabno la periodicità di millis() da 5 a 1 secondo.

Dentro il loop metti un contatore
CONT = CONT +1; if (CONT > 5)
{CONT=0;
poi accendi o spegni il led;
if (LED == on) {LED = off; } else {LED = on; }
}
e ogni volta stampi se il LED è acceso
if (LED acceso) {print("ledacceso");}

...il linguaggio è sgrammaticato e semplificato,ma spesro si capisca..... :-)
O_/
Avatar utente
Foto UtenteMarcoD
7.262 4 8 13
Master EY
Master EY
 
Messaggi: 3227
Iscritto il: 9 lug 2015, 16:58
Località: Torino

1
voti

[3] Re: Aiuto su codice arduino

Messaggioda Foto Utenteilluminor » 5 mag 2020, 11:15

Ciao Maro,
grazie della risposta O_/
Avatar utente
Foto Utenteilluminor
32 1 3 7
Stabilizzato
Stabilizzato
 
Messaggi: 417
Iscritto il: 10 mag 2012, 17:54


Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti