Vai al contenuto
PLC Forum


arduino aiuto programmazione


Francesco Querin

Messaggi consigliati

Francesco Querin

ciao vi metto il mio programma qui ci sono tutti i pulsanti di ingresso e tutte le uscite del motore passo passo non metto la sequenza perché non mi da problemi

int buttonA = 5;
int buttonB = 9;
int buttonC = 11;
int tempo = 10;
int matita=digitalRead(buttonC)==HIGH;
int gomma=digitalRead(buttonC)==LOW;
void setup() {
  pinMode(buttonA, INPUT);
  pinMode(buttonB, INPUT);
  pinMode(0, OUTPUT);
  pinMode(1, OUTPUT);
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(buttonC, INPUT);
  pinMode(13, OUTPUT);
 
}
void loop() {
  if( digitalRead(buttonA)==HIGH, gomma)
  for (int marciadestra=0; marciadestra>1000; marciadestra++)

 

 

ecco il problema

if( digitalRead(buttonA)==HIGH, gomma)
  for (int marciadestra=0; marciadestra>1000; marciadestra++)

sintassi e ok ma non funzioza e se faccio

if( digitalRead(buttonA)==HIGH, gomma)
  for (int marciadestra=0; marciadestra=1000; marciadestra++)

funziona ma non rispetta la programmazione di stop e continua ininterrottamente devo fare una programmazione di questo tipo se o quando il pulsante a e premuto fai partire un ciclo finche il pulsante c non e premuto penso di usare il ciclo for come memorizzazione della funzione, avendo appena iniziato da autodidatta e seguendo qualche video su youtube non conosco e non so come usare la programmazione conosco int long float if while do while for e qualcosa in più livello base, mi potete aiutare.

semplificando

if( digitalRead(buttonA)==HIGH)
  for (int marciadestra=0; marciadestra>1000; marciadestra++)

lo stesso non cambia niente > o < non parte con = parte ma non legge la costante gomma per cui quando il pulsante c e alto non blocca il ciclo for

 

Link al commento
Condividi su altri siti


Francesco Querin

if(digitalRead(buttonA)==HIGH)
  for(int marciadestra; marciadestra=digitalRead(buttonC)==LOW; )
  cosi funziona perfettamente grazie comunque ho risolto

Link al commento
Condividi su altri siti

Mi sembra di capire che sei nuovo utente, per essere corretti qui non funziona così, hai risolto: come? Dove era errore?

Link al commento
Condividi su altri siti

  • 4 weeks later...
Francesco Querin

if(digitalRead(buttonA)==HIGH)
  for(int marciadestra; marciadestra=digitalRead(buttonC)==LOW; )
  scusate ho letto ieri le netiquette e ho visto ora i commenti in questa discussione come ho gia detto l'errore era che ho metti l'inizio il numero di stop e l'incremento o dichiari la variabile e metti la variabile uguale a una lettura per l'appunto dichiarando un inizio e mettendo la variabile uguale a una lettura piu l'incremento non ti legge la lettura

 

if(digitalRead(buttonA)==HIGH)
  for(int marciadestra; marciadestra=digitalRead(buttonC)==LOW; )

scrivendo questo vedete la variabile dichiarata e la variabile messa uguale alla lettura bassa di un pulsante pensavo che avendo scritto il codice pensavo sarebbe bastato questo e invece a quanto pare bisogna scrivere anche come lo si e risolto  

 

 

 

Link al commento
Condividi su altri siti

Quote

invece a quanto pare bisogna scrivere anche come lo si e risolto

 

Non è obbligatorio, è solo una gentilezza nei confronti di chi ha risposto; in genere predispone meglio per le future collaborazioni.

Link al commento
Condividi su altri siti

Francesco Querin

capito, pensavo che avendo scritto il programma si capisse come ho risolto, comunque scrivo anche a parole per maggiore chiarimento

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...