diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..deab723 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +build-uno \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..8442d59 --- /dev/null +++ b/Makefile @@ -0,0 +1,7 @@ +ARDUINO_DIR=/usr/lib/arduino +ARDMK_DIR=/home/j4nk/.local/Arduino-Makefile +AVR_TOOLS_DIR=/ + +MONITOR_PORT=/dev/ttyACM0 + +include ${ARDMK_DIR}/Arduino.mk diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..8d53f38 --- /dev/null +++ b/main.cpp @@ -0,0 +1,85 @@ +/* + LiquidCrystal Library - Hello World + + Demonstrates the use a 16x2 LCD display. The LiquidCrystal + library works with all LCD displays that are compatible with the + Hitachi HD44780 driver. There are many of them out there, and you + can usually tell them by the 16-pin interface. + + This sketch prints "Hello World!" to the LCD + and shows the time. + + The circuit: + * LCD RS pin to digital pin 12 + * LCD Enable pin to digital pin 11 + * LCD D4 pin to digital pin 5 + * LCD D5 pin to digital pin 4 + * LCD D6 pin to digital pin 3 + * LCD D7 pin to digital pin 2 + * LCD R/W pin to ground + * LCD VSS pin to ground + * LCD VCC pin to 5V + * 10K resistor: + * ends to +5V and ground + * wiper to LCD VO pin (pin 3) + + Library originally added 18 Apr 2008 + by David A. Mellis + library modified 5 Jul 2009 + by Limor Fried (http://www.ladyada.net) + example added 9 Jul 2009 + by Tom Igoe + modified 22 Nov 2010 + by Tom Igoe + modified 7 Nov 2016 + by Arturo Guadalupi + + This example code is in the public domain. + + https://docs.arduino.cc/learn/electronics/lcd-displays + +*/ + +// include the library code: +#include +#include +//#include + +// initialize the library by associating any needed LCD interface pin +// with the arduino pin number it is connected to +const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; +LiquidCrystal lcd(rs, en, d4, d5, d6, d7); + +void setup() { + Serial.begin(115200); + // set up the LCD's number of columns and rows: + lcd.begin(16, 2); + lcd.clear(); + // Print a message to the LCD. + //lcd.print("hello, world!"); +} + +void loop() { + + // set the cursor to column 0, line 1 + // (note: line 1 is the second row, since counting begins with 0): + lcd.setCursor(0, 0); + // print the number of seconds since reset: + //lcd.print(millis() / 1000); + while (Serial.available() == 0) {} + //lcd.clear(); + String s = Serial.readString(); + s.trim(); + int nl_idx = s.indexOf("?", 0); + if (nl_idx == -1) { + lcd.print(s); + } + else { + String l1 = s.substring(0, nl_idx); + String l2 = s.substring(nl_idx+1, s.length()); + lcd.print(l1); + lcd.setCursor(0, 1); + lcd.print(l2); + + } +}