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.