Dansk Elektronik Forum

Generel Elektronik => Arduino & Lign. => Emne startet af: Danni-Hansen efter Juni 18, 2014, 01:24:17

Titel: Arduino Nano og I2C display module
Indlæg af: Danni-Hansen efter Juni 18, 2014, 01:24:17
Hej folkens.

Sidder med et display ( http://www.dfrobot.com/wiki/index.php/I2C/TWI_LCD1602_Module_%28SKU:_TOY0046%29 ) som bliver ved med at blinke, det blinker sjovt nok hvert 5sek.

Jeg bruger Arduino Nano til displayet, men, det burde da ikke gøre en forskel?
Tilkoblet 3 DS20B18 (Den del virker fint).

Spørgsmålet er, hvad problemet kan være? Den blinker som sagt hver 5 sek, og det er hver gang koden 'opfriskes' eller rettere sagt, det er der delay(5000) ender.

Skal jeg hen og have et nyt display? Har jeg brændt noget af?

Jeg bruger SDA og SCL på arduino nano, og det er sat rigtigt op iflg. Nettet, dog bruger jeg pin A4 og A5 og ikke de 'normale' pins.
Titel: Sv: Arduino Nano og I2C display module
Indlæg af: Jakobsen efter Juni 18, 2014, 09:42:23
Hej Danni

Nu har du jo ikke postet din kode, og jeg har kun brugt de "almindelige" paralle lcd display og slet ikke med Arduino.

Lyder som om du intialiser display hver gang du skriver til det.
Det er der kun brug for ved power up.
Når du skriver til det så brug home eller set cursor.

Vh. Jakobsen
Titel: Sv: Arduino Nano og I2C display module
Indlæg af: Danni-Hansen efter Juni 23, 2014, 14:13:16
Hej Jakobsen og undskylde det sene svar.

Jeg bruger deres lib og deres 'standart kode' i arduino til at køre LCD'et.

Mere om det her:
http://arduino-info.wikispaces.com/LCD-Blue-I2C

Forstår bare ikke at det ikke virker på mine nano, men, er også lidt i tvivl hvilke pins der er SDA og SCL.. Da jeg får 2 forskellige svar fra google af.

Her er det D4 og D5:
http://2.bp.blogspot.com/-_M5HsO7r1dM/UGqw8xi2zUI/AAAAAAAAR5c/O-Q5qzO1mJQ/s1600/arduino+pinout.png

Men her er det A4 og A5 (Såvidt forstået):
http://arduino.cc/en/Main/arduinoBoardNano

Og har prøvet begge muligheder :/
Titel: Sv: Arduino Nano og I2C display module
Indlæg af: Jakobsen efter Juni 23, 2014, 17:26:19
Hej Danni

Hvis displayet skriver det du forventer så skulle man tro at SDA og SCL er korrekt forbundet, gør det det?

Når displayet blinker hvert 5 sekund = med den timer du beskriver du har så må der jo være noget kode der forsager dette.

Kan du ikke poste din code?
Titel: Sv: Arduino Nano og I2C display module
Indlæg af: Danni-Hansen efter Juni 24, 2014, 00:38:09
Jeg har modificeret den efter..

Kode:
#include <Wire.h>
#include <OneWire.h>
#include <LiquidCrystal_I2C.h>
#include <DallasTemperature.h>

/*-----( Declare Constants )-----*/
#define ONE_WIRE_BUS 2 /*-(Connect to Pin 2 )-*/

/*-----( Declare objects )-----*/
/* Set up a oneWire instance to communicate with any OneWire device*/
OneWire ourWire(ONE_WIRE_BUS);

/* Tell Dallas Temperature Library to use oneWire Library */
DallasTemperature sensors(&ourWire);

/*-----( Declare Variables )-----*/
LiquidCrystal_I2C lcd(0x27,16,2);

void setup() /*----( SETUP: RUNS ONCE )----*/
{
 
Wire.begin();
  lcd.init();                      // initialize the lcd
  lcd.backlight();


/*-(start serial port to see results )-*/
delay(1000);
Serial.begin(9600);
Serial.println("Temperature Sensor DS18B20");
delay(1000);

/*-( Start up the DallasTemperature library )-*/
sensors.begin();
}/*--(end setup )---*/


void loop() /*----( LOOP: RUNS CONSTANTLY )----*/
{
sensors.requestTemperatures(); // Send the command to get temperatures



//read dev.1
Serial.print("Device 1 (index 0) = ");
Serial.print(sensors.getTempCByIndex(0));
Serial.println(" Degrees C");

lcd.print("Dev 1:");
lcd.print(sensors.getTempCByIndex(0));
lcd.print(" Degrees C");
delay(5000);




//read dev.2
Serial.print("Device 2 (index 1) = ");
Serial.print(sensors.getTempCByIndex(1));
Serial.println(" Degrees C");

lcd.print("Dev 2:");
lcd.print(sensors.getTempCByIndex(1));
lcd.print(" Degrees C");
delay(5000);




//read dev.3
Serial.print("Device 3 (index 2) = ");
Serial.print(sensors.getTempCByIndex(2));
Serial.println(" Degrees C");

lcd.print("Dev 3:");
lcd.print(sensors.getTempCByIndex(2));
lcd.print(" Degrees C");
delay(5000);

}
Titel: Sv: Arduino Nano og I2C display module
Indlæg af: Jakobsen efter Juni 24, 2014, 09:34:12
Hej
Her lige et par forslag
Dit display er 2 linier med 16 karakterer

I dit loop har du 3 x
lcd.print("Dev 3:");
lcd.print(sensors.getTempCByIndex(2));
lcd.print(" Degrees C");
delay(5000);

Hvad er det der sender cursoren tilbage på 0,0 ?
Prøv at have 3 x
lcd.home();
lcd.print("Dev 3:");
lcd.print(sensors.getTempCByIndex(2));
lcd.print(" Degrees C");
delay(5000);

Hvis det stadig blinker så prøve evt. droppe temperaturmålingen kun skriv i displayet og se om det så stopper med at blinke... her udelukker du at onewire/dallas kaldene laver problemet
Titel: Sv: Arduino Nano og I2C display module
Indlæg af: Danni-Hansen efter Juni 24, 2014, 16:51:32
Hej.

Prøvede lige med 'medfølgende kode', og det virkede heller ikke, uanset hvilket af mine boards jeg brugte.

Det må være røget sig en tur desværre.... :/
Titel: Sv: Arduino Nano og I2C display module
Indlæg af: gerd efter Juni 24, 2014, 18:23:14
Hej Danni,

ændre delay(5000) til delay(8000).
Blinker det nu hvert 8 sek?

Og kan du prøve at ændre
LiquidCrystal_I2C lcd(0x27,16,2);
til
LiquidCrystal_I2C lcd(0x20,16,2);
Titel: Sv: Arduino Nano og I2C display module
Indlæg af: Danni-Hansen efter Juni 24, 2014, 20:33:30
Hej Gerd.

Ja, det vil blinke hvert 8 sek, for har testet det af et par gange før.
Udover det, så køre den på 0x27 siger scanner programmet jeg har hentet til at 'finde' skærmen.
Titel: Sv: Arduino Nano og I2C display module
Indlæg af: Jakobsen efter Juni 24, 2014, 22:04:55
Prøv i loop

void loop() /*----( LOOP: RUNS CONSTANTLY )----*/
{
lcd.home();
lcd.print("1234:");
delay(3000);

lcd.home();
lcd.print("ABCD:");
delay(3000);

}
Skifter den nu rent mellem 1234 og ABCD hvert 3 sec?
Eller bliver displayet "tomt" inden den skriver den nye tekst?

Alternativt


void loop() /*----( LOOP: RUNS CONSTANTLY )----*/
{
lcd.setCursor(0,0); //Start at character 0 on line 0
lcd.print("1234:");
delay(3000);

lcd.setCursor(0,0); //Start at character 0 on line 0
lcd.print("ABCD:");
delay(3000);

}
Titel: Sv: Arduino Nano og I2C display module
Indlæg af: bws efter Juni 26, 2014, 06:53:08
hey

er det et LCD display som har I2C eller er der en adapter over LCD displayet. tænker lidt at må være dit lib. der er ikke passer nøjtagtigt til de I2C komandoer dit display skal bruge.

MVH
Titel: Sv: Arduino Nano og I2C display module
Indlæg af: Danni-Hansen efter Juni 26, 2014, 11:04:31
Halløjsa.

Jeg benytter mig af samme hardware og kode som på linket her :)

http://arduino-info.wikispaces.com/LCD-Blue-I2C
Titel: Sv: Arduino Nano og I2C display module
Indlæg af: bws efter Juni 26, 2014, 11:42:05
hey igen

hvorfor en af de her headers har du downloadet ?

https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads

MVH
Titel: Sv: Arduino Nano og I2C display module
Indlæg af: Danni-Hansen efter Juni 26, 2014, 14:48:49
Hej BWS.

Kan egentligt ikke lige huske det... :/
Har flg info fra readme filen i mappen:
Citér
LiquidCrystal_I2C V2.0

The LiquidCrystal_I2C library is a modified version of the standard LiquidCrystal library as found on
the Arduino website.
This library is intended to be used when a parallel HD44780 compatible LCD is controlled over I2C using
a PCF8574 extender (see datasheet for details).
4 of the 8 outputs are used for LDC data lines 4 to 7.
3 outputs are used for the Enable, register-select and Read/Write lines.
The one output left can be used to control the backlight of the LCD (if available).
For backlight control some extra resistors and a pnp-type transistor are required (for details see
schematic diagram).

The PCF8574 extender is available in two versions, the PCF8574 and the PCF8574A.
The only difference between the two is the I2C base address.
The base address for the PCF8574 is 0x20 and the base address for the PCF8574A is 0x38.
The examples included in this zip file assume the use of an PCF8574 set for address 0x20
(A0, A1 and A3 grounded).

For compatibility reasons this library contains some aliases for functions that are known under different
names in other libraries. This should make it fairly easy to implement the library in existing sketches
without changing to much code.
Functions not supported by this library will return nothing at all and in case a return value is expected
the function will return 0.

Update 8-12-2011:
Due to the relaese of Arduino IDE 1.0 some changes were made to the library to get it working under the new IDE.
Because of these changes this version of the LiquidCrystal_I2C library can not be used for older IDE versions.
The old version of the LiquidCrystal_I2Clibrary can be downloaded form http://www.xs4all.nl/~hmario/arduino/LiquidCrystal_I2C/V1.0/LiquidCrystal_I2C_V1.0.zip

Download the latest version from: 
http://www.xs4all.nl/~hmario/arduino/LiquidCrystal_I2C/LiquidCrystal_I2C.zip
(Thanks to Ailton F. for beta testing.)


Mario H.
atmega@xs4all.nl
Titel: Sv: Arduino Nano og I2C display module
Indlæg af: bws efter Juni 27, 2014, 13:24:51
hey igen

bare lige for at forstå problemet helt rigtigt så skriver den alt RIGTIGT ud i displayet men så blinker displayets tekst hver gang den skriver nogen nyt ?

MVH
Titel: Sv: Arduino Nano og I2C display module
Indlæg af: Danni-Hansen efter Juni 27, 2014, 17:21:55
Lys og blink i displayet
dog ingen tekst
Titel: Sv: Arduino Nano og I2C display module
Indlæg af: gerd efter Juni 27, 2014, 18:37:27
Hej Danni,

hvis du ikke finder en løsning, kan du også sende elektroniken til mig og jeg kigger efter denne.

gerd
Titel: Sv: Arduino Nano og I2C display module
Indlæg af: Jesper_Munkholm efter Juni 27, 2014, 20:54:20
du er bare en guttermand Gerd!  8)
Kom i på ferie i Vestjylland her til sommer?
Titel: Sv: Arduino Nano og I2C display module
Indlæg af: gerd efter Juni 27, 2014, 21:13:21
Det håber jeg. Måske en uge i slutningen af september.
Titel: Sv: Arduino Nano og I2C display module
Indlæg af: Jakobsen efter Juni 28, 2014, 09:59:46
Hej Danni
Ok... jeg troede faktisk du havde tekst i dit display.
På denne side som du selv henviser til
http://2.bp.blogspot.com/-_M5HsO7r1dM/UGqw8xi2zUI/AAAAAAAAR5c/O-Q5qzO1mJQ/s1600/arduino+pinout.png
Er der en der skriver:
"For nano v4.0 (Deek-Robot) I have found that Sda is in pin D2 and Scl in pin D3"
(http://www.dfrobot.com/wiki/index.php/Dreamer_Nano_V4.0_%28DFR0213%29) but I am not shure. If it's real, it's not possible to use digital interrupt and I²C !

Hvis du kigger i diagrammet:
http://www.dfrobot.com/image/data/DFR0213/Dreamer%20Nano%20v4.0%20sch.pdf
Så er SDA =D2 og SCL=D3, det er værd lige at teste om det gør en forskel