Indholdsfortegnelse:

Desktop Organizer Med LCD: 4 trin
Desktop Organizer Med LCD: 4 trin

Video: Desktop Organizer Med LCD: 4 trin

Video: Desktop Organizer Med LCD: 4 trin
Video: How To Install LCD Touch Screen Desktop Computer & Gaming PC Case Mod Guide 2024, November
Anonim
Image
Image

** Bliver redigeret **

Til HKU arduino -projektet besluttede jeg at lave en desktop -organisator med LCD -skærm, der viser inspirationskitater til at hente dig, når du roterer dit potmeter!

Jeg vil hovedsageligt dække de arduino tekniske ting, så længe du har noget som en trækasse til at skjule din Arduino og LCD i din personlige oganisor kunne antage enhver ønskelig form.

De ting du skal bruge

  • *arduino uno
  • gryde meter
  • *mandlige stikkontakter
  • *LCD -modul! Med SD -kortlæser! (Jeg har arduino tft LCD)
  • *micro SD -kort
  • *træ (jeg genbrugte gamle miniskuffer og brugte nogle reservedele til træ, sørg for at du i det mindste kan danne en lille æske til at skjule din arduino i!

Trin 1: Opsætning af Potmeter på Arduino

Opsætning af Potmeter på Arduino
Opsætning af Potmeter på Arduino

tilslut din potmeter som vist på billedet

for at få pulsmåleren i gang

Du skal starte med nogle variabler øverst på din skitse før opsætningen:

kode:

const int analogInPin = A0; // Analog indgangsstift, som potentiometeret er fastgjort til

int sensorValue = 0; // værdi læst fra potten int outputValue = 0; // værdi output til PWM (analog ud)

På billede 2 viser jeg, hvordan potmeteret er kortlagt i hulrummet

kode:

// læs analogen i værdi:

sensorValue = analogRead (analogInPin); // kortlæg den til området for den analoge udgang: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // ændre den analoge ud -værdi:

stuffToPrint.toCharArray (udskrift, 9); // statisk tekst myScreen.setTextSize (1);

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

forsinkelse (50);

dette kortlægger de analoge data fra potmeteret til et område fra 0 til 255, vi bruger dette område til at styre vores lcd -diasshow

Hvis du har brug for hjælp til opsætning af potmeteret; Jeg brugte koden fra denne nyttige vejledning, stifterne er nøjagtig de samme og fungerer med LCD -opsætningen i de næste trin.

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

Trin 2: Opsætning af LCD -skærmen

Opsætning af LCD
Opsætning af LCD

Opsæt stifterne som i eksemplet ovenfor.

Når det er gjort korrekt, lyser din skærm hvid.

Hvis du har brug for ekstra hjælp eller vil bruge en eksempelkode til at teste din skærm, kan du se den officielle vejledning til dette modul og dens kodeeksempler her

vi vil delvist bruge "tegningsbilledet fra SD -kort" i det næste trin.

Trin 3: Opsætning af diasshowet

Opsætning af diasshowet
Opsætning af diasshowet

Nu hvor vi har konfigureret Potmeter og LCD, kan vi oprette et "diasshow" ved hjælp af potmeterets kortlagte værdier

Ved hjælp af intervallet 0 til 255 kan vi angive et bestemt område, hvor vi kan aktivere arduinoen til at vise noget indhold på LCD -skærmen.

Første eksempel som vist på billedet:

hvis (outputValue <51) {// område et hvis (rangeOne == true) {rangeTwo = true; myScreen.setRotation (90); myScreen.baggrund (0, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text ("Hej der vidunderlige", 10, 50); myScreen.text ("drej stiften> til", 10, 60); myScreen.text ("få opmuntring.", 10, 70); rangeOne = falsk;

Hvis potmeteret vender til et område, der er lavere end 51, vil skærmen med display (i portrættilstand = rotatio 90) noget tekst.

For at kunne vise et billede, skal du sørge for, at din SD CS -pin er korrekt defineret, ellers kan arduinoen ikke initialisere SD'et (så sørg for at kontrollere dine ledninger !!)

Hvis du vil kontrollere dine LCD -pins, kan du henvise til den officielle vejledning under "tilslutning af skærmen"

Jeg definerede min SD CS pin som 4 nu, fordi jeg blandede mine ledninger, for eksempel! - Jeg er glad for at dele den lille oopsie, fordi det vil spare dig for meget tid på at søge på nettet efter fejlen "Kan ikke initialiseres". Til hvilke på nogle fora siges det, at rettelsen er at have en bestemt model af SD -kort. Så tjek først dine ledninger, før du køber nye SD -kort !!

Trin 4: Eksempel på fuld kode

#omfatte

#include // Hardware-specifikt bibliotek #include

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

const int analogInPin = A0; // Analog indgangsstift, som potentiometeret er fastgjort til

int sensorValue = 0; // værdi læst fra potten int outputValue = 0; // værdi output til PWM (analog ud) bool rangeOne = true; bool rangeTwo = true; bool rangeThree = true; bool rangeFour = true; bool rangeFive = true;

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

Billedbillede; const char udskrift [9];

ugyldig opsætning () {Serial.begin (9600); myScreen.begin (); // prøv at få adgang til SD -kortet Serial.print ("Initialiserer SD -kort …"); hvis (! SD.begin (SD_CS)) {Serial.println ("mislykkedes!"); Vend tilbage; } Serial.println ("OK!");

// initialiser og ryd GLCD -skærmen myScreen.begin (); myScreen.baggrund (255, 255, 255);

} void loop () {// læs den analoge værdi: sensorValue = analogRead (analogInPin); // kortlæg det til området for den analoge udgang: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // ændre den analoge ud -værdi:

stuffToPrint.toCharArray (udskrift, 9); // statisk tekst myScreen.setTextSize (1);

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

forsinkelse (50);

if (outputValue til ", 10, 60); myScreen.text (" få opmuntring. ", 10, 70); rangeOne = false;}} if (outputValue> 52 && outputValue 102 && outputValue 154 && outputValue <205) { / /interval fire if (rangeFour == true) {rangeThree = true; rangeFive = true; myScreen.setRotation (90); myScreen.background (255, 255, 255); // ryd skærmbilledet = myScreen.loadImage ("quote2.bmp "); // skriv billedet på skærmen myScreen.image (billede, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text (" Jeg er så stolt ", 10, 50); myScreen.text ("af dig!", 10, 60); rangeFour = false;}}

hvis (outputValue> 206 && outputValue

Anbefalede: