Sisukord:

Töölaua organiseerija LCD -ekraaniga: 4 sammu
Töölaua organiseerija LCD -ekraaniga: 4 sammu

Video: Töölaua organiseerija LCD -ekraaniga: 4 sammu

Video: Töölaua organiseerija LCD -ekraaniga: 4 sammu
Video: BTT - Manta M4P - Creality CR10 Display setup 2024, November
Anonim
Image
Image

** toimetatakse **

HKU arduino projekti jaoks otsustasin teha lauaarvuti korraldaja, millel on LCD -ekraan, mis kuvab inspiratsiooni hinnapakkumisi, et teid potomeetri pööramisel vastu võtta!

Pean enamasti arduino tehnilisi asju, kui teil on midagi puidust kasti, et peita oma Arduino ja LCD oma isiklikus oganisoris, mis tahes soovitud kujul.

Asjad, mida vajate

  • *arduino uno
  • potimõõtja
  • *isased prottyping juhtmed
  • *LCD -moodul! SD -kaardilugejaga! (Mul on arduino tft LCD)
  • *micro SD kaart
  • *puit (kasutasin vanu minisahtleid taaskasutusse ja kasutasin puidust varuosi, veenduge, et saaksite vähemalt väikese karbi moodustada, kuhu oma arduino peita!

Samm: Potmetomeetri seadistamine Arduinole

Potomeetri seadistamine Arduinole
Potomeetri seadistamine Arduinole

ühendage oma potimõõtur, nagu pildil näidatud

et potimõõdik tööle hakkaks

Enne seadistamist peate alustama mõningate muutujatega visandi ülaosas.

kood:

const int analoogInPin = A0; // Analoogsisendi tihvt, millele potentsiomeeter on kinnitatud

int sensorValue = 0; // potist loetud väärtus int outputValue = 0; // väärtuse väljund PWM -ile (analoogväljund)

Pildil 2 näitan, kuidas potimeeter tühimikusilmus kaardistatakse

kood:

// loe analoogi väärtuses:

sensorValue = analogRead (analogInPin); // kaardista see analoogväljundi vahemikku: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // analoogväljundi väärtuse muutmine:

stuffToPrint.toCharArray (väljatrükk, 9); // staatiline tekst myScreen.setTextSize (1);

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

viivitus (50);

see kaardistab potimeetri analoogandmed vahemikku 0 kuni 255, kasutame seda vahemikku oma LCD -slaidiseansi juhtimiseks

Kui vajate abi potomeetri seadistamisel; Kasutasin selle kasuliku õpetuse koodi, nööpnõelad on täpselt samad ja töötavad järgmiste sammude ajal LCD -seadistusega.

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

2. samm: LCD -ekraani seadistamine

LCD -ekraani seadistamine
LCD -ekraani seadistamine

Seadistage tihvtid nagu ülaltoodud näites.

Kui see on õigesti tehtud, süttib ekraan valgelt.

Kui vajate täiendavat abi või soovite oma näidiku testimiseks kasutada mõnda näidiskoodi, näete selle mooduli ametlikku õpetust ja selle koodinäiteid siin

järgmises etapis kasutame osaliselt "SD -kaardilt kujutise joonistamist".

3. samm: slaidiseansi seadistamine

Slaidiseansi seadistamine
Slaidiseansi seadistamine

Nüüd, kui meil on potimeeter ja LCD seadistatud, saame potomeetri kaardistatud väärtuste abil seadistada "slaidiseansi"

Kasutades vahemikku 0 kuni 255, saame näidata teatud vahemiku, milles saame käivitada arduino LCD -ekraanil teatud sisu kuvamiseks.

Esimene näide, nagu pildil:

if (outputValue <51) {// vahemik üks if (rangeOne == true) {rangeTwo = true; myScreen.setRotation (90); myScreen.background (0, 0, 0); myScreen.troke (255, 255, 255); myScreen.text ("Tere, imeline", 10, 50); myScreen.text ("pööra tihvti> asendisse", 10, 60); myScreen.text ("saada julgustust.", 10, 70); vahemikÜks = vale;

Kui potimeeter pöördub vahemikku alla 51, kuvatakse ekraanil (portreerežiimis = pööramine 90) teksti.

Pildi kuvamiseks veenduge, et teie SD CS -pin on õigesti määratletud, vastasel juhul ei suuda arduino SD -d vormindada (seega kontrollige kindlasti oma juhtmeid !!)

Kui soovite oma vedelkristallekraani kontakte kontrollida, lugege ametlikku juhendit ekraani ühendamise kohta

Määrasin oma SD CS -pin 4 -ks, kuna segasin näiteks oma juhtmed kokku! - Mul on hea meel jagada seda väikest oopsiet, sest see säästab palju aega veebist vea „Initsialiseerimine ebaõnnestus” otsimisel. Mõnel foorumil öeldakse, et paranduseks on teatud SD -kaardi mudel. Nii et enne uute SD -kaartide ostmist kontrollige kõigepealt juhtmestikku !!

Samm 4: täieliku koodi näide

#kaasake

#include // Riistvarapõhine teek #include

#define SD_CS 4 #define CS 10 #define DC 9 #define RESET 8

const int analoogInPin = A0; // Analoogsisendi tihvt, millele potentsiomeeter on kinnitatud

int sensorValue = 0; // potist loetud väärtus int outputValue = 0; // väärtuse väljund PWM (analoogväljund) bool vahemikkuOne = true; bool rangeTwo = tõsi; bool rangeThree = true; bool rangeFour = true; bool rangeFive = tõsi;

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

PImage pilt; const char väljatrükk [9];

void setup () {Serial.begin (9600); myScreen.begin (); // proovige pääseda juurde SD -kaardile Serial.print ("SD -kaardi lähtestamine …"); if (! SD.begin (SD_CS)) {Serial.println ("ebaõnnestus!"); tagasipöördumine; } Serial.println ("OK!");

// GLCD ekraani initsialiseerimine ja tühjendamine myScreen.begin (); myScreen.background (255, 255, 255);

} void loop () {// loe analoogi väärtuses: sensorValue = analogRead (analogInPin); // kaardista see analoogväljundi vahemikku: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // analoogväljundi väärtuse muutmine:

stuffToPrint.toCharArray (väljatrükk, 9); // staatiline tekst myScreen.setTextSize (1);

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

viivitus (50);

if (outputValue to ", 10, 60); myScreen.text (" saada julgustust. ", 10, 70); rangeOne = false;}} if (outputValue> 52 && outputValue 102 && outputValue 154 && outputValue <205) { / /vahemik neli if (rangeFour == true) {rangeThree = true; rangeFive = true; myScreen.setRotation (90); myScreen.background (255, 255, 255); // ekraani pildi kustutamine = myScreen.loadImage ("quote2.bmp "); // kirjutage pilt ekraanile myScreen.image (pilt, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text (" Ma olen nii uhke ", 10, 50); myScreen.text ("sinust!", 10, 60); rangeFour = false;}}

if (outputValue> 206 && outputValue

Soovitan: