Primo esperimento - arduino bloccato

Buongiorno a tutti, ho fatto il primo esperimento ho caricato una libreria la menwiz per l’esattezza e sono riuscito a bloccare ARDUINOOO ]:slight_smile:

adesso quando accendo compare così, avete soluzioni !?!?!!?! :cold_sweat:

Ma sei sicuro che sia bloccato, cioè non puoi scrivergli altri firmware?

Oppure pensi che un output anomalo sul display voglia dire per forza che il codice non gira, quindi bloccato.

Dacci altre info, perchè così non rimane che sparare a caso.

Ciao.

Allora a scrivere riesco tranquillamente, sembra sia più un'output anomalo del display!!! Ho provato a caricare altri programmi ma il display non cambia :roll_eyes:

Ma allora la cosa più saggia e quella di provare un esempio che usi il display. Ci dovrebbe essere qualcosa di pronto tra gli esempi di Arduino IDE.

Se l'esempio funziona ci sarà di sicuro un errore nel codice.

mmmmm.... posta il codice che stai usando, ma comunque nell'attesa prova un esempio di sicuro funzionamento.

Ciao.

E' il secondo utente in pochi giorni che manifesta lo stesso problema di quella fila di rettangoli pieni usando questo shield.
Sarà un caso?

ho provato diversi sorgenti per il display molto semplici, anche per far lampeggiare un singolo cursore, ma niente da fare, rimangono sempre quei benedetti quadrati!!! Contatto il venditore o pensate che posso fare qualche ulteriore prova, purtroppo ho a disposizione solo quel display :.

Prima di sentire il venditore potresti postare nel forum una foto dei collegamenti e il codice che non ti funziona.
Magari c'e' un errore nei collegamenti o nel codice che usi.
Ma la schedina e il display dove li hai comprati? Sei sicuro siano compatibili tra loro?

Stampey74:
ho provato diversi sorgenti per il display molto semplici, anche per far lampeggiare un singolo cursore,

Ma il display prima funzionava, e se si con quale software, oppure non ha mai funzionato ?

Ciao,

per caso hai messo le mani sul trimmer in alto a sinistra? Quello è il contrasto e se è troppo elevato potrebbe farti quello scherzo...

pighixxx:
Quello è il contrasto e se è troppo elevato potrebbe farti quello scherzo...

Vero, però in questo caso non dovrebbe vedere nulla sul display,la fila di quadratini è tipica del display appena acceso senza nessuna inizializzazione.

astrobeed:
Vero, però in questo caso non dovrebbe vedere nulla sul display,la fila di quadratini è tipica del display appena acceso senza nessuna inizializzazione.

Hai ragione.

Allora, lo shield e montato direttamente su arduino, il display ha funzionato solo una volta con questo codice :

#include <LiquidCrystal.h>
#include <LCDKeypad.h>

#define MINVAL 1
#define MAXVAL 1000

LCDKeypad lcd;

byte c_up[8] = {
  B00100,
  B01110,
  B10101,
  B00100,
  B00100,
  B00100,
  B00100,
  B00100,
};

byte c_down[8] = {
  B00100,
  B00100,
  B00100,
  B00100,
  B00100,
  B10101,
  B01110,
  B00100,
};

byte c_select[8] = {
  B00000,
  B01110,
  B11111,
  B11111,
  B11111,
  B11111,
  B01110,
  B00000,
};

void setup()
{
  int i,k;

  lcd.createChar(1,c_select);
  lcd.createChar(2,c_up);
  lcd.createChar(3,c_down);
  lcd.begin(16, 2);
  lcd.clear();
  lcd.print("     Guess");
  lcd.setCursor(0,1);
  lcd.print("   The Number");
  delay(3000);
  for (k=0;k<3;k++)
  {
    lcd.scrollDisplayLeft();
    delay(200);
  }
  for (i=0;i<3;i++)
  {
    for (k=0;k<6;k++)
    {
      lcd.scrollDisplayRight();
      delay(200);
    }
    for (k=0;k<6;k++)
    {
      lcd.scrollDisplayLeft();
      delay(200);
    }
  }
  for (k=0;k<16;k++)
  {
    lcd.scrollDisplayLeft();
    delay(200);
  }
}

void loop()
{
  int bottom=MINVAL, top=MAXVAL;
  int trynumber=0;
  int guess, buttonPressed;

  lcd.clear();
  lcd.print("Make up a number");
  lcd.setCursor(0,1);
  lcd.print("from ");
  lcd.print(MINVAL,DEC);
  lcd.print(" to ");
  lcd.print(MAXVAL,DEC);
  lcd.print(" ");
  waitButton();
  waitReleaseButton();
  do
  {
    lcd.clear();
    guess=bottom+(top-bottom)/2;
    trynumber++;

    lcd.print("Is it ");
    lcd.print(guess,DEC);
    lcd.print("?");
    lcd.setCursor(0,1);
    lcd.write(1);
    lcd.write(' ');
    lcd.write(2);
    lcd.write(' ');
    lcd.write(3);
    lcd.write(' ');
    do
    {
      buttonPressed=waitButton();
    }
    while(!(buttonPressed==KEYPAD_SELECT || buttonPressed==KEYPAD_UP || buttonPressed==KEYPAD_DOWN));
    lcd.setCursor(0,1);
    lcd.write(buttonPressed==KEYPAD_SELECT?1:' ');
    lcd.write(' ');
    lcd.write(buttonPressed==KEYPAD_UP?2:' ');
    lcd.write(' ');
    lcd.write(buttonPressed==KEYPAD_DOWN?3:' ');
    delay(100);
    waitReleaseButton();
    if (buttonPressed==KEYPAD_UP)
    {
      bottom=constrain(guess+1,MINVAL,top);
    }
    else if (buttonPressed==KEYPAD_DOWN)
    {
      top=constrain(guess-1,bottom,MAXVAL);
    }
  }
  while (buttonPressed!=KEYPAD_SELECT && top!=bottom);
  lcd.clear();
  if (top==bottom)
  {
    lcd.print("It must be ");
    guess=top;
  }
  else
  {
    lcd.print("It is ");
  }
  lcd.print(guess,DEC);
  lcd.print("!");
  lcd.setCursor(0,1);
  lcd.print("Tries: ");
  lcd.print(trynumber,DEC);
  lcd.print(" ");
  waitButton();  
  waitReleaseButton();  
}

int waitButton()
{
  int buttonPressed; 
  waitReleaseButton;
  lcd.blink();
  while((buttonPressed=lcd.button())==KEYPAD_NONE)
  {
  }
  delay(50);  
  lcd.noBlink();
  return buttonPressed;
}

void waitReleaseButton()
{
  delay(50);
  while(lcd.button()!=KEYPAD_NONE)
  {
  }
  delay(50);
}

Ovviamente con la sua libreria preso tutto da qui, http://www.dfrobot.com/index.php?route=product/product&product_id=51#.UUyRBW9uveI

ha funzionato una solo volta e poi il nulla…

ha funzionato una solo volta e poi il nulla...

Significa che adesso con lo stesso sketch non funziona piú?

Controla le saldature dello shield/display. Forse hai una saldatura che non fa (bene) contatto.

Ciao Uwe

controllata, sembra tutto regolare, sembra come bloccato, ma non dipenderà dall'arduino?!?

Fai una prova:
Togli lo shield.
Apri l’IDE e tra gli esempi in 02.Digital carica BlinkWithoutDelay
Fai l’upload su Arduino e controlla se il led 13 (integrato sulla scheda) lampeggia.
Se va, Arduino funziona.

Provato, il controller funziona per fortuna, deve essere qualche problema del dispaly, continuo a fare prove, e vi faccio sapere.

Grazie a tutti della pazienza 8)

Se non mi sbaglio lo shield è della dfrobot (cinese) che può alloggiare un diplay lcd.
Se arduino funziona, ora dovrai capire se è il display o lo shield che non funzionano.

Lo shield ha dei pulsanti. Quelli funzionano? Puoi fare un programmino che alla pressione di uno di quei tasti accendano il led del pin 13?
Almeno puoi sapere se lo shield in parte funziona.

Poi LCD è staccabile dallo shield? Puoi trovare numerosi esempi di collegamento di LCD direttamente ad Arduino senza uno shield.
In questo modo cercheremo di capire CHI non funziona.

ok provo a fare un programmino per vedere se i tasti funzionano, il display è saldato sulla shiled!!