DIY tid förflutit dolly (11 / 16 steg)
Steg 11: Elektronisk krets för LCD-skärmen
Här använder vi en generisk 16 x 2 lcd display för visning av cykeltiden och tiden som motorn drar kameran.
Displayen har 16 stift. Löda vissa header stift om de inte ingår i din lcd.
Pinut anslutningar
- 1 VSS 0V marken (går till marken av arduino)
- 2 VDD 5V matningsspänningen för logik (5v för arduino genom 220 ohm resistor)
- 3 VO (variabel) fungerande spänningen för LCD (kruka)
- 4 RS H/L H: uppgifter, L: Instruction code (digital stift 7)
- 5 R/W (mark)
- 6 E H, H -> L Chip aktivera signal (digital pin8)
- 7 DB0 H/L Data busslinjen (ingen)
- 8 DB1 H/L Data busslinjen (ingen)
- 9 DB2 H/L uppgifter busslinjen (ingen)
- 10 DB3 H/L Data busslinjen (ingen)
- 11 DB4 H/L Data busslinjen (digital pin 9)
- 12 DB5 H/L Data busslinjen (digital PIN-kod 10)
- 13 DB6 H/L Data busslinjen (digital stift 11)
- 14 DB7 H/L Data busslinjen (digital pin 12)
- 15 en 5V LED + (digital PIN-kod 13)
- 16 K 0V LED-(marken genom 220 ohm)
Församling
- Montera styrelsen enligt kopplingsschemat.
- Anslut ett motstånd mellan matningsspänningen för logik (VDD) och 5v leverans från arduino.
- Db4-7 är anslutna till stiften 9-12 på arduino
En till digital pin 13 (A & K power bakgrundsbelysningen)
Potentiometern genererar en spänning från 0 till 5v på sin terminal - center som kontrollerar kontrasten av LCD-skärmen.
Provningsmetod
Det här är en kod för att testa om din LCD fungerar. Här koden skriver ut "Hello World" på båda raderna av LCD-växelvis. Detta bör fungera om anslutningarna är enligt kopplingsschemat.
Obs: Om du inte ser något på skärmen, Justera kontrast genom potentiometern.
int bakgrundsbelysning = 13.
int ledde = 1;
int c = 1;
int läge = 1;
#include < LiquidCrystal.h >
LiquidCrystal lcd (7, 8, 9, 10, 11, 12); stift 7-12 där vi har anslutit lcd
void setup() {
sätta din installation kod här, om du vill köra en gång:
pinMode ledde (, OUTPUT);
pinMode (bakgrundsbelysning, OUTPUT);
LCD.BEGIN (16, 2);
}
void loop() {
digitalWrite (bakgrundsbelysning, hög);
lcd.setCursor (0, 0);
LCD.Print ("Hello World");
Delay(1000);
LCD.Clear();
Delay(1000);
lcd.setCursor (0, 1);
LCD.Print ("Hello World");
Delay(1000);
LCD.Clear();
Delay(1000);
}