Përmbajtje:

Organizuesi i desktopit me LCD: 4 hapa
Organizuesi i desktopit me LCD: 4 hapa

Video: Organizuesi i desktopit me LCD: 4 hapa

Video: Organizuesi i desktopit me LCD: 4 hapa
Video: SKR 1.3 - VS Code with PlatformIO install 2024, Nëntor
Anonim
Image
Image

** Duke u redaktuar **

Për projektin arduino HKU vendosa të bëj një organizues desktopi me ekran LCD që shfaq citate frymëzimi për t'ju marrë kur rrotulloni potmetrin tuaj!

Unë do të mbuloj gjërat teknike arduino kryesisht, përderisa keni diçka si një kuti druri për të fshehur Arduino -n tuaj dhe LCD në oganizorin tuaj personal mund të marrë çdo formë të dëshirueshme.

Gjërat që do t'ju duhen

  • *arduino uno
  • njehsor tenxhere
  • *tela prottyping mashkull
  • *Moduli LCD! Me lexues kartash SD! (Mora arduino tft LCD)
  • *kartë micro SD
  • *dru (kam ricikluar mini sirtarë të vjetër dhe kam përdorur disa pjesë rezervë prej druri, sigurohuni që të paktën të krijoni një kuti të vogël për të fshehur arduinon tuaj!

Hapi 1: Vendosja e Potmetrit në Arduino

Vendosja e kazanit në Arduino
Vendosja e kazanit në Arduino

lidhni njehsorin tuaj të tenxhere siç tregohet në figurë

për të filluar funksionimin e njehsorit të tenxhere

Ju do të duhet të filloni me disa ndryshore në krye të skicës tuaj para konfigurimit:

kodi:

const int analogInPin = A0; // Pina analoge e hyrjes së cilës i është bashkuar potenciometri

int sensorVlera = 0; // vlera e lexuar nga pot int outputValue = 0; // dalja e vlerës në PWM (dalja analoge)

Në figurën 2 unë tregoj sesi potmetri është i hartuar në lakin e zbrazëtisë

kodi:

// lexoni analogun në vlerë:

sensorValue = analogRead (analogInPin); // hartoni atë në rangun e analogut jashtë: outputValue = hartë (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // ndryshoni vlerën e daljes analoge:

stuffToPrint.toCharArray (printim, 9); // tekst statik myScreen.setTextSize (1);

Serial.print ("sensor ="); Serial.print (sensorVlera); Serial.print ("\ t output ="); Serial.println (outputValue);

vonesë (50);

kjo harton të dhënat analoge nga potmeter në një rang prej 0 deri në 255, ne do ta përdorim këtë gamë për të kontrolluar shfaqjen e rrëshqitjes sonë LCD

Nëse keni nevojë për ndihmë për vendosjen e kazanit; Kam përdorur kodin nga ky mësim i dobishëm, kunjat janë saktësisht të njëjta dhe do të punojnë me konfigurimin LCD në hapat e ardhshëm.

www.toptechboy.com/arduino/lesson-11-arduin…

Hapi 2: Vendosja e LCD -së

Vendosja e LCD -së
Vendosja e LCD -së

Vendosni kunjat si në shembullin e mësipërm.

Kur bëhet siç duhet, ekrani juaj do të ndizet i bardhë.

Nëse keni nevojë për ndihmë shtesë ose dëshironi të përdorni një kod shembull për të testuar ekranin tuaj, mund të shihni tutorialin zyrtar për këtë modul dhe shembujt e kodit të tij këtu

ne do të përdorim pjesërisht "vizatimin e imazhit nga karta SD" në hapin tjetër.

Hapi 3: Konfigurimi i Slideshow

Konfigurimi i Slideshow
Konfigurimi i Slideshow

Tani që kemi të vendosur Potmeter dhe LCD, ne mund të vendosim një "shfaqje rrëshqitëse" duke përdorur vlerat e hartuara të potmeterit

Duke përdorur diapazonin 0 deri në 255, mund të tregojmë një diapazon të caktuar në të cilin mund të nxisim arduinon të shfaqë disa përmbajtje në LCD.

Shembulli i parë siç tregohet në figurë:

if (outputValue <51) {// varg një nëse (rangeOne == vërtetë) {rangeTwo = true; myScreen.setRotation (90); myScreen. sfond (0, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text ("Përshëndetje e mrekullueshme", 10, 50); myScreen.text ("rrotulloni kunjin> në", 10, 60); myScreen.text ("merrni inkurajim.", 10, 70); rangeOne = false;

Nëse potmetri kthehet në një gamë më të ulët se 51, ekrani me ekran (në modalitetin e portretit = rrotullimi 90) pak tekst.

Për të qenë në gjendje të shfaqni një imazh sigurohuni që kunji juaj SD CS është përcaktuar saktë, ose arduino nuk do të fillojë të inicojë SD (prandaj sigurohuni që të kontrolloni telat tuaj !!)

Nëse dëshironi të kontrolloni kunjat e LCD -së tuaj, mund t'i referoheni udhëzuesit zyrtar uner "që lidh ekranin"

Unë e përcaktova kunjin tim SD CS si 4 tani sepse i përzieva telat, për shembull! - Unë jam i lumtur të ndaj atë oops të vogël sepse do t'ju kursejë shumë kohë duke kërkuar në internet për gabimin "Dështoi në fillimin". Për të cilat në disa forume thuhet se rregullimi është të kesh një model të caktuar të kartës SD. Pra, kontrolloni instalimet tuaja elektrike para se të blini karta të reja SD !!

Hapi 4: Shembull i plotë i kodit

#përfshi

#includ // Biblioteka specifike për harduerin #include

#përcakto SD_CS 4 #përcakto CS 10 #përcakto DC 9 #përcakto RESET 8

const int analogInPin = A0; // Pina analoge e hyrjes së cilës i është bashkuar potenciometri

int sensorVlera = 0; // vlera e lexuar nga pot int outputValue = 0; // dalja e vlerës në PWM (analog jashtë) bool rangeOne = true; bool rangeTwo = e vërtetë; bool rangeThree = true; bool rangeFour = true; bool rangeFive = e vërtetë;

TFT myScreen = TFT (CS, DC, RESET);

Imazh PImage; const print print [9];

void setup () {Serial.begin (9600); myScreen.begin (); // përpiquni të hyni në kartën SD Serial.print ("Inicimi i kartës SD …"); nëse (! SD.begin (SD_CS)) {Serial.println ("dështoi!"); kthim; } Serial.println ("OK!");

// inicializoni dhe pastroni ekranin GLCD myScreen.begin (); myScreen. sfond (255, 255, 255);

} void loop () {// lexoni analogun në vlerë: sensorValue = analogRead (analogInPin); // hartoni atë në rangun e analogut jashtë: outputValue = hartë (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // ndryshoni vlerën e daljes analoge:

stuffToPrint.toCharArray (printim, 9); // tekst statik myScreen.setTextSize (1);

Serial.print ("sensor ="); Serial.print (sensorVlera); Serial.print ("\ t output ="); Serial.println (outputValue);

vonesë (50);

nëse (outputValue to ", 10, 60); myScreen.text (" merrni inkurajim. ", 10, 70); rangeOne = false;}} if (outputValue> 52 && outputValue 102 && outputValue 154 && outputValue <205) { / /varg katër if (rangeFour == true) {rangeThree = true; rangeFive = true; myScreen.setRotation (90); myScreen.background (255, 255, 255); // pastro imazhin e ekranit = myScreen.loadImage ("quote2.bmp "); // shkruaj imazhin në ekran; myScreen.text ("prej jush!", 10, 60); rangeFour = false;}}

nëse (outputValue> 206 && outputValue

Recommended: