Verkefni 3.1 LCD - Manigislason/Manigislason.Github.io GitHub Wiki
character lcds sýna texta og hafa færi pixla heldur en graphical lcds. graphical lcds þurfa fleiri pina.
sendir skipanir frá arduino
það lættur skjáinn mótaka upplýsingar.
2*16 sem samsvarar 32 stöfum
hver pinni sinnir mismunandi verkefnum. RW pinnin sendir upplýsingar frá skjánum og RS mótekur Arduino upplýsingar. ekki er nauðsynlegt að nota alla pinna í öll verkefnin.
// include the library code: #include <LiquidCrystal.h> #include <Wire.h>
#define REDLITE 3 #define GREENLITE 5 #define BLUELITE 6
// initialize the library with the numbers of the interface pins LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
// you can change the overall brightness by range 0 -> 255 int brightness = 255;
void setup() { // set up the LCD's number of rows and columns: lcd.begin(16, 2); // Print a message to the LCD. lcd.print("Máni"); lcd.setCursor(0,1); lcd.print(" 14.4.2020 ");
pinMode(REDLITE, OUTPUT); pinMode(GREENLITE, OUTPUT); pinMode(BLUELITE, OUTPUT);
brightness = 100; }
void loop() { for (int i = 0; i < 255; i++) { setBacklight(i, 0, 255-i); delay(5); } for (int i = 0; i < 255; i++) { setBacklight(255-i, i, 0); delay(5); } for (int i = 0; i < 255; i++) { setBacklight(0, 255-i, i); delay(5); } }
void setBacklight(uint8_t r, uint8_t g, uint8_t b) { // normalize the red LED - its brighter than the rest! r = map(r, 0, 255, 0, 100); g = map(g, 0, 255, 0, 150);
r = map(r, 0, 255, 0, brightness); g = map(g, 0, 255, 0, brightness); b = map(b, 0, 255, 0, brightness);
// common anode so invert! r = map(r, 0, 255, 255, 0); g = map(g, 0, 255, 255, 0); b = map(b, 0, 255, 255, 0); Serial.print("R = "); Serial.print(r, DEC); Serial.print(" G = "); Serial.print(g, DEC); Serial.print(" B = "); Serial.println(b, DEC); analogWrite(REDLITE, r); analogWrite(GREENLITE, g); analogWrite(BLUELITE, b); }