LCD Grafic 128x64 Serial
Ecranul LCD Grafic Serial permite :
-
afisarea de text
-
desenare de linii, cercuri si dreptunghiuri
- control asupra fiecarui pixel(set/reset)
Dispozitivul se cupleaza la Arduino prin trei fire : VCC si GND, cuplate respectiv la portul de 5 V si GND al Arduino, si un al treilea fir pentru semnalul util, fir care se cupleaza pe portul TX al Arduino.
Acest produs poate fi testat complet gratuit si fara nicio obligatie in cadrul HackerSpace-ului Bucuresti.
Specificatii:
Rezolutie: 128x64
Tensiune : 6V-7V
Curent: 220mA
Input: 0-5V 115200 bps(ajustabil), 8 data bits, 1stop bits, no parity
Dimensiuni : 7,62 X 5,08 X 1.52 cm



Program:
// Graphic Serial LCD 128x64
// Arduino Pin 8 (RX) to LCD Pin TX (NOT USED, NOT NECESSARY)
// Arduino Pin 9 (TX) to LCD Pin RX
// Arduino Pin Vin to LCD Vin (Assuming you're powering Arduino externally with 9 VDC)
// Arduino Pin Gnd to LCD Pin Gnd
void setup() {
Serial.begin(115200);
clearScreen();
// Set a dim display
setBackgroundBrightness(1);
// Note how by default it prints at upper left
print("hello");
// Note that 0,0 is at lower left side of display
setX(5);
setY(10);
print("world");
// Draw a big X
drawLine(0, 0, 127, 63, 1);
drawLine(127, 0, 0, 63, 1);
// Draw a centered circle
drawCircle(63, 31, 31, 1);
// Draw a box in the center
drawBox(31, 15, 95, 47, 1);
}
void loop()
{
}
void print(char *data){
Serial.print(data);
}
void clearScreen(){
Serial.print(0x7C,BYTE);
Serial.print(0x00,BYTE);
}
void demo(){
Serial.print(0x7C,BYTE);
Serial.print(0x04,BYTE);
}
void toggleSplashScreen(){
Serial.print(0x7C,BYTE);
Serial.print(0x13,BYTE);
}
void setBackgroundBrightness(byte value){
Serial.print(0x7C,BYTE);
Serial.print(0x02,BYTE);
Serial.print(value,BYTE);
}
void setBaudRate(long value){
// Get the internal reference for this baud rate
char *ref = " ";
if(value == 4800)
ref = "1";
else if(value == 9600)
ref = "2";
else if(value == 19200)
ref = "3";
else if(value == 38400)
ref = "4";
else if(value == 57600)
ref = "5";
else if(value == 115200)
ref = "6";
else
return;
// Since it often rolls back to 115200, try setting it via 115200 first
Serial.begin(115200);
Serial.print(0x7C,BYTE);
Serial.print(0x07,BYTE);
Serial.print(ref);
// Now change the serial port to the desired rate, and set it again.
Serial.begin(value);
Serial.print(0x7C,BYTE);
Serial.print(0x07,BYTE);
Serial.print(ref);
}
void setX(byte value){
Serial.print(0x7C,BYTE);
Serial.print(0x18,BYTE);
Serial.print(value,BYTE);
}
void setY(byte value){
Serial.print(0x7C,BYTE);
Serial.print(0x19,BYTE);
Serial.print(value,BYTE);
}
void setPixel(byte state){
Serial.print(0x50,BYTE);
Serial.print(0x40,BYTE);
Serial.print(state,BYTE);
}
void drawLine(byte startX, byte startY, byte endX, byte endY, byte state){
Serial.print(0x7C,BYTE);
Serial.print(0x0C,BYTE);
Serial.print(startX,BYTE);
Serial.print(startY,BYTE);
Serial.print(endX,BYTE);
Serial.print(endY,BYTE);
Serial.print(state,BYTE);
}
void drawCircle(byte startX, byte startY, byte radius, byte state){
Serial.print(0x7C,BYTE);
Serial.print(0x03,BYTE);
Serial.print(startX,BYTE);
Serial.print(startY,BYTE);
Serial.print(radius,BYTE);
Serial.print(state,BYTE);
}
void drawBox(byte topLeftX, byte topLeftY, byte bottomRightX, byte bottomRightY, byte state){
Serial.print(0x7C,BYTE);
Serial.print(0x0F,BYTE);
Serial.print(topLeftX,BYTE);
Serial.print(topLeftY,BYTE);
Serial.print(bottomRightX,BYTE);
Serial.print(bottomRightY,BYTE);
Serial.print(state,BYTE);
}
void eraseBox(byte topLeftX, byte topLeftY, byte bottomRightX, byte bottomRightY, byte state){
Serial.print(0x7C,BYTE);
Serial.print(0x05,BYTE);
Serial.print(topLeftX,BYTE);
Serial.print(topLeftY,BYTE);
Serial.print(bottomRightX,BYTE);
Serial.print(bottomRightY,BYTE);
Serial.print(state,BYTE);
}
Linkuri:
Datasheet (Descrie protocolul de comunicatie dintre Arduino si LCD)
Review-ul dumneavoastră: Notă: HTML nu este interpretat!
Rating: Rău Bun
Introduceţi codul în căsuţa de mai jos:

Categorii
Informaţii
Cele mai noi





























































-38x38.jpg)


CONTACT
Coşul Tău





