Hashtag più usati
1 | #include |
2 | #drone |
3 | #dlcitalia |
4 | #ets2 |
5 | #eurotrucksimulator2 |
6 | #arduino |
7 | #youtube |
8 | #xiaomi |
9 | #aukey |
Ultimi argomenti attivi
» Comunicazione termine servizio Arduino BT ControlDa Admin Mar Mag 10, 2022 12:55 pm
» Robot aspirapolvere per Alexa: Dreame D9
Da Admin Mar Feb 09, 2021 9:42 am
» Come costruire un robot smart con Arduino
Da Admin Mar Nov 17, 2020 12:15 pm
» TOPPS Trading Cards Match Attax Champsion League/Europa League 2020/21
Da Admin Mar Nov 10, 2020 3:21 pm
» Guida per utilizzare Arduino BT Control v1.2
Da Admin Gio Lug 09, 2020 12:01 pm
» Recensione Umidigi A3 Pro - Smartphone sotto i 100€
Da Admin Gio Apr 04, 2019 12:22 pm
» [Arduino] aiuto programma
Da Glak Mar Mar 12, 2019 9:30 am
» ERRORE NELLA COMPILAZIONE NEXTION
Da papat Mar Feb 26, 2019 7:11 am
» Comandare la Smart TV con Alexa senza broadlink (gratis)
Da Admin Mar Feb 19, 2019 4:31 pm
I postatori più attivi del mese
Nessun utente |
Errore compilazione Arduino
2 partecipanti
Pagina 1 di 1
Errore compilazione Arduino
Ciao a tutti,
sono un pensionato principiante,dopo essermi documentato con i vari esempi ,ho provato realizzare uno sketch da solo. Si tratta di far lampeggiare uno o più led mediante un lampeggio variabile tramite un potenziometro. La compilazione mi dice che c'è un errore e non riesco a risolverlo,l'errore dice questo:
Vi ringrazio anticipatamente.
Guido
sono un pensionato principiante,dopo essermi documentato con i vari esempi ,ho provato realizzare uno sketch da solo. Si tratta di far lampeggiare uno o più led mediante un lampeggio variabile tramite un potenziometro. La compilazione mi dice che c'è un errore e non riesco a risolverlo,l'errore dice questo:
Compilatore Arduino ha scritto:C:\Users\Vista\Documents\Arduino\Lampeggio_variabile_di_4_led\Lampeggio_variabile_di_4_led.ino: In function 'void loop()':
Lampeggio_variabile_di_4_led:24: error: invalid conversion from 'int (*)()' to 'long unsigned int' [-fpermissive]
delay(ritardo); // ritardo
- Codice:
// Lampeggio variabile di 1 led tramite un ponteziometro
#define led_verde 2 // led verde collegato al pin digitale 2
#define pot 0 // potenziometro collegato al pin analogico 0
int ritardo()
{
int v; // varibile temporanea intera
v = analogRead(pot); // lettura del valore del potenziometro
v /= 4; // conversione da 0-1023 a 0-255
return v; // restituisce il valore finale
}
void setup() {
pinMode(led_verde,OUTPUT); // inposta il pin 2 come output
int ritardo = 0; // fissare un valore di ritardo da un potenziometro
int v = 0; // variabile temporanea
}
void loop(){
digitalWrite(led_verde,HIGH); // accendo led verde
delay(ritardo); // ritardo
digitalWrite(led_verde,LOW); // spengo led verde
delay(ritardo); // ritardo
}
Vi ringrazio anticipatamente.
Guido
Guido Laferrari- Livello due
- Messaggi : 34
Crediti : 54
Reputazione : 2
Data d'iscrizione : 30.04.16
Re: Errore compilazione Arduino
Ciao @Guido Laferrari, hai mai pensato di "semplificarti" la vita organizzando una struttura di codice durante la programmazione? Ho visto che il codice ed è piuttosto mischiato e questo potrebbe causarti confusione.
Un consiglio personale è quello di utilizzare solo due funzioni e di strutturare il codice in questo modo:
Tornando al tuo codice, ho risolto il problema rimuovendo la funzione "ritardo" che hai creato, inserendola direttamente nel void loop come segue:
Per la conversione da 0-1023 a 0-255 ho usato una metodo molto interessante già presente all'interno della programmazione di Arduino, ovvero il map. Non preoccuparti, è molto semplice da comprendere e se ti interessa, qui trovi una spiegazione dettagliata su come funziona.
Comunque ho voluto fare di più! Ti ho anche sistemato il codice per renderlo più leggibile, seguendo le istruzioni che ti ho indicato all'inizio:
Spero di esserti stato di aiuto! Fammi sapere
Un consiglio personale è quello di utilizzare solo due funzioni e di strutturare il codice in questo modo:
- Codice:
//VARIABILI E DICHIARAZIONE PIN CHE TI SERVONO NEL CODICE
void setup () {
//qui imposti i componenti ed il tuo Arduino
}
void loop() {
//qui inserisci le istruzioni
}
Tornando al tuo codice, ho risolto il problema rimuovendo la funzione "ritardo" che hai creato, inserendola direttamente nel void loop come segue:
- Codice:
// Lampeggio variabile di 1 led tramite un ponteziometro
#define led_verde 2 // led verde collegato al pin digitale 2
#define pot 0 // potenziometro collegato al pin analogico 0
void setup() {
pinMode(led_verde,OUTPUT); // inposta il pin 2 come output
int ritardo = 0; // fissare un valore di ritardo da un potenziometro
int v = 0; // variabile temporanea
}
void loop(){
int ritardo = analogRead(pot); //raccolgo valori dal potenziometro
ritardo = map(ritardo, 0, 1023, 0, 255); //la funzione map fa la proporzione, facendo la conversione da 0-1023 a 0-255
digitalWrite(led_verde,HIGH); // accendo led verde
delay(ritardo); // ritardo
digitalWrite(led_verde,LOW); // spengo led verde
delay(ritardo); // ritardo
}
Per la conversione da 0-1023 a 0-255 ho usato una metodo molto interessante già presente all'interno della programmazione di Arduino, ovvero il map. Non preoccuparti, è molto semplice da comprendere e se ti interessa, qui trovi una spiegazione dettagliata su come funziona.
Comunque ho voluto fare di più! Ti ho anche sistemato il codice per renderlo più leggibile, seguendo le istruzioni che ti ho indicato all'inizio:
- Codice:
// Lampeggio variabile di 1 led tramite un ponteziometro
int led_verde = 2; // led verde collegato al pin digitale 2
int pot = A0; // potenziometro collegato al pin analogico 0
int ritardo = 0; // fissare un valore di ritardo da un potenziometro
void setup() {
pinMode(led_verde,OUTPUT); // imposta il pin 2 come output
}
void loop(){
ritardo = analogRead(pot); //raccolgo valori dal potenziometro
ritardo = map(ritardo, 0, 1023, 0, 255); //la funzione map fa la proporzione, facendo la conversione da 0-1023 a 0-255
digitalWrite(led_verde,HIGH); // accendo led verde
delay(ritardo); // ritardo
digitalWrite(led_verde,LOW); // spengo led verde
delay(ritardo); // ritardo
}
Spero di esserti stato di aiuto! Fammi sapere
Re: Errore compilazione Arduino
Ciao Admin,è la risposta che aspettavo,sei stato molto chiaro. è da poco che sto studiando Arduino e ho le idee molto confuse mi hai aiutato moltissimo, grazie grazie ancora.
Alla prossima
Guido
Alla prossima
Guido
Guido Laferrari- Livello due
- Messaggi : 34
Crediti : 54
Reputazione : 2
Data d'iscrizione : 30.04.16
Argomenti simili
» ERRORE NELLA COMPILAZIONE NEXTION
» ERRORE CARICAMENTO ARDUINO
» Errore nel programma del robot Arduino
» Programmare Arduino online - Arduino Create
» ERRORE LiquidCristal _I2C
» ERRORE CARICAMENTO ARDUINO
» Errore nel programma del robot Arduino
» Programmare Arduino online - Arduino Create
» ERRORE LiquidCristal _I2C
Pagina 1 di 1
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.