Arduino a seriový LCD 16x2

Luděk
Příspěvky: 82
Registrován: 22 úno 2016, 08:47

Arduino a seriový LCD 16x2

Příspěvek od Luděk »

Zdravím,
umíte někdo připojit seriový LCD 16x2 k Arduinu? Myslím seriový co používá Picaxe, nikoli i2c...
Samozřejmě že myslím nějaký kód, né ty tři vodiče :-)
Připojuje se pouze jedním vodičem plus napájení... To bych byl velmi Happy :-)
DavidO
Příspěvky: 1138
Registrován: 01 kvě 2013, 21:27

Re: Arduino a seriový LCD 16x2

Příspěvek od DavidO »

Četl jsi datasheet toho displeje?
Zkusil jsi Serial.begin(2400);Serial.println("Hello world"); ?
Nikoho plánovaně neurážím. Jestli se Vám nelíbí co píšu, tak to nečtěte. A ostatně, třeba za to nemůžu - Researchers believe that dark humor can be a significant symptom of dementia.
Luděk
Příspěvky: 82
Registrován: 22 úno 2016, 08:47

Re: Arduino a seriový LCD 16x2

Příspěvek od Luděk »

Ahoj Davide, jasně že četl... umím ho ovládat komplet,
ale nevím, kam ho připojit na to UNO, na Tx to nefunguje :-(
DavidO
Příspěvky: 1138
Registrován: 01 kvě 2013, 21:27

Re: Arduino a seriový LCD 16x2

Příspěvek od DavidO »

Teď koukám pořádnějc, u Picaxe se nastavuje N2400, takže bude potřeba invertovaný signál, takže použij Arduino knihovnu SoftwareSerial, která to umí zinvertovat (standardní Serial ne) a mělo by to jít.
Nikoho plánovaně neurážím. Jestli se Vám nelíbí co píšu, tak to nečtěte. A ostatně, třeba za to nemůžu - Researchers believe that dark humor can be a significant symptom of dementia.
Luděk
Příspěvky: 82
Registrován: 22 úno 2016, 08:47

Re: Arduino a seriový LCD 16x2

Příspěvek od Luděk »

Davide našel jsem knihovnu, i nějaké rady, ale nejde to :-( zobrazuje to nic, nebo nesmysly...
tak nevím.... tyto rady vypadal\ nejlépe :
https://www.instructables.com/id/Using- ... n-arduino/
ale jen zobrazování nesmyslů
:-(
DavidO
Příspěvky: 1138
Registrován: 01 kvě 2013, 21:27

Re: Arduino a seriový LCD 16x2

Příspěvek od DavidO »

Tamten displej není Picaxe serial LCD, takže to, že by to fungovalo i na něj, by byla jen náhoda. Kromě toho na první pohled nesedí polarita a rychlost.
Zkus do konstruktoru přidat třetí parametr true a pak inicializovat na 2400 Baudů.
Nikoho plánovaně neurážím. Jestli se Vám nelíbí co píšu, tak to nečtěte. A ostatně, třeba za to nemůžu - Researchers believe that dark humor can be a significant symptom of dementia.
Uživatelský avatar
fulda
Příspěvky: 1368
Registrován: 04 led 2016, 17:18

Re: Arduino a seriový LCD 16x2

Příspěvek od fulda »

Nebylo by jednodušší otočit polaritu hardwarově?
Třeba invertor z jednoho tranzistoru? nebo 74HC1G04?

Alespoň bude moci sledovat na terminálu, co mu to dělá.

Obrázek

P.S. Dejte mi prosím odkaz na ten display, abych věděl, o čem je řeč.
??TOHLE??
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
DavidO
Příspěvky: 1138
Registrován: 01 kvě 2013, 21:27

Re: Arduino a seriový LCD 16x2

Příspěvek od DavidO »

Myslím, že nebylo. Znamenalo by to připojovat další elektroniku.
Nikoho plánovaně neurážím. Jestli se Vám nelíbí co píšu, tak to nečtěte. A ostatně, třeba za to nemůžu - Researchers believe that dark humor can be a significant symptom of dementia.
Luděk
Příspěvky: 82
Registrován: 22 úno 2016, 08:47

Re: Arduino a seriový LCD 16x2

Příspěvek od Luděk »

Ahoj lidi, tak jsem to rozchodil a šlape to...
Dokonce lze po malé úpravě posílat data přes TX do PICAXE - Hserin. Jako švýcary :-)
neumím sem přidat ten kód, ale nějak to zkusím :

Kód: Vybrat vše

/* TEST
 *  ZKOUŠKY SW - ZOBRAZENÍ NA LCD - CTENI ANALOG
 */
//===============================================================================================
#include <SoftwareSerial.h>
#define txPin 2
SoftwareSerial LCD = SoftwareSerial(0, txPin);

const int LCDdelay=200; // conservative, 2 actually works
int Input0;
int Input1;
int Suma;

void setup() {
pinMode(txPin, OUTPUT);
LCD.begin(9600);
backlightOn() ; clearLCD();
}

void loop() { 

Input0 = analogRead(0);     // read analog input pin 0
lcdPosition(0,0); LCD.print("POT: ");
LCD.print(Input0, DEC);

Input1 = analogRead(1);     // read analog input pin 1
lcdPosition(1,0); LCD.print("Ref: ");
LCD.print(Input1, DEC);

Suma=Input0-Input1;
lcdPosition(1,8); LCD.print("SUM: ");
LCD.print(Suma, DEC);
delay(500);  
  }


//  PODPROGRAMY LCD

void lcdPosition(int row, int col)
{ LCD.write(0xFE); LCD.write((col + row*64 + 128));  }  //position delay(LCDdelay)

void clearLCD()
{ LCD.write(0xFE); LCD.write(0x01); delay(LCDdelay); }

void backlightOn()
{ LCD.write(0x7C); LCD.write(157);  delay(LCDdelay); }

void backlightOff()
{ LCD.write(0x7C); LCD.write(128);  delay(LCDdelay); }

void serCommand() { }; //Jine funkce - commands LCD.write(0xFE)
Uživatelský avatar
Dex
Administrátor
Příspěvky: 1527
Registrován: 16 úno 2013, 14:26

Re: Arduino a seriový LCD 16x2

Příspěvek od Dex »

Na kód je v editoru tlačítko </>.
"all your robots are belong to us"
robodoupe.cz
Odpovědět