Hvordan bruke LCD CreateChar -metoden i Arduino

Hvordan bruke LCD CreateChar -metoden i Arduino
Tegn i Arduino inkluderer alfanumerisk og alle symbolene som kan brukes til enten representasjon av inngangs- og utgangsdataene eller kan brukes til å utføre forskjellige funksjoner. Bruk av tegn kan være gunstig når du viser informasjonen til et program, da det gjør det lettere å tolke informasjonen. Tilsvarende, for å organisere dataene, er karakterene også brukt, og det er noen funksjoner som brukes til å definere tegn i Arduino -programmet. Denne diskursen forklarer funksjonen som brukes til å lage tilpassede tegn i detalj.

Hvordan bruke CreateChar () -funksjonen for å lage tegn

I Arduino er det en spesiell funksjon som karakterer også kan gjøres. Denne funksjonen kan også brukes til å lage forskjellige former, forskjellige symboler og noen animasjoner også.

For å lage tegn krever denne funksjonen de to argumentene. Den første er nummeret på tegnet som brukes når tegnet skal vises.

Det andre argumentet er dataene til tegnet som skal vises; det kan være i form av binære tall eller sekskantnumre.

LCD.CreateChar (tall, karakterdata);

Tilpassede tegn kan opprettes ved å slå på og slå av noen deler av LCD -en. Hvis vi for eksempel vurderer en 16 × 2 LCD, er hver celle på skjermen videre delt inn i prikker som har 8 rader og 5 kolonner.

Så hver celle er på 40 piksler, og denne CreateChar () -funksjonen kan bruke 8-bits av dataene på en gang. Hvis dataene er mer enn 8-bits, kan vi erklære flere tegn og ringe dem etter tall for hver celle og for å vise den cellen i en bestemt rekkefølge.

For eksempel, hvis vi må vise pil nedover, må vi gi verdien av en til den respektive prikken som skal slås på. Tilsvarende vil i off -tilstanden verdien av hver prikk være null, så vi kan si at som standard har hver rad en binær på 0. Så for å vise pilen kan vi erklære følgende binærfiler ved hjelp av byte -datatypen, og vi kan også skrive tilpassede tegn ved å bruke HEX -verdiene ved å bruke samme byte -datatype.

// binære verdier
Byte Arrow Char [8] = 0B00000,0B00000,0B00100,0B00100,0B10101,0B01110,0B00100,0B00000;
// HEX -verdier
byte CustomChar [] = 0x00,0x00,0x04,0x04,0x15,0x0e, 0x04,0x00;

Nedenfor har vi gitt tabellen der a representerer kolonnene, mens B representerer radene slik at hver prikk har enten en verdi på 0 eller 1. I dette tilfellet har vi trukket en pil nedover, og for dette har vi slått på noen prikker ved å gi dem verdien av 1. Raden B3 har bare en prikk som skal slås inn slik at den har verdien 1 og at prikken ligger i kolonne A2 og resten av tabellen er organisert på denne måten.

A4 A3 A2 A1 A0
B0 0 0 0 0 0
B1 0 0 0 0 0
B2 0 0 1 0 0
B3 0 0 1 0 0
B4 1 0 1 0 1
B5 0 1 1 1 0
B6 0 0 1 0 0
B7 0 0 0 0 0

Siden i de to første radene og den siste raden i cellen er det ingen prikk som er i staten, så binærene til disse radene vil være null. Så verdiene for disse radene vil også bli inkludert når vi erklærer karakteren, og vi kan også bruke heksadesimalene for å lage et tegn.

Vi kan også vise flere tegn ved hjelp av LCD.CreateChar () funksjon flere ganger. Da kan vi vise hvert tegn ved hjelp av LCD.skrive() funksjon ved å gi nummeret som er tilordnet karakteren.

Vi har gitt Arduino -koden for bruk av LCD.CreateChar () funksjon der vi har vist flere tegn. For å vise karakterene må vi tildele det spesifikke stedet for hvert tegn i tilfelle av flere tegn som bruker LCD.setcursor () funksjon.

Arduino -kode for å lage tilpassede tegn

#include // Definere bibliotek for LCD
LiquidCrystal LCD (12, 11, 5, 4, 3, 2); // Arduino Pins for LCD
// erklære binærene for hvert tegn
byte char1 [8] = 0b00000,0b00000,0b00100,0b00100,0b10101,0b01110,0b00100,0b00000;
byte char2 [8] = 0b00000,0b00000,0b00100,0b01010,0b11011,0b01010,0b11111,0b00000;
byte char3 [8] = 0b00000,0b00000,0b01010,0b10101,0b10001,0b01010,0b00100,0b00000;
void setup ()
Serie.Begynn (9600);
LCD.begynn (16, 2); // initialisere dimensjonene til LCD
LCD.CreateChar (1, Char1); // å lage den første karakteren
LCD.CreateChar (2, char2); // å lage den andre karakteren
LCD.CreateChar (3, char3); // å lage den tredje karakteren
LCD.setcursor (1, 0); // sted for første karakter
LCD.skriv ((byte) 1); // Skrive ut tegnet ved hjelp av nummeret som er gitt til det
LCD.setcursor (2, 0); // sted for andre karakter
LCD.skriv ((byte) 2); // Skrive ut tegnet ved hjelp av nummeret som er gitt til det
LCD.setcursor (3, 0); // sted for tredje karakter
LCD.skriv ((byte) 3); // Skrive ut tegnet ved hjelp av nummeret som er gitt til det

void loop ()

I Arduino -koden etter å ha definert biblioteket for LCD og tilordnet pinnene til Arduino til LCD, er binærene for tre tegn definert.

Deretter i oppsettfunksjonen etter å ha erklært dimensjonene til LCD -funksjonen LCD.CreateChar () brukes til å lage det tilpassede tegnet. De definerte binærene til karakterene blir gitt til denne funksjonen, og hvert tegn blir tildelt et tall som brukes i LCD.skrive ut() funksjon. For hver karakter funksjonen LCD.CreateChar () brukes separat.

Det skjematiske for kretsen er:

Produksjon

Konklusjon

Å bruke tegn i programmering kan hjelpe til med merking av de viste dataene som å vise symbolet på termometer for temperatur. For å opprette og vise de spesielle tilpassede tegnene i skjermmodulen Funksjonen LCD.CreateChar () kan brukes. Denne oppskrivningen forklarer hvordan du lager spesialtegn ved hjelp av LCD.CreateChar () -funksjon.