Pages: [1]   Go Down
Author Topic: Errore nella sketch... chi mi aiuta??  (Read 529 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao a tutti oggi è arrivato l'Arduino Uno rev3 e provando a smanettare con gli esempi e modificandoli non ho avuto problemi ma adesso sto realizzando un incrocio con 4 semafori, con la simulazione realistica però quando faccio verifica mi da questi erròri:

Quote
Semaforo_2vie.ino:13:5: error: invalid suffix "red" on integer constant
Semaforo_2vie.ino:14:5: error: invalid suffix "yel" on integer constant
Semaforo_2vie.ino:15:5: error: invalid suffix "gre" on integer constant
Semaforo_2vie.ino:17:5: error: invalid suffix "red" on integer constant
Semaforo_2vie.ino:18:5: error: invalid suffix "yel" on integer constant
Semaforo_2vie.ino:19:5: error: invalid suffix "gre" on integer constant
Semaforo_2vie.ino:21:5: error: invalid suffix "red" on integer constant
Semaforo_2vie.ino:22:5: error: invalid suffix "yel" on integer constant
Semaforo_2vie.ino:23:5: error: invalid suffix "gre" on integer constant
Semaforo_2vie.ino:25:5: error: invalid suffix "red" on integer constant
Semaforo_2vie.ino:26:5: error: invalid suffix "yel" on integer constant
Semaforo_2vie.ino:27:5: error: invalid suffix "gre" on integer constant
Semaforo_2vie.ino:30:10: error: invalid suffix "red" on integer constant
Semaforo_2vie.ino:31:10: error: invalid suffix "yel" on integer constant
Semaforo_2vie.ino:32:10: error: invalid suffix "gre" on integer constant
Semaforo_2vie.ino:33:10: error: invalid suffix "red" on integer constant
Semaforo_2vie.ino:34:10: error: invalid suffix "yel" on integer constant
Semaforo_2vie.ino:35:10: error: invalid suffix "gre" on integer constant
Semaforo_2vie.ino:36:10: error: invalid suffix "red" on integer constant
Semaforo_2vie.ino:37:10: error: invalid suffix "yel" on integer constant
Semaforo_2vie.ino:38:10: error: invalid suffix "gre" on integer constant
Semaforo_2vie.ino:39:10: error: invalid suffix "red" on integer constant
Semaforo_2vie.ino:40:10: error: invalid suffix "yel" on integer constant
Semaforo_2vie.ino:41:10: error: invalid suffix "gre" on integer constant
Semaforo_2vie.ino:46:15: error: invalid suffix "red" on integer constant
Semaforo_2vie.ino:47:15: error: invalid suffix "red" on integer constant
Semaforo_2vie.ino:48:15: error: invalid suffix "gre" on integer constant
Semaforo_2vie.ino:49:15: error: invalid suffix "gre" on integer constant
Semaforo_2vie.ino:51:15: error: invalid suffix "gre" on integer constant
Semaforo_2vie.ino:52:15: error: invalid suffix "gre" on integer constant
Semaforo_2vie.ino:54:15: error: invalid suffix "yel" on integer constant
Semaforo_2vie.ino:55:15: error: invalid suffix "yel" on integer constant
Semaforo_2vie.ino:57:15: error: invalid suffix "yel" on integer constant
Semaforo_2vie.ino:58:15: error: invalid suffix "yel" on integer constant
Semaforo_2vie.ino:60:15: error: invalid suffix "red" on integer constant
Semaforo_2vie.ino:61:15: error: invalid suffix "red" on integer constant
Semaforo_2vie.ino:63:15: error: invalid suffix "red" on integer constant
Semaforo_2vie.ino:64:15: error: invalid suffix "red" on integer constant
Semaforo_2vie.ino:66:15: error: invalid suffix "gre" on integer constant
Semaforo_2vie.ino:67:15: error: invalid suffix "gre" on integer constant
Semaforo_2vie.ino:69:15: error: invalid suffix "gre" on integer constant
Semaforo_2vie.ino:70:15: error: invalid suffix "gre" on integer constant
Semaforo_2vie.ino:72:15: error: invalid suffix "yel" on integer constant
Semaforo_2vie.ino:73:15: error: invalid suffix "yel" on integer constant
Semaforo_2vie.ino:75:15: error: invalid suffix "yel" on integer constant
Semaforo_2vie.ino:76:15: error: invalid suffix "yel" on integer constant
Semaforo_2vie.ino:78:15: error: invalid suffix "red" on integer constant
Semaforo_2vie.ino:79:15: error: invalid suffix "red" on integer constant
Semaforo_2vie:13: error: expected unqualified-id before numeric constant
Semaforo_2vie:14: error: expected unqualified-id before numeric constant
Semaforo_2vie:15: error: expected unqualified-id before numeric constant
Semaforo_2vie:17: error: expected unqualified-id before numeric constant
Semaforo_2vie:18: error: expected unqualified-id before numeric constant
Semaforo_2vie:19: error: expected unqualified-id before numeric constant
Semaforo_2vie:21: error: expected unqualified-id before numeric constant
Semaforo_2vie:22: error: expected unqualified-id before numeric constant
Semaforo_2vie:23: error: expected unqualified-id before numeric constant
Semaforo_2vie:25: error: expected unqualified-id before numeric constant
Semaforo_2vie:26: error: expected unqualified-id before numeric constant
Semaforo_2vie:27: error: expected unqualified-id before numeric constant

Ecco la sketch che sto scrivendo (non è finita):
Quote
/* ***SEMAFORO INCROCIO: 2 VIE***

Elenco materiale:
4led rossi
4led gialli
4led verdi
12resistenze 220ohm


*/

//Semaforo 1 nord
int 1red = 2;
int 1yel = 3;
int 1gre = 4;
//Semaforo 3 sud
int 3red = 5;
int 3yel = 6;
int 3gre = 7;
//Semaforo 2 est
int 2red = 8;
int 2yel = 9;
int 2gre = 10;
//Semaforo 4 ovest
int 4red = 11;
int 4yel = 12;
int 4gre = 13;

void setup() {
 pinMode(1red, OUTPUT);
 pinMode(1yel, OUTPUT);
 pinMode(1gre, OUTPUT);
 pinMode(3red, OUTPUT);
 pinMode(3yel, OUTPUT);
 pinMode(3gre, OUTPUT);
 pinMode(2red, OUTPUT);
 pinMode(2yel, OUTPUT);
 pinMode(2gre, OUTPUT);
 pinMode(4red, OUTPUT);
 pinMode(4yel, OUTPUT);
 pinMode(4gre, OUTPUT);

}

void loop() {
 digitalWrite(1red, HIGH);
 digitalWrite(3red, HIGH);
 digitalWrite(2gre, HIGH);
 digitalWrite(4gre, HIGH);
 delay(5000);
 digitalWrite(2gre, LOW);
 digitalWrite(4gre, LOW);
 delay(1);
 digitalWrite(2yel, HIGH);
 digitalWrite(4yel, HIGH);
 delay(2000);
 digitalWrite(2yel, LOW);
 digitalWrite(4yel, LOW);
 delay(1);
 digitalWrite(2red, HIGH);
 digitalWrite(4red, HIGH);
 delay(1000);
 digitalWrite(1red, LOW);
 digitalWrite(3red, LOW);
 delay(1);
 digitalWrite(1gre, HIGH);
 digitalWrite(3gre, HIGH);
 delay(5000);
 digitalWrite(1gre, LOW);
 digitalWrite(3gre, LOW);
  delay(1);
 digitalWrite(1yel, HIGH);
 digitalWrite(3yel, HIGH);
 delay(2000);
 digitalWrite(1yel, LOW);
 digitalWrite(3yel, LOW);
 delay(1);
 digitalWrite(1red, LOW);
 digitalWrite(3red, LOW);
 delay(1);
 
 
}

Mi sapreste dire cos'ho sbagliato???

Grazie
Logged

Genova
Offline Offline
Faraday Member
**
Karma: 17
Posts: 2753
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non puoi nominare le variabili iniziando con un numero

byte red_1 = 2;
byte yel_1 = 3;
byte gre_1 = 4;

sostituisci int con byte
Logged

Meglio imparare dalle cose inutili piuttosto che non imparare niente.   [Arduino Mega R3 + Ethernet shield W5100 + SD card 8Gb FAT32]

Marche
Offline Offline
Edison Member
*
Karma: 32
Posts: 2263
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Fa questa prova, cambia i nomi dei pin. Non farli iniziare con un numero, per distinguerli il numero mettilo alla fine

1red ---> red1
2gre ---> gre2
...
...

edit:
@pablos  mi hai anticipato allora aggiungo un'altra cosa:
aggiungi anche "const" prima delle vaiabili

const byte red_1 = 2;

 smiley-wink
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

grazie mille ragazzi!!!

adesso mi fate venire dei dubbi...

devo mettere

Quote
int red1=2
o
int cost red1=2
oppure
contest byte red1=2

Cosa dovrebbe cambiare??

Grazie ancora
Logged

Marche
Offline Offline
Edison Member
*
Karma: 32
Posts: 2263
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

L'espressione più corretta è
Code:
const byte red1 = 2;
dove
const sta per costante (dato che non cambierà valore nello sketch) serve per occupare meno memoria;
byte è il tipo di variabile; dato che il valore non supera 255 conviene dichiarare le variabili come byte piuttosto che integer (int) perchè anche in questo caso si va a risparmiare sulla memoria.
Ricordati di mettere il punto e virgola alla fine
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie per la spiegazione

con int non ho mai messo il ";" e ha sempre funzionato, tutt'oggi.

per fisparmiare memoria userà const byte.

ps: non riesco a trovare uno sketch giusto per misurare la temperatura con LM35, sapete indicarmene uno??

Grazie
Logged

Offline Offline
Edison Member
*
Karma: 26
Posts: 1339
You do some programming to solve a problem, and some to solve it in a particular language. (CC2)
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
con int non ho mai messo il ";" e ha sempre funzionato, tutt'oggi.

Il ; è il terminatore di statement del C e del C++. Se ne manchi anche solo uno, il programma non compila o, nella peggiore delle ipotesi, introduci un malfunzionamento potenzialmente difficile da individuare.
Questo in linea generale.

Sarebbe interessante se postassi un programma che ha "funzionato" anche "senza il ;" smiley

PS: la richiesta del ; non dipende dal tipo di variabile dichiarata. E' un elemento sintattico generale.
Logged

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 103
Posts: 6591
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

non riesco a trovare uno sketch giusto per misurare la temperatura con LM35, sapete indicarmene uno??
--> http://www.adrirobot.it/sensori/lm35/scheda_arduino_lm35.htm

Giusto per chi? o per cosa?  smiley-roll-sweat
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Pages: [1]   Go Up
Jump to: