Tartalomjegyzék:

Asztali szervező LCD -vel: 4 lépés
Asztali szervező LCD -vel: 4 lépés

Videó: Asztali szervező LCD -vel: 4 lépés

Videó: Asztali szervező LCD -vel: 4 lépés
Videó: Samsung's First Tablet: The $5,000 PenMaster From 1992! 2024, November
Anonim
Image
Image

** Szerkesztés alatt **

A HKU arduino projekthez úgy döntöttem, hogy készítek egy asztali szervezőt LCD kijelzővel, amely inspiráló idézeteket jelenít meg, hogy felvegye Önt, amikor elforgatja a mérőt!

Leginkább az arduino technikai dolgokkal foglalkozom, amíg van valami fadobozod, hogy elrejtsd az Arduino -t és az LCD -t a személyes oganisorodban, bármilyen kívánatos formát ölthet.

A dolgok, amire szükséged lesz

  • *arduino uno
  • edénymérő
  • *férfi prottyping vezetékek
  • *LCD modul! SD kártyaolvasóval! (Kaptam arduino tft LCD -t)
  • *micro SD kártya
  • fa

1. lépés: A potméter beállítása Arduino -n

A potméter beállítása Arduino -n
A potméter beállítása Arduino -n

csatlakoztassa a fazékmérőt a képen látható módon

hogy elinduljon a fazékmérő

A beállítás előtt el kell kezdenie néhány változóval a vázlat tetején:

kód:

const int analogInPin = A0; // Analóg bemeneti érintkező, amelyhez a potenciométer csatlakozik

int sensorValue = 0; // a potból kiolvasott érték int outputValue = 0; // érték kimenet a PWM -re (analóg kimenet)

A 2. képen azt mutatom be, hogyan van feltérképezve a potméter az üres hurokban

kód:

// olvassa el az analógot értékben:

sensorValue = analogRead (analogInPin); // leképezése az analóg kimenet tartományához: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = Karakterlánc (outputValue); // az analóg kimeneti érték megváltoztatása:

stuffToPrint.toCharArray (nyomtatás, 9); // statikus szöveg myScreen.setTextSize (1);

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

késleltetés (50);

ez a potméter analóg adatait 0 és 255 közötti tartományba sorolja, ezt a tartományt használjuk az LCD diavetítés vezérléséhez

Ha segítségre van szüksége az edénymérő beállításához; Ennek a hasznos oktatóanyagnak a kódját használtam, a csapok pontosan ugyanazok, és a következő lépésekben működni fognak az LCD beállításával.

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

2. lépés: Az LCD beállítása

Az LCD beállítása
Az LCD beállítása

Állítsa be a csapokat, mint a fenti példában.

Ha helyesen csinálja, a képernyő fehéren világít.

Ha további segítségre van szüksége, vagy példakódot szeretne használni a kijelző teszteléséhez, akkor megtekintheti ennek a modulnak a hivatalos oktatóanyagát és a kód példáit:

a következő lépésben részben a "rajzolás SD kártyáról" fogjuk használni.

3. lépés: A diavetítés beállítása

A diavetítés beállítása
A diavetítés beállítása

Most, hogy a Potmeter és az LCD be van állítva, beállíthatunk egy "diavetítést" a potmeter leképezett értékei alapján

A 0 és 255 közötti tartományt használva jelezhetünk egy bizonyos tartományt, amelyben aktiválhatjuk az arduino -t, hogy bizonyos tartalmakat megjelenítsen az LCD -n.

Első példa a képen:

if (outputValue <51) {// tartomány 1 if (rangeOne == true) {rangeTwo = true; myScreen.setRotation (90); myScreen.background (0, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text ("Hi there wonderful", 10, 50); myScreen.text ("forgassa el a tűt> -ra", 10, 60); myScreen.text ("bátorítást kapni.", 10, 70); rangeOne = hamis;

Ha a mérőeszköz 51 -nél alacsonyabb tartományba fordul, akkor a kijelző kijelzővel (álló módban = 90 elforgatás) némi szöveg jelenik meg.

A kép megjelenítéséhez győződjön meg arról, hogy az SD CS -pin helyesen van definiálva, különben az arduino nem tudja inicializálni az SD -t (ezért ellenőrizze a vezetékeket!)

Ha ellenőrizni szeretné az LCD érintkezőit, olvassa el a hivatalos útmutatót, amely a "képernyő csatlakoztatását" tartalmazza

Az SD CS -t most 4 -nek határoztam meg, mert például összekevertem a vezetékeket! - Örömmel osztom meg ezt a kis hoppá, mert sok időt takaríthat meg az interneten a "Sikertelen inicializálás" hiba keresésével. Amire egyes fórumokon azt mondják, a megoldás az, hogy van egy bizonyos típusú SD -kártya. Tehát először ellenőrizze a kábelezést, mielőtt új SD -kártyát vásárol !!

4. lépés: Példa a teljes kódra

#befoglalni

#include // Hardver-specifikus könyvtár #include

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

const int analogInPin = A0; // Analóg bemeneti érintkező, amelyhez a potenciométer csatlakozik

int sensorValue = 0; // a potból kiolvasott érték int outputValue = 0; // érték kimenet a PWM (analóg kimenet) bool tartománybaOne = true; bool rangeTwo = igaz; bool rangeThree = igaz; bool rangeFour = true; bool rangeFive = igaz;

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

PImage kép; const char nyomtatás [9];

void setup () {Serial.begin (9600); myScreen.begin (); // próbálja meg elérni az SD kártyát Serial.print ("SD kártya inicializálása …"); if (! SD.begin (SD_CS)) {Serial.println ("nem sikerült!"); Visszatérés; } Serial.println ("OK!");

// a GLCD képernyő inicializálása és törlése myScreen.begin (); myScreen.background (255, 255, 255);

} void loop () {// olvassa el az analógot értékben: sensorValue = analogRead (analogInPin); // leképezése az analóg kimenet tartományához: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = Karakterlánc (outputValue); // az analóg kimeneti érték megváltoztatása:

stuffToPrint.toCharArray (nyomtatás, 9); // statikus szöveg myScreen.setTextSize (1);

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

késleltetés (50);

if (outputValue to ", 10, 60); myScreen.text (" buzdítás. ", 10, 70); rangeOne = false;}} if (outputValue> 52 && outputValue 102 && outputValue 154 && outputValue <205) { / /tartomány négy if (rangeFour == true) {rangeThree = true; rangeFive = true; myScreen.setRotation (90); myScreen.background (255, 255, 255); // törölje a képernyőképet = myScreen.loadImage ("quote2.bmp "); // írja a képet a képernyőre myScreen.image (kép, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text (" Nagyon büszke vagyok ", 10, 50); myScreen.text ("of you!", 10, 60); rangeFour = false;}}

if (outputValue> 206 && outputValue

Ajánlott: