Go Down

Topic: problema con arduino uno (Read 401 times) previous topic - next topic

nightwolf

May 19, 2017, 02:01 am Last Edit: May 19, 2017, 01:22 pm by nightwolf
buona sera a tutti, mi chiamo francesco e sono nuovo, perciò perdonatemi se faccio qualche errore.
è da poco tempo che mi sto cimentando con arduino, per vari progetti, il mio problema però è che avendo scaricato il programma arduino ide, e avendo scaricato alcuni sketch che si trovano in rete il programma mi da sempre lo stesso errore, anche se provo a fare gli esempi del programma stesso.
mi spigo meglio, questo è cio che ho scaricato

Code: [Select]

#include <Keypad.h>
#include <Password.h>

int relay1 = 2;
int relay2 = 3;
int relay3 = 4;
int relay4 = 5;
int buzzer = 11;

int noAccesled = 9;
int AccesLed = 10;

int noAcces = 1;
int passinput = 0;

long flashvarled = 0;
long flashtimeled = 300;  

const byte ROWS = 4;
const byte COLS = 4;

char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}};
byte rowPins[ROWS] = {
12, 13, A5, A4};
byte colPins[COLS] = {
A3, A2, A1, A0};

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
Password password = Password("3241");

void setup(){
Serial.begin(9600);
pinMode(relay1, OUTPUT);
digitalWrite(relay1, 255);
pinMode(relay2, OUTPUT);
digitalWrite(relay2, 255);
pinMode(relay3, OUTPUT);
digitalWrite(relay3, 255);
pinMode(relay4, OUTPUT);
digitalWrite(relay4, 255);
pinMode(noAccesled, OUTPUT);
digitalWrite(noAccesled, 255);
pinMode(AccesLed, OUTPUT);
digitalWrite(AccesLed, 0);
pinMode(buzzer, OUTPUT);
}

void loop(){
char key = keypad.getKey();
if(noAcces){
  if(passinput){
    unsigned long currentvarled = millis();
    if(currentvarled - flashvarled > flashtimeled) {
      flashvarled = currentvarled;
      digitalWrite(noAccesled, !digitalRead(noAccesled));
    }
  }
  else{
    digitalWrite(noAccesled, 255);
  }
  digitalWrite(AccesLed, 0);
}
if (key != NO_KEY){
  Serial.println(key);
  password.append(key);
  passinput = 1;
  digitalWrite(buzzer, HIGH);
  delay(100);
  digitalWrite(buzzer, LOW);
  if(key == '*'){
    password.reset();
    passinput = 0;
    noAcces = 1;
    digitalWrite(relay1, 1);
    digitalWrite(relay2, 1);
    digitalWrite(relay3, 1);
    digitalWrite(relay4, 1);
  }
  if(password.evaluate()) {
    noAcces = !noAcces;
    password.reset();
    passinput = 0;
  }
  if(!noAcces) {
    passinput = 0;
    digitalWrite(noAccesled, 0);
    digitalWrite(AccesLed, 255);
    switch (key) {
      case 'A':
        digitalWrite(relay1, !digitalRead(relay1));
        break;
      case 'B':
        digitalWrite(relay2, !digitalRead(relay2));
        break;
      case 'C':
        digitalWrite(relay3, !digitalRead(relay3));
        break;
      case 'D':
        digitalWrite(relay4, !digitalRead(relay4));
        break;
    }
    password.reset();
  }
}
}


e questo è l errore che mi da quando provo a verificare il programma,

C:\Users\franco\Desktop\FJVXMJBION6N81E\FJVXMJBION6N81E.ino:41:36: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

Password password = Password("3241");

                                  ^

Lo sketch usa 3800 byte (11%) dello spazio disponibile per i programmi. Il massimo è 32256 byte.
Le variabili globali usano 366 byte (17%) di memoria dinamica, lasciando altri 1682 byte liberi per le variabili locali. Il massimo è 2048 byte.

in rete non ce niente che possa farmi capire dove è l errore, eppure dal video tutto funziona,
qualcuno può aiutarmi
grazie mille

Code: [Select]

gpb01

Prima di tutto, essendo il tuo primo post, nel rispetto del regolamento, ti chiedo cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... 

... poi, in conformità al suddetto regolamento, punto 7, devi editare il tuo post (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).

Grazie,

Guglielmo

P.S.: Qui una serie di link utili, NON necessariamente inerenti alla tua domanda:
- serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections
- pinout delle varie schede by xxxPighi: Pinout
- link generali utili: Link Utili
Search is Your friend ... or I am Your enemy !

gpb01

#2
May 19, 2017, 08:09 am Last Edit: May 19, 2017, 08:10 am by gpb01
Detto questo, nell'attesa che tu faccia quanto richiesto ...

... questo è l errore che mi da quando provo a verificare il programma,

C:\Users\franco\Desktop\FJVXMJBION6N81E\FJVXMJBION6N81E.ino:41:36: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
Come vedi NON è un errore (error), ma un 'avvertimento' (warning) su una cosa che è stata deprecata e che in futuro potrebbe non essere più supportata.

Difatti poi il compilatore ti dice

Lo sketch usa 3800 byte (11%) dello spazio disponibile per i programmi. Il massimo è 32256 byte.
Le variabili globali usano 366 byte (17%) di memoria dinamica, lasciando altri 1682 byte liberi per le variabili locali. Il massimo è 2048 byte.
... cioè che il programma è stato compilato, che l'eseguible occupa 3800 bytes, le vaiabili globali 366 e ... che puoi caricarlo sulla tua scheda.

Guglielmo
Search is Your friend ... or I am Your enemy !

nightwolf

grazie mille per tutti i consigli, il problema è che non mi fa caricare lo sketch

gpb01

... che errore ti riporta ? ? ?  Arduino originale o clone cinese ?

Guglielmo
Search is Your friend ... or I am Your enemy !

nightwolf

no no arduino originale, arduino uno made in italy, questo è l errore che mi porta,

Code: [Select]
C:\Users\franco\Desktop\FJVXMJBION6N81E\FJVXMJBION6N81E.ino:41:36: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

 Password password = Password("3241");

                                    ^

Lo sketch usa 3800 byte (11%) dello spazio disponibile per i programmi. Il massimo è 32256 byte.
Le variabili globali usano 366 byte (17%) di memoria dinamica, lasciando altri 1682 byte liberi per le variabili locali. Il massimo è 2048 byte.
avrdude: ser_open(): can't set com-state for "\\.\COM4"
Errore durante il caricamento dello sketch

questo con il programma che sto usando, mentre con gli esempi di arduino mi da quest altro errore

Code: [Select]
Lo sketch usa 928 byte (2%) dello spazio disponibile per i programmi. Il massimo è 32256 byte.
Le variabili globali usano 9 byte (0%) di memoria dinamica, lasciando altri 2039 byte liberi per le variabili locali. Il massimo è 2048 byte.
avrdude: ser_open(): can't set com-state for "\\.\COM4"
Errore durante il caricamento dello sketch

arduino è settato come scheda arduino / genuino uno e come porta com4
grazie mille

astrobeed

L'errore non ha nulla a che vedere con lo sketch, o l'IDE, ti viene detto chiaramente che c'è un problema per l'accesso/utilizzo alla COM4, ovvero è un problema legato  alla porta seriale.
Solitamente questo tipo di problema capita quando si lascia fare a Windows in automatico per l'installazione del driver per Arduino, possibile soluzioni, stacca la connessione da internet, vai in gestione periferiche e disinstalla completamente, incluso il software, la com4, scollega Arduino, ricollegalo e stavolta fai installare i driver usando quelli presenti nel IDE tramite l'installazione manuale.
Scientia potentia est

nightwolf

#7
May 20, 2017, 12:19 pm Last Edit: May 20, 2017, 12:27 pm by nightwolf
buon giorno a tutti, niente di fatto.
ho fatto di tutto, disinstallato driver, software, scollegato arduino, ricollegato, installato manualmente i driver, aggiornato anche il software arduino, ma quando installo i driver mi esce la scritta impossibile avviare il dispositivo codice 10, ho visto in rete cosa significa ed è un problema legato al driver, ma il driver è aggiornato, non so più cosa fare.
grazie mille

gpb01

#8
May 20, 2017, 01:25 pm Last Edit: May 20, 2017, 01:26 pm by gpb01
... il driver che hai installato manualmente lo hai preso da dentro la cartella di Arduino vero ?

Se dalla "Gestione del Computer", apri la "Gestione dispositivi", con Arduino collegato, cosa ti riporta nella sezione delle porte COM ? Eventualmente fai uno screenshot  ed allegalo.

Guglielmo
Search is Your friend ... or I am Your enemy !

nightwolf

#9
May 23, 2017, 11:37 am Last Edit: May 23, 2017, 11:46 am by nightwolf
buon giorno a tutti, scusate se non ho potuto rispondere prima, ma dopo svariati giorni di prova, ho preso tutto il lavoro e l ho caricato su un altro computer e come per magia tutto funziona, adesso non so come mai, ma nell altro computer non andava,
grazie mille a tutti.

Go Up