Cuprins:

Tranziția culorii pe POP-X2 GLCD folosind un buton: 6 pași
Tranziția culorii pe POP-X2 GLCD folosind un buton: 6 pași

Video: Tranziția culorii pe POP-X2 GLCD folosind un buton: 6 pași

Video: Tranziția culorii pe POP-X2 GLCD folosind un buton: 6 pași
Video: Dorian este speriat de un interlop când face poze 😱🥊🤣 #timisoara #dorianpopa #cluj #bucuresti 2024, Noiembrie
Anonim
Tranziția culorii pe POP-X2 GLCD folosind un buton
Tranziția culorii pe POP-X2 GLCD folosind un buton

Practic, acest proiect arată o caracteristică a unei plăci de control pe care îmi place să o folosesc. Placa POP-X2, fabricată de INEX, are un GLCD încorporat, un buton, porturi I / O și componente similare celorlalte plăci de controler. Vă rugăm să verificați manualul plăcii pentru specificații complete. Vezi acest link.

GLCD (Graphic Liquid Crystal Display) încorporat pe placa controlerului oferă o metodă de afișare a datelor, nu doar texte și numere, ci și cu grafică vectorială. În acest tutorial, vă voi învăța cum să afișați o grafică simplă la GLCD. Pentru a-l face mai interesant, am adăugat programe pentru butonul de la bord, ca controler pentru tranziția culorilor.

Tine minte. Acest tutorial s-a axat în principal pe partea de programare. Dacă dețineți aceeași placă sau o placă ATX2, puteți face acest tutorial cu ușurință. După ce ați terminat, puteți încerca să explorați celelalte funcționalități ale tabloului.:)

Acum, să începem!

Pasul 1: Ce ne așteptăm?

Image
Image

Vă rugăm să urmăriți videoclipul de mai sus.

Pasul 2: strângerea materialelor

Configurare hardware și software
Configurare hardware și software

Piese și materiale:

- Laptop / Computer de birou cu Arduino Arduino 1.7.10 instalat (driver semnat) sau versiune superioară

- 1 placă POP-X2 (cu un buton integrat)

- 1 cablu de descărcare

- 4 buc. Baterii AA

Pasul 3: Configurare hardware și software

Configurare hardware și software
Configurare hardware și software

1. Așezați cele 4 baterii în interiorul suportului pentru baterii. (Placa acceptă o tensiune maximă de intrare de 7,4 V.)

Notă: Vă rugăm să verificați corect polaritatea bateriilor.

2. Conectați cablul de descărcare la computer și la placa. Vă rugăm să consultați imaginea de mai sus.

3. Porniți placa controlerului. Asigurați-vă că indicatorul LED albastru a fost aprins. Sau altfel, trebuie să instalați driverul software Arduino.

Apropo, folosesc Arduino versiunea 1.7.10 (driver semnat), deoarece are deja biblioteca POP-X2. Faceți clic pe acest link pentru a descărca software-ul.

4. Setați portul plăcii făcând clic pe Instrumente> Port serial> Selectați numărul portului COM corect.

5. Setați placa făcând clic pe Instrumente> Placă> POP-X2, ATMega644P @ 20MHz.

6. Încercați să încărcați schița implicită pentru a vă asigura că placa este conectată corect.

#include // Biblioteca POP-X2

void setup () {OK (); } bucla nulă () {}

Pasul 4: Testare buton

Testul butonului
Testul butonului

Înainte de a efectua programul principal, trebuie să vă asigurați că butonul de la bord funcționează.

1. Încărcați programul de probă pentru buton. Faceți clic pe Fișier> Exemple> POP-X2> popx2_KnobOKTest

Operatie de baza:

- Gama de valori analogice a butonului care este afișat la GLCD este de la 0 la 1000.

- Când butonul este rotit în sensul acelor de ceasornic, valoarea analogică afișată la GLCD crește.

- Când butonul este rotit în sens invers acelor de ceasornic, valoarea analogică afișată la GLCD scade.

