Talaan ng mga Nilalaman:

Desktop Organiser Sa LCD: 4 na Hakbang
Desktop Organiser Sa LCD: 4 na Hakbang

Video: Desktop Organiser Sa LCD: 4 na Hakbang

Video: Desktop Organiser Sa LCD: 4 na Hakbang
Video: How to delete yourself from the internet 2024, Nobyembre
Anonim
Image
Image

** Pag-e-edit **

Para sa proyekto ng HKU arduino nagpasya akong gumawa ng isang desktop organisor na nagtatampok ng LCD screen na nagpapakita ng mga quote ng inspirasyon upang kunin ka kapag paikutin mo ang iyong potmeter!

Saklaw ko ang arduino na teknikal na mga bagay-bagay, hangga't mayroon kang isang bagay tulad ng isang kahoy na kahon upang itago ang iyong Arduino at LCD sa iyong personal na oganisor ay maaaring tumagal ng anumang kanais-nais na form.

Ang mga bagay na kakailanganin mo

  • * arduino uno
  • metro ng palayok
  • * male prottyping wires
  • * LCD module! Sa SD card reader! (Nakakuha ako ng arduino tft LCD)
  • * micro SD card
  • * kahoy (nirecycle ko ang mga lumang mini drawer at ginamit ang ilang ekstrang mga kasangkapang gawa sa kahoy, siguraduhin na maaari kang bumuo ng isang maliit na kahon upang maitago ang iyong arduino!

Hakbang 1: Pag-set up ng Potmeter sa Arduino

Pag-set up ng Potmeter sa Arduino
Pag-set up ng Potmeter sa Arduino

ikonekta ang iyong pot meter tulad ng ipinakita sa larawan

upang makapagsimula ang pot meter

Kakailanganin mong magsimula sa ilang mga variable sa tuktok ng iyong sketch bago ang pag-set up:

code:

const int analogInPin = A0; // Analog input pin na ikinabit ng potentiometer

int sensorValue = 0; // value read mula sa pot int outputValue = 0; // halaga ng output sa PWM (analog out)

Sa larawan 2 ipinapakita ko kung paano nai-map ang potmeter sa void loop

code:

// basahin ang halaga ng analog:

sensorValue = analogRead (analogInPin); // mapa ito sa saklaw ng analog out: outputValue = mapa (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // baguhin ang halaga ng analog out:

stuffToPrint.toCharArray (printout, 9); // static text myScreen.setTextSize (1);

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

antala (50);

na-map ang data ng analog na ito mula sa potmeter hanggang sa saklaw na 0 hanggang 255, gagamitin namin ang saklaw na ito upang makontrol ang aming lcd slideshow

Kung kailangan mo ng tulong sa pag-set up ng potmeter; Ginamit ko ang code mula sa kapaki-pakinabang na tutorial na ito, ang mga pin ay eksaktong pareho at gagana sa pag-set up ng LCD sa mga susunod na hakbang.

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

Hakbang 2: Pag-set up ng LCD

Pag-set up ng LCD
Pag-set up ng LCD

I-set up ang mga pin tulad ng halimbawa sa itaas.

Kapag tapos nang tama ang iyong screen ay magpapasindi ng puti.

Kung kailangan mo ng karagdagang tulong o nais na gumamit ng ilang halimbawa ng code upang subukan ang iyong pagpapakita maaari mong makita ang opisyal na tutorial para sa modyul na ito at ito ay mga halimbawa ng code dito

bahagyang gagamitin namin ang "pagguhit ng imahe mula sa SD card" sa susunod na hakbang.

Hakbang 3: Pag-set up ng Slideshow

Pagse-set up ng Slideshow
Pagse-set up ng Slideshow

Ngayon na mayroon kaming set up ng Potmeter at LCD maaari naming i-set up ang isang "slideshow" gamit ang mga na-map na halaga ng potmeter

Gamit ang saklaw na 0 hanggang 255 maaari naming ipahiwatig ang isang tiyak na saklaw kung saan maaari naming ma-trigger ang arduino upang ipakita ang ilang nilalaman sa LCD.

Unang halimbawa tulad ng ipinakita sa imahe:

kung (outputValue <51) {// saklaw ng isa kung (rangeOne == totoo) {rangeTwo = true; myScreen.setRotation (90); myScreen.background (0, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text ("Kumusta kamangha-mangha,", 10, 50); myScreen.text ("paikutin ang pin> sa", 10, 60); myScreen.text ("kumuha ng pampatibay-loob.", 10, 70); rangeOne = false;

Kung ang potmeter ay lumiliko sa isang saklaw na mas mababa sa 51, ang screen na may display (sa portrait mode = rotatio 90) ilang teksto.

Upang maipakita ang isang imahe siguraduhin na ang iyong SD CS pin ay tinukoy nang wasto, o ang arduino ay mabibigo upang simulan ang SD (kaya siguraduhing suriin ang iyong mga wire !!)

Kung nais mong suriin ang mga pin ng iyong LCD maaari kang mag-refer sa opisyal na gabay sa uner "pagkonekta sa screen"

Tinukoy ko ang aking SD CS pin bilang 4 ngayon dahil pinaghalo ko ang aking mga wire, halimbawa! - Masaya akong ibahagi ang maliit na oopsie sapagkat makatipid ito sa iyo ng maraming oras sa paghahanap sa web para sa error na "Nabigo upang gawing una." Alin sa ilang mga forum sinabi na ang pag-aayos ay upang magkaroon ng isang tiyak na modelo ng SD card. Kaya suriin muna ang iyong mga kable bago bumili ng mga bagong SD card !!

Hakbang 4: Buong Halimbawa ng Code

# isama

#include // Library na tukoy sa hardware # isama

# tukuyin ang SD_CS 4 # tukuyin ang CS 10 # tukuyin ang DC 9 # tukuyin ang RESET 8

const int analogInPin = A0; // Analog input pin na ikinabit ng potentiometer

int sensorValue = 0; // value read mula sa pot int outputValue = 0; // value output sa PWM (analog out) bool rangeOne = true; saklaw ng boolTwo = totoo; saklaw ng boolTatlo = totoo; saklaw ng boolFour = totoo; saklaw ng boolFive = totoo;

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

Larawan ng larawan; const char printout [9];

void setup () {Serial.begin (9600); myScreen.begin (); // subukang i-access ang SD card Serial.print ("Initializing SD card…"); kung (! SD.begin (SD_CS)) {Serial.println ("bigo!"); bumalik; } Serial.println ("OK!");

// ipasimula at limasin ang screen ng GLCD myScreen.begin (); myScreen.background (255, 255, 255);

} void loop () {// basahin ang analog sa halaga: sensorValue = analogRead (analogInPin); // mapa ito sa saklaw ng analog out: outputValue = mapa (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // baguhin ang halaga ng analog out:

stuffToPrint.toCharArray (printout, 9); // static text myScreen.setTextSize (1);

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

antala (50);

kung (outputValue sa ", 10, 60); myScreen.text (" makakuha ng pampatibay. ", 10, 70); rangeOne = false;}} kung (outputValue> 52 && outputValue 102 && outputValue 154 && outputValue <205) {/ / saklaw na apat kung (rangeFour == true) {rangeThree = true; rangeFive = true; myScreen.setRotation (90); myScreen.background (255, 255, 255); // limasin ang imahe ng screen = myScreen.loadImage ("quote2.bmp "); // isulat ang imahe sa screen myScreen.image (imahe, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text (" Ipinagmamalaki ko ", 10, 50); myScreen.text ("sa iyo!", 10, 60); rangeFour = false;}}

kung (outputValue> 206 && outputValue

Inirerekumendang: