Buzzer e led problemi di programmazione

Eh, no, infatti :wink:
Intanto perché "LED[i] = HIGH" è una assegnazione, ossia inserisce il valore HIGH (praticamente un 1) all'elemento "i-esimo" dell'array "LED[]". I confronti tra valori si fanno con "==".
Poi comunque la funzione "digitalWrite()" richiede due parametri, il primo è il numero del pin, il secondo il valore da impostare (o HIGH o LOW, oppure 0 che significa LOW o qualsiasi altro valore per HIGH).
Con quella for() il confronto "i == led" restituisce TRUE (che, come detto, essendo diverso da zeero equivale a HIGH) se il valore della variabile "i" è uguale a quello di "led" che rappresenta il numero di LED da accendere.

for (int i=0; i<4; ++i) digitalWrite(LED[i], i == led);

Per accendere tutti quelli precedenti fino a "led" quindi come va modificato?...

@docdoc bisogna cambiare la variabile "int led = -1;" con "int led = +1;" ?
Se ho sbagliato ti prego perdona la mia inesperienza :disappointed:

@G10maker: perdona, ma ...ti rendi conto che ti mancano LE BASI? ... NON puoi sperare di andare avanti con dei copia/incolla che, per mancanza di preparazione, non arrivi a comprendere ... per questo io dico sempre che, almeno LE BASI tocca studiarle o ... più di far lampeggiare un LED non si arriva.

Dai retta, fermati, prendi i libri/i pdf che ti ho indicato e dedica un po' di giornate a studiare ... solo dopo riprendi in mano il tuo programma e vedrai che tutto sarà più chiaro e più semplice :wink:

Guglielmo

@gpb01 il libro la guida di Arduino 2.0 e già a casa mia e l'ho già iniziato a leggere.
Di copia e incolla io non ne ho fatti e questo programma che ho creato l'ho creato io pur essendo sbagliato ma è tutta farina del mio sacco, era un progetto che mi ero prefissato per vedere fino a che punto ero arrivato col linguaggio c++ per arduino, ho capito di essere ancora acerbo ed ho chiesto in questo forum apposta per avere delle dritte perché qui dove vivo io non conosco nessuno che ha Arduino tanto meno che usa il linguaggio c++.
Ho chiesto qui per sapere dove ho sbagliato e correggermi in modo da imparare dall'errore. Ci sto mettendo impegno anche se non sembra, sono andato a letto alle 2 per continuare a leggere il libro e alle 4 mi è suonata la sveglia per andare a lavorare, e non è la prima volta che faccio così.
Ci sto mettendo la testa ma sicuramente non imparo nel giro di una settimana nemmeno se studio giorno e notte.
Detto ciò, grazie per i consigli e le critiche costruttive, le apprezzo molto.
Sperando comunque di ricevere da l'altra parte comprensione per chi si sta avvicinando a questo bellissimo mondo della programmazione.

... emmm .... dai, siamo onesti, senza il codice di docdoc NON avevi la più pallida idea di cosa dovevi fare ... quello che avevi creato all'inizio non avrebbe mai funzionato ... :wink:

Attento, non ti sto criticando, sto cercando di farti capire che, purtroppo, la programmazione di Arduino, appena si esce dalle cosette più banali, richiede tantissimo impegno e molto studio alla base ... vedrai che di notti ne dovrai passare tante sui libri :slight_smile:

Guglielmo

No, no, come ho scritto nel commento, il valore -1 significa solamente "nessun LED acceso"...

Vedi, il mio stimolo nel chiederti come modificare il codice era appunto per verificare il tuo attuale livello di conoscenza almeno di base.

Quindi visto che hai il libro con la guida per Arduino, per evitare di farti fare altri tentativi "a caso" (che non ti permettono comunque di capire molto, anche se dovessi spiegartelo) intanto considera solo il codice così com'è, e al massimo cerca di capire cosa succede se cambi una cosa rispetto ad un'altra.

Ma purtroppo prima di pensare di modificarlo o di scrivere qualcosa di nuovo devi studiare e fare un po' di pratica con esercizi ed "esperimenti". I primi tempi anche io stesso, nonostante avessi già una discreta infarinatura di base col C, feci una cartella "esercizi" nella quale ho accumulato le varie prove per ogni singolo aspetto di Arduino, iniziando dall'accendere un LED facendolo lampeggiare fino alla gestione di sensori e motori. Quindi segui il libro, e fai tanti, ma tanti esercizi mi raccomando!

Poi un altro valido aiuto quantomeno per la parte software è usare un simulatore come Wokwi, col quale puoi sperimentare codice senza neanche doveer avere sottomano un Arduino né collegarlo via USB, né dover avere e collegare circuiti esterni, ti basta "disegnare" il circuito.
Ad esempio per il tuo progettino vedi qui, te l'ho disegnato io:

(ma mi raccomando, vedilo per ora solo come "essercizio" ma non iniziare subito da qui, prima devi per forza studiare almeno le basi del linguaggio, e quelle legate ad Arduino ossia i pin, come si usano, come e cosa puoi collegarci, come si collega un pulsante e perché serve una resistenza, eccetera....)

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