Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
** 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
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
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
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