Guest User

Untitled

a guest
Feb 21st, 2018
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. #include <LiquidCrystal.h>
  2.  
  3. LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
  4. String allRead = "";
  5.  
  6. String lineOne = "";
  7. String lineTwo = "";
  8.  
  9. int indxof = 0;
  10.  
  11. //Pins
  12. int bgBlue = 10;
  13. int bgGreen = 9;
  14. int bgRed = 8;
  15.  
  16. void setup() {
  17. Serial.begin(9600);
  18. lcd.begin(16, 2);
  19.  
  20. pinMode(bgBlue, OUTPUT);
  21. pinMode(bgGreen, OUTPUT);
  22. pinMode(bgRed, OUTPUT);
  23.  
  24. digitalWrite(bgBlue, HIGH);
  25. digitalWrite(bgGreen, HIGH);
  26. digitalWrite(bgRed, HIGH);
  27. }
  28.  
  29. void loop() {
  30. if(Serial.available() > 0) {
  31. delay(100);
  32. allRead = "";
  33.  
  34. while(Serial.available() > 0) {
  35. allRead += (char) Serial.read();
  36. }
  37.  
  38. if(allRead.startsWith("[PING]")) {
  39. Serial.println("[PONG]");
  40. }
  41.  
  42. if(allRead.startsWith("[D]")) { //D wie Disp, Befehl zum Anzeigen
  43. lcd.clear();
  44. allRead = allRead.substring(3, allRead.length()); //Den Befehl wegschneiden
  45.  
  46. indxof = allRead.indexOf("[|]");
  47.  
  48. if(indxof != -1) { //Wenn das Trennzeichen vorhanden ist
  49. lineOne = allRead.substring(0, indxof);
  50. lineTwo = allRead.substring(indxof + 3, indxof + 21);
  51. } else { //sonst alles in die erste Zeile klatschen
  52. lineOne = allRead;
  53. lineTwo = "";
  54. }
  55.  
  56. lcd.setCursor(0, 0);
  57. lcd.print(lineOne);
  58.  
  59. lcd.setCursor(0, 1);
  60. lcd.print(lineTwo);
  61. }
  62.  
  63. if(allRead.startsWith("[BG]")) { //
  64. String cmd = allRead.substring(4, allRead.length());
  65.  
  66. if(cmd == "blue on") {
  67. digitalWrite(bgBlue, LOW);
  68. }
  69.  
  70. if(cmd == "blue off") {
  71. digitalWrite(bgBlue, HIGH);
  72. }
  73.  
  74. if(cmd == "green on") {
  75. digitalWrite(bgGreen, LOW);
  76. }
  77.  
  78. if(cmd == "green off") {
  79. digitalWrite(bgGreen, HIGH);
  80. }
  81.  
  82. if(cmd == "red on") {
  83. digitalWrite(bgRed, LOW);
  84. }
  85.  
  86. if(cmd == "red off") {
  87. digitalWrite(bgRed, HIGH);
  88. }
  89.  
  90. if(cmd == "off") { //Alles aus
  91. digitalWrite(bgRed, HIGH);
  92. digitalWrite(bgGreen, HIGH);
  93. digitalWrite(bgBlue, HIGH);
  94. }
  95.  
  96. }
  97. }
  98. }
Add Comment
Please, Sign In to add comment