Pasul 5: Programare

Programare
Programare
Programare
Programare

Am atașat mai jos codul sursă. Deci, vă rugăm să îl încărcați.

Previzualizare program:

#include // Biblioteca POP-X2 Board

void setup () {OK (); } void loop () {int reading = map (buton (), 0, 1000, 0, 245); if ((citire> = 0) && (citire = 36) && (citire = 71) && (citire = 106) && (citire = 141) && (citire = 176) && (citire = 211) && (citire <= 245)){ alb(); } glcdFillScreen (GLCD_BLACK); glcd (0, 0, "% d", citire); }

gol roșu () {

setTextBackgroundColor (GLCD_RED); glcd (3, 2, ""); glcd (4, 2, ""); glcd (5, 2, ""); glcd (6, 2, ""); setTextBackgroundColor (GLCD_WHITE); setTextColor (GLCD_VIOLET); întârziere (1000); }

gol galben () {

setTextBackgroundColor (GLCD_YELLOW); glcd (1, 8, ""); glcd (2, 8, ""); glcd (3, 8, ""); glcd (4, 8, ""); setTextBackgroundColor (GLCD_WHITE); setTextColor (GLCD_VIOLET); întârziere (1000); }

gol verde () {

setTextBackgroundColor (GLCD_GREEN); glcd (3, 14, ""); glcd (4, 14, ""); glcd (5, 14, ""); glcd (6, 14, ""); setTextBackgroundColor (GLCD_WHITE); setTextColor (GLCD_VIOLET); întârziere (1000); }

void cyan () {

setTextBackgroundColor (GLCD_CYAN); glcd (9, 14, ""); glcd (10, 14, ""); glcd (11, 14, ""); glcd (12, 14, ""); setTextBackgroundColor (GLCD_WHITE); setTextColor (GLCD_VIOLET); întârziere (1000); }

gol albastru () {

setTextBackgroundColor (GLCD_BLUE); glcd (11, 8, ""); glcd (12, 8, ""); glcd (13, 8, ""); glcd (14, 8, ""); setTextBackgroundColor (GLCD_WHITE); setTextColor (GLCD_VIOLET); întârziere (1000); }

gol magenta () {

setTextBackgroundColor (GLCD_MAGENTA); glcd (9, 2, ""); glcd (10, 2, ""); glcd (11, 2, ""); glcd (12, 2, ""); setTextBackgroundColor (GLCD_WHITE); setTextColor (GLCD_VIOLET); întârziere (1000); }

gol alb () {

setTextBackgroundColor (GLCD_WHITE); glcd (6, 8, ""); glcd (7, 8, ""); glcd (8, 8, ""); glcd (9, 8, ""); setTextBackgroundColor (GLCD_WHITE); setTextColor (GLCD_VIOLET); întârziere (1000); }

Explicaţie:

1. Caseta colorată (la o poziție specificată) va fi afișată la GLCD atunci când valoarea setată este adevărată (verificați constrângerile de mai jos). Pentru a înțelege coordonatele casetei colorate specificate în program, vă rugăm să consultați imaginea de mai sus.

2. Valoarea analogică a butonului a fost mapată de la 0 - 1000 la 0 - 245. Există 7 culori care pot fi afișate; prin urmare, fiecare culoare are o gamă de 35 (cu excepția primei constrângeri).

3. Constrângeri:

Culoare valoare (casetă)

0 - 35 - Roșu

36 - 70 - Galben

71 - 105 - Verde

106 - 140 - Cyan

141 - 175 - Albastru

176 - 210 - Magenta

211 - 245 - Alb

Notă: Afișajul cutiei NU este perfect, deoarece are un decalaj între linii. Am folosit spații în acest program în loc de coordonate reale, pentru a demonstra cu ușurință cum ar arăta.

De asemenea, am creat funcții pentru fiecare casetă pentru a înțelege codul cu ușurință.

Recomandat: