Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <LiquidCrystal.h>
- LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
- String allRead = "";
- String lineOne = "";
- String lineTwo = "";
- int indxof = 0;
- //Pins
- int bgBlue = 10;
- int bgGreen = 9;
- int bgRed = 8;
- void setup() {
- Serial.begin(9600);
- lcd.begin(16, 2);
- pinMode(bgBlue, OUTPUT);
- pinMode(bgGreen, OUTPUT);
- pinMode(bgRed, OUTPUT);
- digitalWrite(bgBlue, HIGH);
- digitalWrite(bgGreen, HIGH);
- digitalWrite(bgRed, HIGH);
- }
- void loop() {
- if(Serial.available() > 0) {
- delay(100);
- allRead = "";
- while(Serial.available() > 0) {
- allRead += (char) Serial.read();
- }
- if(allRead.startsWith("[PING]")) {
- Serial.println("[PONG]");
- }
- if(allRead.startsWith("[D]")) { //D wie Disp, Befehl zum Anzeigen
- lcd.clear();
- allRead = allRead.substring(3, allRead.length()); //Den Befehl wegschneiden
- indxof = allRead.indexOf("[|]");
- if(indxof != -1) { //Wenn das Trennzeichen vorhanden ist
- lineOne = allRead.substring(0, indxof);
- lineTwo = allRead.substring(indxof + 3, indxof + 21);
- } else { //sonst alles in die erste Zeile klatschen
- lineOne = allRead;
- lineTwo = "";
- }
- lcd.setCursor(0, 0);
- lcd.print(lineOne);
- lcd.setCursor(0, 1);
- lcd.print(lineTwo);
- }
- if(allRead.startsWith("[BG]")) { //
- String cmd = allRead.substring(4, allRead.length());
- if(cmd == "blue on") {
- digitalWrite(bgBlue, LOW);
- }
- if(cmd == "blue off") {
- digitalWrite(bgBlue, HIGH);
- }
- if(cmd == "green on") {
- digitalWrite(bgGreen, LOW);
- }
- if(cmd == "green off") {
- digitalWrite(bgGreen, HIGH);
- }
- if(cmd == "red on") {
- digitalWrite(bgRed, LOW);
- }
- if(cmd == "red off") {
- digitalWrite(bgRed, HIGH);
- }
- if(cmd == "off") { //Alles aus
- digitalWrite(bgRed, HIGH);
- digitalWrite(bgGreen, HIGH);
- digitalWrite(bgBlue, HIGH);
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment