Pages: [1]   Go Down
Author Topic: Arduino Mega +Display seriale/I2C 20x4 Devantech  (Read 1782 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 50
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao a tutti,ho un problema con il mio display seriale in quanto lancio lo sketch e lui mi dà la scrittache voglio ma non posizionata nel modo giusto, cioè: se per esempio il serial.print è così:

Code:
void mainmenu()
{
  Serial.print("?f");
  delay(50);
  Serial.print("?x01?y01  Paolo Carlo");
  delay(50);
  Serial.print("?x01?y12  Mamma Papà");
  delay(50);
  Serial.print("?x01?y23  Luca Paolo");
  delay(50);
  Serial.print("?x01?y34  Setup Menu");
  delay(50);

Lui sul display mi indica così:
?x01?y23  Luca Paolo?x01?y34  Setup Menu ,come se non capisce le coordinate,giusto?
« Last Edit: September 01, 2010, 04:53:08 am by SAMPEI80 » Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21871
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao SAMPEI80
Sappiamo tanto ma non siamo ancora indovini o veggenti.
Quale display hai? Eventualmetne con quale schedina d' interfaccia?
Senó posso solo dirti: Consulta la documantazione del display e gli esempi inclusi.
Ciao Uwe
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 50
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Se leggi il titolo del post è chiarissimo,comunque ho arduino mega e un display seriale/I2C 20x4 Devantech
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21871
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao SAMPEI80
Non mi é chiaro.
Ci sono comandi che l'interfaccia seriale interpreta. Quelli dipendono dal interfaccia o dal diplay che ha integrato l' interfaccia.

I normali LCD con il controller HD44780 non ha un interfaccia seriale.

Percui io posso aiutarti se mi dici che Display o elettronica di interfaccia stai usando.

Ciao Uwe


Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 50
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok guarda questo in allegato è il manuale del display dove c'è anche l'adattatore seriale che utilizza

http://www.robot-italy.com/product_info.php?products_id=92

sul piccolo adattatore c'è un integrato e c'è scritto:
PIC16F819
« Last Edit: September 01, 2010, 07:11:05 am by SAMPEI80 » Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21871
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao SAMPEI80
Scusami se ho insistito ma capirai quando leggi quello che scrivo.

Mi riferisco alla lista comandi sulla pagina 3 di http://www.robot-italy.net/downloads/lcd03.PDF

Il tuo errore é che mandi i comandi per il display come carattere ascii e non come numero.

Il comando (in decimale) 2 o in esadecimale 0x02 ( si scrive "0x" davanti per dire che é un numero esadecimale) mette il cursore su una posizione del display; Valori ammessi 1 a 80.
Il comando 3 mette il cursore su una posizione dando come valori la riga e poi la colonna.

se vuoi scrivere nella prima riga "Paolo Carlo" devi scrivere al posto di:

Serial.print("?x01?y01  Paolo Carlo");
Serial.print(3); Serial.print(1);Serial.print(1);Serial.print("Paolo Carlo");

Serial.print("?x01?y12  Mamma Papà");
Serial.print(3); Serial.print(2);Serial.print(1);Serial.print("Mamma Papà"); // oppure
Serial.print(2); Serial.print(21);Serial.print("Mamma Papà");  // non só se la "a" coll'accento é presente come lettera nel set di caratteri del display; prova. se non c'é Ti visualizzerá un simbolo strano.

comunque inizierei con un
Serial.print(12); //che cancella il display.

Scrivi nel Tuo esempio " void mainmenu(){ "
È una funzione che hai definita Tu?
L' arduino non ha la funzione "main()" del C;  le 2 funzioni che esegue sono setup() e loop().

Il PIC16F819 é un piccolo microcontroller (simile al ATmega328, che usa l'Arduino) programmato con un programma che interpreta i comandi seriali e pilota il display HD44780-compatibile con interfaccia parallela.

Ciao Uwe

Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 50
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie mille oggi provo e ti faccio sapere come è andata.
Buona giornata
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 50
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao mi risponde :

In function 'void mainmenu()':
error: invalid use of member (did you forget the '&' ?)
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21871
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao SAMPEI80
Non so mica cosa hai scritto. Mandami per favore tutto il codice.
Ciao Uwe
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 50
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
void mainmenu()
{
  Serial.print(12);
  delay(50);
  Serial.print(3);Serial.print(1);Serial.print=(1);Serial.print(" Manuale");
  delay(50);
  Serial.print(3);Serial.print(1);Serial.print=(12);Serial.print(" Automatico");
  delay(50);
  Serial.print(3);Serial.print(1);Serial.print=(23);Serial.print("  Mode");
  delay(50);
  Serial.print(3);Serial.print(1);Serial.print=(34);Serial.print(" Setup");
  delay(50);
}
« Last Edit: September 02, 2010, 09:41:03 am by SAMPEI80 » Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21871
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Per favore TUTTO il programma non solo un pezzo.
Non ci va il "=" dopo Serial.print
Ciao Uwe
« Last Edit: September 02, 2010, 10:50:59 am by uwefed » Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 50
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ti ho scritto in mp
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21871
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie SAMPEI80;
per primo:
Sia l' hardware che il software di Arduino sono sotto Creative Commons Attribution-ShareAlike 3.0 License. Percui anche se quella persona ha scritto personalmente il programma non puó adottare nessun altra licenza. Comunque va bene che mi hai spedito il programma in privato e non vuoi divulgarlo.
 
Secondo me il progetto originale usa un display con un altro Interfaccia seriale che usa altri commandi.
Se togli il segno uguale dovrebbe funzionare.

Code:
void setup()                    // run once, when the sketch starts
{
Serial.begin(9600);      
  Serial.print(12);
  delay(50);
  Serial.print(3);Serial.print(1);Serial.print(1);Serial.print(" Manuale");
  delay(50);
  Serial.print(3);Serial.print(1);Serial.print(12);Serial.print(" Automatico");
  delay(50);
  Serial.print(3);Serial.print(1);Serial.print(23);Serial.print("  Mode");
  delay(50);
  Serial.print(3);Serial.print(1);Serial.print(34);Serial.print(" Setup");
  delay(5000);
}
void loop(){
delay(5000);
}
Questo codice dovrebbe scriverti 1 volta "Manuale", "Automatico", "Mode" e "Setup" sul display. e poi aspettare in eterno.

Per imparare incomincia lentamente seguendo un libro su Arduino e poi sucessivamente incomincia a cambiare il programma della Birra alle tue esigenze.

Dove abiti? Forse qualcuno del forum abita vicino e puó aiutarti incontrandoti.

Ciao Uwe
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 50
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Abito a Roma comunque ho provato prima ma non andava ho visto il serial monitor e il display e continua a non cambiare,si probabilmente la persona usava un altro display, e probabilmente a me nemmeno serve il suo sketch,tu non puoi aiutarmi nella mia impresa?
Logged

Pages: [1]   Go Up
Jump to: