Danke Sisor für deine Hilfe - Feierabend hast recht
:P - Gute Nacht
- - - Aktualisiert - - -
So für alle noch mal hab jetzt den Code so wie ich ihn möchte Schaltung auf dem BreadBoard funzt einwandfrei:
-> Arduino Start
-> Display Zeigt an Roboter RSL7 ( Spalte 1 ) - ! System Check! ( Spalte 2 )
-> 20 LEDs nach einander An machen
-> wenn alle 20 LEDs An sind alle auf einmal wieder Ausmachen
-> wenn das der Fall ist, im Display Betriebsbereit in Spalte 2 anzeigen
Code:
/* ----------------------------------------
Autor: Benjamin Grammel
Datum: 23.03.2014
Projekt: Roboter RSL-7
Microkontroller: Arduino UNO Rev3 - Zusatzaufgaben
Zusatz Modul: 16*2 LCD Display & LED Ladebalken
Version: 1.3
Verwendungszweck: Anzeigen des LED Ladebalkens
Schrift auf Display anzeigen
------------------------------------------
*/
#include <LiquidCrystal.h>
int latchPin = 4;
int clockPin = 3;
int dataPin = 2;
LiquidCrystal lcd(12, 11, 10, 8, 7, 6, 5);
void setup()
{
// LCD Setup
lcd.begin(16, 2); // Display Art / 16 Spalten & 2 Reihen
lcd.setCursor(0, 0); // Springe zu Reihe 1 & Platz 1
lcd.print("Roboter RSL7"); // Nachricht in Reihe 1
lcd.setCursor(0, 1); // Springe zu Reihe 2 & Platz 1
lcd.print(" !System Check!"); // Nachricht in Reihe 2
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
ledLine();
}
void ledLine()
{
long data = 0; // alle Bits aus -> alle LEDs aus
for(int i = 0; i<=21; i++)
{
if(i==21) data=0;
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, data >>16);
shiftOut(dataPin, clockPin, MSBFIRST, data >>8);
shiftOut(dataPin, clockPin, MSBFIRST, data);
digitalWrite(latchPin, HIGH);
data = (data<<1)+1;
delay(3000);
}
}
void loop ()
{
lcd.setCursor(0, 1); // Springe zu Reihe 2 & Platz 1
lcd.print("Betriebsbereit!"); // Nachricht in Reihe 2
while(1);
}
Lesezeichen