Loading...
  Show Posts
Pages: [1]
1  Using Arduino / Displays / brightness and contrast on: May 02, 2013, 03:52:48 pm
I was inspired by a menu on the net and I would like to adjust the brightness and contrast of my screen (HD44780) through this menu. how can I do this using 2 analog pins?
if you can give me the code already done would be even better.
2  International / Software / Re: Problemi nel codice? on: November 11, 2012, 03:15:50 pm
si ma ora come lo sistemo? ho caricato il codice di PaoloP ma come dice "sicura inserita, disinserire" non risponde più
3  International / Software / Re: Problemi nel codice? on: November 11, 2012, 03:00:12 pm
non va, si blocca dopo l'avvio
4  International / Software / Re: Problemi nel codice? on: November 11, 2012, 11:28:03 am
@PaoloP: ti (vi, a tutti) farò sapere questa sera perchè (intelligentemente...) non ho dietro il cavo per arduino...sono d'accordo con le tue correzioni e grazie per avermi informato per quell'impostazione dei pin analogici che basta rinominarli come 14, 15,...
per la sicura avevo in mente proprio di mettere un interruttore, l'ho fatto apposta a non metterci una variabile per usare un pulsante semplice

@tuxduino: ma se il pulsante annulla è messo fuori dal countdown perchè non dovrebbe rispondere mentre scorre il tempo?
5  International / Software / Re: Problemi nel codice? on: November 11, 2012, 10:58:23 am
@leo72: si, per la precisione leggo 6 pulsanti.

@tuxduino: metterò dei nomi alle variabili più precisi, scusa ma non ci avevo pensato, aggiungerò delle spiegazioni emettrò in ordine. il programma sarebbe un timer che allo scadere del tempo deve emettere un segnale sul pin13 per 100 millisecondi. deve avere 30 secondi(pin7) / 2 minuti(pin8) di countdown in base a quale pultante viene premuto più una protezione (pin10) e uno stop del conteggio (pin9) più un pulsante che fa emettere subito al pin13 il segnale (sempre per 100 millisecondi).

@PaoloP: per fare il pulsante ho seguito questa guida: http://www.maffucci.it/2010/12/06/arduino-lezione-03-controlliamo-un-led-con-un-pulsante/
6  International / Software / Re: Problemi nel codice? on: November 11, 2012, 07:14:30 am
ho fatto le correzioni ma continua ad andare un po per i fatti suoi e ritorna agli stati sbagliati

Questo è il nuovo codice:

Code:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int timemin;
int timesec;
int ist;
int time1;
int time2;
int ann;
int sic;
int start;
boolean sic1=false;
boolean countdown=false;
boolean countdown1=false;
boolean countdown2=false;
boolean ciclo=false;

void setup(){
  pinMode(1,INPUT); //start
  pinMode(6,INPUT); //istantaneo
  pinMode(7,INPUT); //30sec
  pinMode(8,INPUT); //2min
  pinMode(9,INPUT); //annulla
  pinMode(10,INPUT); //sicura
  pinMode(13,OUTPUT); //uscita segnale
  lcd.begin(16, 2);
}

void loop(){
  start=digitalRead(1);
  ist=digitalRead(6);
  time1=digitalRead(7);
  time2=digitalRead(8);
  ann=digitalRead(9);
  sic=digitalRead(10);
  if(sic1==true && ciclo==true){
    if(ist==HIGH){
      digitalWrite(13,HIGH);
      delay(100);
      digitalWrite(13,LOW);
    }
    if(time1==HIGH){
      timesec=30;
    }
    if (time2==HIGH){
      timesec=120;
    }
    if(start==HIGH){
      countdown=true;
    }
  }
  if(ann==HIGH){
    ciclo=false;
  }
  else{
    ciclo=true;
  }
  if(sic==HIGH){
    sic1=true;
    lcd.clear();
  }
  else{
    lcd.setCursor(0,0);
    lcd.print("Sicura Inserita");
    lcd.setCursor(0,1);
    lcd.print("Disinserire");
  }   
  if(sic1==true){
    lcd.print("Pronto");
  }
  if(countdown==true){
    if(countdown1==true){
      if(timesec==30){
        lcd.setCursor(1,0);
        lcd.print("Cntdwn avviato");
        lcd.setCursor(1,1);
        lcd.print(timemin);
        lcd.print(":");
        lcd.print(timesec);
        for(timesec=30;timesec<0;timesec-=1){
          delay(1000);
        }
      }
    }
    if(countdown2==true){
      if(timesec==120){
        lcd.setCursor(1,0);
        lcd.print("Cntdwn avviato");
        lcd.setCursor(1,1);
        lcd.print(timemin);
        lcd.print(":");
        lcd.print(timesec);
        if(timesec>60){
          timesec=0;
          timemin+=1;
        }
        for(timesec=120;timesec<0;timesec-=1){
          delay(1000);
        }
      }
    }
  }
  else{
    countdown=false;
  }
  if(timesec==0&&timemin==0&&countdown==true){
    digitalWrite(13,HIGH);
    delay(200);
    digitalWrite(13,LOW);
  }
}
7  International / Software / Problemi nel codice? on: November 11, 2012, 05:50:45 am
Sfrutto questo porto per presentarmi e poi per presentare il mio problema.
mi piace l'elettronica da molti anni e ora che ho trovato Arduino mi sto cimentando nel suo utilizzo ma ho dei problemi perchè di programmazione non so molto.

Questo è il mio codice:


Code:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int timemin;
int timesec;
int ist;
int time1;
int time2;
int ann;
int sic;
int start;
boolean countdown=false;
boolean countdown1=false;
boolean countdown2=false;
boolean ciclo=false;

void setup(){
  pinMode(1,INPUT); //start
  pinMode(6,INPUT); //istantaneo
  pinMode(7,INPUT); //30sec
  pinMode(8,INPUT); //2min
  pinMode(9,INPUT); //annulla
  pinMode(10,INPUT); //sicura
  pinMode(13,OUTPUT); //uscita segnale
  lcd.begin(16, 2);
}

void loop(){
  start=digitalRead(1);
  ist=digitalRead(6);
  time1=digitalRead(7);
  time2=digitalRead(8);
  ann=digitalRead(9);
  sic=digitalRead(10);
  if(sic=HIGH && ciclo==true){
    if(ist=HIGH){
      digitalWrite(13,HIGH);
      delay(100);
      digitalWrite(13,LOW);
    }
    if(time1=HIGH){
      timesec=30;
    }
    if (time2=HIGH){
      timesec=120;
    }
    if(start=HIGH){
      countdown=true;
    }
  }
  if(ann=HIGH){
    ciclo=false;
  }
  else{
    ciclo=true;
  }
  if(sic=LOW){
    lcd.setCursor(1,0);
    lcd.print("Sicura Inserita");
  }
  if(countdown=true){
    if(countdown1=true){
      if(timesec=30){
        lcd.setCursor(1,0);
        lcd.print("Cntdwn avviato");
        lcd.setCursor(1,1);
        lcd.print(timemin);
        lcd.print(":");
        lcd.print(timesec);
        for(timesec=30;timesec<0;timesec-=1){
          delay(1000);
        }
      }
    }
    if(countdown2=true){
      if(timesec=120){
        lcd.setCursor(1,0);
        lcd.print("Cntdwn avviato");
        lcd.setCursor(1,1);
        lcd.print(timemin);
        lcd.print(":");
        lcd.print(timesec);
        if(timesec>60){
          timesec=0;
          timemin+=1;
        }
        for(timesec=120;timesec<0;timesec-=1){
          delay(1000);
        }
      }
    }
  }
  else{
    countdown=false;
  }
  if(timesec=0&&timemin==0){
    digitalWrite(13,HIGH);
    delay(200);
    digitalWrite(13,LOW);
  }
}


appena accendo la board sullo schermo appare "Cntdwn avviato" e timemin:timesec aumentano a dismisura all'infinito.
cosa c'è di sbagliato? (non mangiatemi)
Pages: [1]