C-bibliotek för HD44780 LCD uppvisning Controller (4 / 4 steg)

Steg 4: Hur man animera tecken i displayen



Animate.c

Denna bild är ganska tråkigt. Men kolla in videon senare i detta inlägg.
Animate.c kodexempel visar funktionerna animateLeft() och animateRight().

Jag ville piffa upp uppgiften att skriva texten till bildskärmar.

Med hjälp av hd44780_set_cursorPosition() funktion, öka/minska, MoveLeft och MoveRight kommandon kan du göra några ganska trevligt textanimering.

Låt oss titta på koden och se hur vi kan utföra denna uppgift.

#include
#include "hd44780_4bit_lib.h"
#include
/*
* Detta kodexempel skriver text till skärmen med den
* Markören ökning, minskning och markören vänster och höger
* kommandon, tillsammans med vissa funktioner som anaimate den
* skriva ut tecken till displayen
* Jag skulle använda timerhändelser för tecken
* vänta tid, men jag ville koden vara icke CPU specifika.
*/
void main)
{
WDTCTL = WDTPW | WDTHOLD; Inaktivera watchdog-timer
Enligt spec ge displayen 10ms komma till spänning
__delay_cycles(10000 * CPUSPEED);
ställa in datalängd, antal linjer och teckensnitt
märke vi har setup Visa för 2 rader
och med 5 x 8 tecken storleksanpassar
hd44780_init (N_2LINE, FONT_8);
om behövs ställa in markören
hd44780_send_command(HD44780_CMD_DISPLAY_ON_CURSOR);
hd44780_send_command(HD44780_CMD_DISPLAY_ON_CURSOR_BLINK);
hd44780_send_command(HD44780_CMD_INCREMENT);
hd44780_send_command(HD44780_CMD_MOVE_CURSOR_RIGHT);
hd44780_setCursorPosition (0, 0);
Anaimate funktioner ta tre parametrar:
Textsträngen att skriva ut
Displayen i tecken synliga bredd
Motiveringen, "L" för vänster
"C" för centrerad text
"R" för rätt jusificatiopn
Antalet klockcykler du vill vänta efter
varje tecken skrivs ut
hd44780_animateRight ("Detta är rätt", 20, "C", 2500);
hd44780_send_command(HD44780_CMD_DECREMENT);
hd44780_send_command(HD44780_CMD_MOVE_CURSOR_LEFT);
hd44780_setCursorPosition (1, 19);
hd44780_animateLeft (det är vänster", 20,"C", 2500);
hd44780_send_command(HD44780_CMD_INCREMENT);
hd44780_send_command(HD44780_CMD_MOVE_CURSOR_RIGHT);
hd44780_send_command(HD44780_CMD_RETURN_HOME);
}

Låt oss ta koden och översyn avsnitt av avsnitt:

hd44780_setCursorPosition (0, 0);
Anaimate funktioner ta tre parametrar:
Textsträngen att skriva ut
Displayen i tecken synliga bredd
Motiveringen, "L" för vänster
"C" för centrerad text
"R" för rätt jusificatiopn
Antalet klockcykler du vill vänta efter
varje tecken skrivs ut
hd44780_animateRight ("Detta är rätt", 20, "C", 2500);

Vi anger du räknaren AC adress att öka texten, då vi satt upp displayen att flytta markören till höger.
Vi ange markörens position till rad 0, kolumn 0.

Vi anropar sedan funktionen hd44780_animateRight().

Märke vi har att passera några argument till denna metod.

Den text du vill skriva ut på displayen

Rad på skärmen, på min display fodra en synlig bredd delas mellan två 20 tecken linjer på displayen.

Sedan ange vi text motiveringen på displayen. "L" för vänster motivering, "C" för center motivering och "R" för högerjustering.

Du måste också ange en mikro andra paus tid, denna parameter kommer att ange paus tiden efter varje tecken skrivs ut på displayen. Genom att ändra denna parameter kan du snabba upp eller sakta ner animeringen av de tecken som skrivs ut till displayen.

Att anropa funktionen hd44780_animateRight() kommer sedan skriva ut textsträngen till displayen.

hd44780_send_command(HD44780_CMD_DECREMENT);
hd44780_send_command(HD44780_CMD_MOVE_CURSOR_LEFT);
hd44780_setCursorPosition (1, 19);
hd44780_animateLeft (det är vänster", 20,"C", 2500);
hd44780_send_command(HD44780_CMD_INCREMENT);
hd44780_send_command(HD44780_CMD_MOVE_CURSOR_RIGHT);
hd44780_send_command(HD44780_CMD_RETURN_HOME);

På samma sätt kan vi ändra AC, adress Counter att minska markörens position och flytta tecken till vänster.
Vi nu ställa in markörens position till rad 1 och kolumn 19, sista tecknet för på första raden. Kom ihåg att displayen är nollbaserat. Börja räkna från 0 istället om 1.

Sedan kallar vi hd44780_animateLeft() om du vill animera tecken till vänster.

Detta kodning prover är bara ett grundläggande exempel på vad du kan göra med hd44780 controller gränssnittet.

Om jag kommer upp med ytterligare tillägg till biblioteket kommer jag att lägga dem någon låta alla veta i ett nytt inlägg.

Se Steg
Relaterade Ämnen

HD44780 LCD till I2C adapter styrelsen för buss pirat

billigt tecken LCD-skärmar baserat på HD44780 chipset kommer i olika storlekar: 2 x 16, 4 x 20, etc. Dessa skärmar har två standardgränssnitt lägen, 4 och 8 bitars parallellt. 8 bitar kräver sammanlagt 11 data linjer, 4 bitar kräver 7 (6 för lässkydd...

Arduino Nano: BMP180 barometertryck och temperatur I2C 2 X 16 LCD uppvisning med Visuino

BMP180 är en mycket populär temperatur och barometriskt tryck Arduino kombinationsgivaren. Jag har redan gjort Instuctable med BMP180. Ett antal människor frågade men hur du kan ansluta en annan I2C enhet till samma I2C buss som BMP180. Äntligen har...

Arduino Nano: Ultraljud Ranger(Ping) avstånd I2C 2 X 16 LCD uppvisning med Visuino

I detta Instructable kommer jag visa dig hur lätt det är att ansluta Ultrasonic Sensor till Arduino och visas avståndet på en LCD-Display.Observera att anteckningen på några av bilderna i detta Instructable kommer att fungera korrekt på vissa webbläs...

Arduino Nano: Direkt anslutning 2 X 16 LCD uppvisning med Visuino

Tecken LCD-skärmar är en mycket vanligt förekommande för Arduino projekt, att Visa små mängder av textinformation. De vanligaste typerna är de grundläggande direkt anslutna skärmarna och de med I2C adapter. Jag har redan postat Instructable på hur ti...

Arduino Nano: I2C 2 X 16 LCD uppvisning med Visuino

Tecken LCD-skärmar är en mycket vanligt förekommande för Arduino projekt, att Visa små mängder av textinformation. De vanligaste typerna är de grundläggande direkt anslutna skärmarna och de med I2C adapter. Den I2C versionen är dyrare men behöver bar...

Arduino Nano: DHT11 temperatur en luftfuktighet I2C 2 X 16 LCD uppvisning med Visuino

Jag har redan gjort två Instructables om hur du använder DTH11/DTH21/DTH22 och AM2301 temperatur och luftfuktighet med Arduino, och du hittar dem här och här. Jag gjorde också Instructable om hur du använder I2C LCD-teckens Display, och en om hur man...

Hur man använder en 16 X 2 LCD uppvisning med en Arduino, TI Launchpad eller breadboarded MSP430

i den här videon instructable jag visa hur man koppla ett billigt 16 X 2 LCD-skärm upp till en Arduino, då en TI Launchpad MSP430 kör Energia, sedan en breadboarded MSP430.Dessa skärmar är billiga - jag fick min för $2.26 levereras på eBay. De endast...

Arduino ultraljud avståndsmätare med I²C lcd uppvisning!

Heji detta projekt vill jag Visa och förklara du en rad sensor med ultraljud och en 20 x 04 LCD-skärm. Jag skrev koden för detta projekt själv och lade till massor av kommentarer, så att alla kan förstå det och använda det för andra projekt (kanske e...

Ultimate Sensor Box W/LCD uppvisning och webbgränssnitt

Några vänner och jag köpte några otroligt hög slut i7 och ville se vad vi kunde få ut av en dubbel processor setup med nedsänkning kylning. Vi gick lite överbord och köpte en gallon 3M Novec 7000 kyla vätska för $300 dollar. Det är galna icke-giftiga...

Hur du använder en Nokia 5110 84 X 48 LCD uppvisning med din Arduino (det är enkel och billig!)

Det är billigt och enkelt att lägga till en 84 X 48 LCD till din Arduino projekt. Dessa Nokia 5110 är överskottet från Nokiatelefoner av de sena 90-tal. Tech är gamla, gör det en fantastisk bakgrundsbelyst display för din Arduino projekt. Det finns m...

En helautomatisk kaffe bean Kafferostningsföretagen (Arduino)

jag fick in i världen av Arduino när två vänner informerade mig om denna lilla enhet självständigt från varandra. Jag läste om det och såldes omedelbart. Tänk om jag hade det så många år sedan, hur mycket skulle jag ha uppfunnit redan, vad skulle jag...

Seriella I2C HD44780 kompatibel LCD för ATTINY85

Detta instructable visar dig hur du använder en LCD och I2C modul för att visa data från en ATTINY85. Avsikten med schematiskt ovanför att Visa anslutningen behövs för att visa data. Observera att pull-up motstånd behövs för I2C-modulen.Steg 1: Ändra...

I2C LCD-Controller (det enkla sättet)

jag arbetar på ett larm/weather station projekt och jag ville använda en LCD men dint vill ha en massa sladdar så jag beställer en controller. Detta är bara en mycket grundläggande handledning om hur man kan koppla in, den för nybörjare som mig själv...

Arduino I2C LCD-chaufför bibliotek och PackMan

Detta projekt är en omfattande Arduino port av en tidigare Instructable som finns här;Som hette snappily..."Microchip PIC bibliotek att styra en 20 av 4 LCD över I2C"Det är min första gå på att skriva en C++-bibliotek för Arduino så ber om ursäk...

Arduino Temp/fukt med LCD och webbgränssnitt

jag nyligen hjälpt en kund flyttar sitt kontor som inkluderade att inrätta ett nytt datorrum.Jag ville ha dem för att kunna kontrollera temperaturen och luftfuktigheten i rummet både genom att kontrollera en LCD-display i rummet och även via en webbs...

Mini Arduino Multi funktion styrenhet med LCD-skärm

detta Instructable bygger på mini Arduino miljö monitor och mini Arduino EEGEN monitor Instructables.Det kan du styra upp till 4 reläer med tid, temperatur och/eller ljus, ditt sinne, eller vilken sensor du vill använda.Exemplen är prototyper, jag gå...

Montering en Arduino Nano / LCD projekt plattform

Den "Arduino Nano / 1.8" TFT LCD projekt plattform "består av en 3D tryckta fall att wraps en anpassade utformade PCB som är monterad en Arduino Nano, en 1.8" TFT LCD med en SD-kortläsare och tre tryckknappar som är utsatta på framsida...

Linkit en - vattennivån Controller med TV Fjärrinställningar

Jag redan gjort en vattennivån controller och postat här se länken korrekt flytande nivå Controller med låg kostnad sensor och TV: ns fjärrkontroll för inställningar. Nu dess fungerar bra och jag använder det online. Ändra det till Linkit en att lära...

3-tråds HD47780 LCD för mindre än 1 dollar

i detta instructible vi kommer lära oss hur vi kan koppla in en LCD baserad på HD44780 chipset till SPI bussen och köra det med endast 3 trådar för mindre än $1. Även om jag kommer att fokusera på HD44780 alfanumeriska displayen i denna tutorial, sam...