Sisällysluettelo:

Työpöydän järjestäjä LCD -näytöllä: 4 vaihetta
Työpöydän järjestäjä LCD -näytöllä: 4 vaihetta

Video: Työpöydän järjestäjä LCD -näytöllä: 4 vaihetta

Video: Työpöydän järjestäjä LCD -näytöllä: 4 vaihetta
Video: Artweaver: 03b-työtilan järjestäminen 2024, Joulukuu
Anonim
Image
Image

** muokataan **

HKU arduino -projektia varten päätin tehdä työpöytäorganisaattorin, jossa on LCD -näyttö, jossa on inspiraatiolainauksia, jotka noutavat sinut, kun kierrät potterimittaria!

Käsittelen enimmäkseen arduinon teknisiä juttuja, kunhan sinulla on jotain puulaatikkoa, jolla voit piilottaa Arduinosi ja LCD: n henkilökohtaiseen oganisoijaasi, joka voisi ottaa halutun muodon.

Asiat, joita tarvitset

  • *arduino uno
  • potin mittari
  • *urospuoliset johdot
  • *LCD -moduuli! SD -kortinlukijalla! (Minulla on arduino tft LCD)
  • *micro SD -kortti
  • *puu (kierrätin vanhoja minilaatikoita ja käytin puisia varaosia, varmista, että voit ainakin muodostaa pienen laatikon piilottaaksesi arduinoosi!

Vaihe 1: Potterimittarin asettaminen Arduinolle

Potterimittarin asettaminen Arduinolle
Potterimittarin asettaminen Arduinolle

liitä potin mittari kuvan mukaisesti

saadaksesi potin mittarin toimimaan

Sinun on aloitettava muutamilla muuttujilla luonnoksen yläosassa ennen asennusta:

koodi:

const int analogInPin = A0; // Analoginen tulotappi, johon potentiometri on kiinnitetty

int sensorValue = 0; // potista luettu arvo int outputValue = 0; // arvon lähtö PWM: ään (analoginen lähtö)

Kuvassa 2 näytän kuinka potterimittari on kartoitettu ontelosilmukkaan

koodi:

// lue analoginen arvo:

sensorValue = analoginenLue (analogInPin); // yhdistä se analogialähdön alueeseen: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = Jono (outputValue); // analogisen lähtöarvon muuttaminen:

stuffToPrint.toCharArray (tuloste, 9); // staattinen teksti myScreen.setTextSize (1);

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

viive (50);

tämä kartoittaa potentiaalimittarin analogiset tiedot välille 0 - 255, käytämme tätä aluetta lcd -diaesityksen ohjaamiseen

Jos tarvitset apua potterimittarin asettamisessa; Käytin tämän hyödyllisen opetusohjelman koodia, nastat ovat täsmälleen samat ja toimivat nestekidenäytön kanssa seuraavissa vaiheissa.

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

Vaihe 2: Nestekidenäytön asentaminen

LCD -näytön asentaminen
LCD -näytön asentaminen

Aseta nastat kuten yllä olevassa esimerkissä.

Kun se on tehty oikein, näyttösi palaa valkoisena.

Jos tarvitset lisäapua tai haluat käyttää esimerkkikoodia näytön testaamiseen, näet tämän moduulin virallisen opetusohjelman ja sen koodiesimerkit täältä

käytämme osittain "piirustuskuvaa SD -kortilta" seuraavassa vaiheessa.

Vaihe 3: Diaesityksen asettaminen

Diaesityksen asettaminen
Diaesityksen asettaminen

Nyt kun Potterimittari ja LCD on asetettu, voimme perustaa "diaesityksen" käyttämällä potterimittarin kartoitettuja arvoja

Käyttämällä aluetta 0–255 voimme ilmoittaa tietyn alueen, jolla voimme käynnistää arduinon näyttämään jotakin sisältöä nestekidenäytössä.

Ensimmäinen esimerkki kuvassa:

if (outputValue <51) {// alue one if (rangeOne == true) {rangeTwo = true; myScreen.setRotation (90); myScreen.background (0, 0, 0); myScreen.troke (255, 255, 255); myScreen.text ("Hei ihana", 10, 50); myScreen.text ("kierrä tappi> kohtaan", 10, 60); myScreen.text ("saa rohkaisua.", 10, 70); rangeOne = epätosi;

Jos potkurimittari kääntyy alemmalle alueelle kuin 51, näyttö, jossa on näyttö (pystysuunnassa = kääntö 90), tekstiä.

Jotta voit näyttää kuvan, varmista, että SD -CS -nastasi on määritetty oikein, tai arduino ei alustaa SD: tä (joten tarkista johdot !!)

Jos haluat tarkistaa nestekidenäytön nastat, tutustu viralliseen oppaaseen "näytön liittämisestä"

Määritin SD CS -tapin 4: ksi, koska sekoitin esimerkiksi johdot! - Olen iloinen voidessani jakaa tämän pienen hupsun, koska se säästää paljon aikaa etsiessään verkosta "Alustus epäonnistui" -virhettä. Joillekin foorumeille sanotaan, että korjaus on tietyn SD -kortin mallin hankkiminen. Tarkista siis johdotus ennen uusien SD -korttien ostamista !!

Vaihe 4: Esimerkki koko koodista

#sisältää

#include // Laitteistokohtainen kirjasto #include

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

const int analogInPin = A0; // Analoginen tulotappi, johon potentiometri on kiinnitetty

int sensorValue = 0; // potista luettu arvo int outputValue = 0; // arvon lähtö PWM (analoginen lähtö) bool -alueelleOne = true; bool rangeTwo = tosi; bool rangeThree = totta; bool rangeFour = true; bool rangeFive = totta;

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

PImage -kuva; const char tuloste [9];

void setup () {Serial.begin (9600); myScreen.begin (); // yritä käyttää SD -korttia Serial.print ("SD -kortin alustaminen…"); if (! SD.begin (SD_CS)) {Serial.println ("epäonnistui!"); palata; } Serial.println ("OK!");

// alustaa ja tyhjentää GLCD -näytön myScreen.begin (); myScreen.background (255, 255, 255);

} void loop () {// lue analoginen arvo: sensorValue = analogRead (analogInPin); // yhdistä se analogialähdön alueeseen: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = Jono (outputValue); // analogisen lähtöarvon muuttaminen:

stuffToPrint.toCharArray (tuloste, 9); // staattinen teksti myScreen.setTextSize (1);

Sarjajälki ("sensor ="); Serial.print (sensorValue); Serial.print ("\ t output ="); Sarja.println (outputValue);

viive (50);

if (outputValue to ", 10, 60); myScreen.text (" saada rohkaisua. ", 10, 70); rangeOne = false;}} if (outputValue> 52 && outputValue 102 && outputValue 154 && outputValue <205) { / /alue neljä if (rangeFour == true) {rangeThree = true; rangeFive = true; myScreen.setRotation (90); myScreen.background (255, 255, 255); // tyhjennä näytön kuva = myScreen.loadImage ("quote2.bmp "); // kirjoita kuva näytölle myScreen.image (kuva, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text (" Olen niin ylpeä ", 10, 50); myScreen.text ("teistä!", 10, 60); rangeFour = false;}}

if (outputValue> 206 && outputValue

Suositeltava: