/*-----( Import needed libraries )-----*/
#include <Wire.h> // Comes with Arduino IDE
#include <LiquidCrystal_I2C.h>
/*-----( Declare Constants )-----*/
/*-----( Declare objects )-----*/
// set the LCD address to 0x27 for a 20 chars 4 line display
// Set the pins on the I2C chip used for LCD connections:
// addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address
/*-----( Declare Variables )-----*/
void setup() /*----( LOOP: RUNS CONSTANTLY )----*/
{
Serial.begin(9600); // Used to type in characters
lcd.begin(20,4); // initialize the lcd for 20 chars 4 lines, turn on backlight
// ------- Quick 3 blinks of backlight -------------
for(int i = 0; i< 3; i++)
{
lcd.backlight();
delay(250);
lcd.noBacklight();
delay(250);
}
lcd.backlight(); // finish with backlight on
}/*--(end setup )---*/
void loop(){/*----( LOOP: RUNS CONSTANTLY )----*/
lcd.clear();
lcd.setCursor(2,0); //Start at character 4 on line 0
lcd.print("Christer Farman");
delay(1000);
lcd.setCursor(3,1);
lcd.print("Bohusgatan 19");
delay(1000);
lcd.setCursor(2,2);
lcd.print("116 67 Stockholm");
lcd.setCursor(1,3);
delay(1000);
lcd.print("Email chaf@live.se");
delay(3000);
// Wait and then tell user they can start the Serial Monitor and type in characters to
// Display. (Set Serial Monitor option to "No Line Ending")
lcd.clear();
lcd.setCursor(2,0); //Start at character 0 on line 0
lcd.print("Telnr 0707768816");
lcd.setCursor(0,1);
lcd.print("Stockholm makerspace");
lcd.setCursor(1,2);
lcd.print("Elektronikforumet");
lcd.setCursor(1,3);
lcd.print("Fungerar bra kul! ");
delay(2000);
}/* --(end main loop )-- */
Det är ju nästan omöjligt att ge ett hjälpande svar om diagnosen bara är :
"fungerar inte"..
om man inte talar om VAD som inte fungerar.
T.ex. :
* fungerar det ens att kompilera koden?
* fungerar programmet, men gör inte precis som du vill?
* vad gör det i så fall
* osv...
Eftersom { saknades efter void loop() så misstänker jag att det inte ens gick att kompilera. Men det framgick ju aldrig, bara att "jag vill att texten ska visas om och om igen".... Det säger liksom inget om själva problemet. Nu löstes det visst av sig självt på nåt magiskt vis, utan att vi fick veta varför... Men det kan ju vara bra tips inför nästa tråd.
Tjena.
Bra att det går framåt.
Tyvärr kan jag inte lcd biblioteket du använder men det kan ju finnas lcd.blinka eller liknande (troligen på engelska )
Annars så skriver lcd.setcursor(vad du vill) skriver ut som vanligt, tar en paus.
Sedan upprepar du lcd.setcursor(samma som förut) skriver ut en tom rad med lika många tecken som tidigare, tar en paus.
Sen skriver du igen osv.
Men kolla om det finns lcd.clear men bara för en rad, borde finnas. Ser snyggare ut än att skriva ut x antal tomma tecken.
/*-----( Import needed libraries )-----*/
#include <Wire.h> // Comes with Arduino IDE
#include <LiquidCrystal_I2C.h>
/*-----( Declare Constants )-----*/
/*-----( Declare objects )-----*/
// set the LCD address to 0x27 for a 20 chars 4 line display
// Set the pins on the I2C chip used for LCD connections:
// addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address
/*-----( Declare Variables )-----*/
void setup() /*----( LOOP: RUNS CONSTANTLY )----*/
{
Serial.begin(9600); // Used to type in characters
lcd.begin(20,4); // initialize the lcd for 20 chars 4 lines, turn on backlight
// ------- Quick 3 blinks of backlight -------------
for(int i = 0; i< 3; i++)
{
lcd.backlight();
delay(250);
lcd.noBacklight();
delay(250);
}
lcd.backlight(); // finish with backlight on
}/*--(end setup )---*/
void loop(){/*----( LOOP: RUNS CONSTANTLY )----*/
lcd.clear();
lcd.setCursor(2,0); //Start at character 4 on line 0
lcd.print("Christer Farman");
delay(1000);
lcd.setCursor(3,1);
lcd.print("Bohusgatan 19");
delay(1000);
lcd.setCursor(2,2);
lcd.print("116 67 Stockholm");
lcd.setCursor(1,3);
delay(1000);
lcd.print("Email chaf@live.se");
delay(3000);
// Wait and then tell user they can start the Serial Monitor and type in characters to
// Display. (Set Serial Monitor option to "No Line Ending")
int blinkantal = 8;
lcd.clear();
lcd.setCursor(2,0); //Start at character 0 on line 0
lcd.print("Telnr 0707768816");
lcd.setCursor(0,1);
lcd.print("Stockholm makerspace");
lcd.setCursor(1,3);
lcd.print("Fungerar bra kul! ");
for(int i = 0; i<blinkantal; i++)
{
lcd.setCursor(1,2);
if((i&1) == 0)
{
lcd.print("Elektronikforumet");
}
else
{
lcd.print(" ");
}
delay(2000 / blinkantal);
}
}/* --(end main loop )-- */
//Göran på makerspace... byt ut blinkantal mot antalet blinkningar du vill ha ggr 2.
Men, kolla koden som skriver ut lcd.print("Elektronikforumet");
Räkna antalet tecken i "Elektronikforumet", borde bli 17 tecken.
Sedan raden lcd.print(" ");, borde bli 27 tecken (mellanslag/blanksteg).
De tecken som är mer än vad en rad kan innehålla borde fortsätta på nästa rad.
/*-----( Import needed libraries )-----*/
#include <Wire.h> // Comes with Arduino IDE
#include <LiquidCrystal_I2C.h>
/*-----( Declare Constants )-----*/
/*-----( Declare objects )-----*/
// set the LCD address to 0x27 for a 20 chars 4 line display
// Set the pins on the I2C chip used for LCD connections:
// addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address
/*-----( Declare Variables )-----*/
void setup() /*----( LOOP: RUNS CONSTANTLY )----*/
{
Serial.begin(9600); // Used to type in characters
lcd.begin(20,4); // initialize the lcd for 20 chars 4 lines, turn on backlight
// ------- Quick 3 blinks of backlight -------------
for(int i = 0; i< 3; i++)
{
lcd.backlight();
delay(250);
lcd.noBacklight();
delay(250);
}
lcd.backlight(); // finish with backlight on
}/*--(end setup )---*/
void loop(){/*----( LOOP: RUNS CONSTANTLY )----*/
lcd.clear();
lcd.setCursor(2,0); //Start at character 4 on line 0
lcd.print("Christer Farman");
delay(1000);
lcd.setCursor(3,1);
lcd.print("Bohusgatan 19");
delay(1000);
lcd.setCursor(2,2);
lcd.print("116 67 Stockholm");
lcd.setCursor(1,3);
delay(1000);
lcd.print("Email chaf@live.se");
delay(3000);
// Wait and then tell user they can start the Serial Monitor and type in characters to
// Display. (Set Serial Monitor option to "No Line Ending")
int blinkantal = 8;
lcd.clear();
lcd.setCursor(2,0); //Start at character 0 on line 0
lcd.print("Telnr 0707768816");
delay(1000);
lcd.setCursor(0,1);
lcd.print("Stockholm makerspace");
delay(1000);
lcd.setCursor(1,3);
lcd.print("Fungerar bra kul! ");
delay(1000);
for(int i = 0; i<blinkantal; i++)
{
lcd.setCursor(1,2);
if((i&1) == 0)
{
lcd.print("Elektronikforumet");
}
else
{
lcd.print(" ");
}
delay(2000 / blinkantal);
}
}/* --(end main loop )-- */