Orodha ya maudhui:

Kompyuta ya Kompyuta na LCD: 4 Hatua
Kompyuta ya Kompyuta na LCD: 4 Hatua

Video: Kompyuta ya Kompyuta na LCD: 4 Hatua

Video: Kompyuta ya Kompyuta na LCD: 4 Hatua
Video: JINSI YA KUUNGANISHA SIMU KWENYE PC 2024, Julai
Anonim
Image
Image

** Inabadilishwa **

Kwa mradi wa HKU arduino niliamua kutengeneza kisanidi cha desktop kilicho na skrini ya LCD inayoonyesha nukuu za msukumo kukuchukua wakati unapozungusha bomba lako!

Nitafunika vitu vya kiufundi vya arduino, kwa muda mrefu unaweza kupata kitu kama sanduku la mbao ili kuficha Arduino yako na LCD kwenye oganisor yako ya kibinafsi inaweza kuchukua fomu yoyote inayofaa.

Vitu utakavyohitaji

  • * arduino uno
  • mita ya sufuria
  • * waya za kiume zinazoendelea
  • * Moduli ya LCD! Na msomaji wa kadi ya SD! (Nilipata LCD ya arduino tft)
  • * kadi ndogo ya SD
  • * kuni (nilirudisha droo za zamani za mini na nikatumia sehemu zingine za mbao, hakikisha unaweza kuunda sanduku kidogo kuficha arduino yako ndani!

Hatua ya 1: Kuweka Potmeter kwenye Arduino

Kuweka Potmeter kwenye Arduino
Kuweka Potmeter kwenye Arduino

unganisha mita yako ya sufuria kama inavyoonyeshwa kwenye picha

kupata mita ya sufuria kuanza kazi

Utahitaji kuanza na anuwai kadhaa juu ya mchoro wako kabla ya usanidi:

nambari:

const int analogInPin = A0; // Pini ya pembejeo ya Analog ambayo potentiometer imeambatishwa nayo

sensor ya ndaniValue = 0; // thamani inayosomwa kutoka kwa sufuria int outputValue = 0; // pato la thamani kwa PWM (analog nje)

Katika picha 2 ninaonyesha jinsi bomba la maji linavyopangwa kwenye kitanzi batili

nambari:

// soma analog kwa thamani:

sensorValue = AnalogSoma (AnalogInPin); // ramani kwa anuwai ya analog nje: patoValue = ramani (sensorValue, 0, 1023, 0, 255); String stuffToPrint = Kamba (patoValue); // badilisha thamani ya analog nje:

vituToPrint.toCharArray (uchapishaji, 9); // maandishi ya tuli myScreen.setTextSize (1);

Serial.print ("sensor ="); Printa ya serial (Thamani ya sensa); Serial.print ("\ t pato ="); Serial.println (patoValue);

kuchelewesha (50);

ramani hii data ya analojia kutoka kwa bomba hadi anuwai ya 0 hadi 255, tutatumia masafa haya kudhibiti onyesho letu la LCD

Ikiwa unahitaji msaada wa kuanzisha potmeter; Nilitumia nambari kutoka kwa mafunzo haya yanayofaa, pini ni sawa kabisa na itafanya kazi na usanidi wa LCD katika hatua zifuatazo.

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

Hatua ya 2: Kuweka LCD

Kuanzisha LCD
Kuanzisha LCD

Sanidi pini kama mfano ulio hapo juu.

Ikifanywa kwa usahihi skrini yako itawaka nyeupe.

Ikiwa unahitaji msaada wa ziada au unataka kutumia kificho cha mfano kujaribu onyesho lako unaweza kuona mafunzo rasmi ya moduli hii na ni mifano ya nambari hapa

tutatumia sehemu "picha ya kuchora kutoka kwa kadi ya SD" katika hatua inayofuata.

Hatua ya 3: Kuweka Slideshow

Kuweka Slideshow
Kuweka Slideshow

Sasa kwa kuwa tuna Potmeter na LCD iliyowekwa tunaweza kuanzisha "onyesho la slaidi" kwa kutumia maadili yaliyopangwa ya potmeter

Kutumia masafa ya 0 hadi 255 tunaweza kuonyesha anuwai ambayo tunaweza kuchochea arduino kuonyesha yaliyomo kwenye LCD.

Mfano wa kwanza kama inavyoonyeshwa kwenye picha:

ikiwa (outputValue <51) {// masafa ya kwanza ikiwa (rangeOne == kweli) {rangeTwo = true; myScreen.setRotation (90); uwanja wa nyuma wa myScreen (0, 0, 0); kupigwa kwa myScreen (255, 255, 255); myScreen.text ("Hi kuna ajabu,", 10, 50); myScreen.text ("zungusha pini> hadi", 10, 60); maandishi ya myScreen ("pata faraja.", 10, 70); masafaOne = uwongo;

Ikiwa potmeter inageuka kuwa anuwai chini ya 51, skrini iliyo na onyesho (katika hali ya picha = rotatio 90) maandishi fulani.

Ili kuweza kuonyesha picha hakikisha pini yako ya SD CS imefafanuliwa kwa usahihi, au arduino itashindwa kuanzisha SD (kwa hivyo hakikisha uangalie waya zako !!)

Ikiwa unataka kuangalia pini za LCD yako unaweza kutaja mwongozo rasmi wa "kuunganisha skrini"

Nilifafanua pini yangu ya SD CS kama 4 sasa kwa sababu nilichanganya waya zangu, kwa mfano! - Nafurahi kushiriki mtu huyo mdogo kwa sababu itakuokoa wakati mwingi kutafuta wavuti kwa kosa la "Imeshindwa kuanzisha". Ambayo kwenye vikao vingine inasemekana kurekebisha ni kuwa na mfano fulani wa kadi ya SD. Kwa hivyo angalia wiring yako kwanza kabla ya kununua kadi mpya za SD !!

Hatua ya 4: Mfano kamili wa Msimbo

# pamoja

# pamoja # maktaba maalum ya vifaa # pamoja

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

const int analogInPin = A0; // Pini ya pembejeo ya Analog ambayo potentiometer imeambatishwa nayo

sensor ya ndaniValue = 0; // thamani iliyosomwa kutoka kwa sufuria int outputValue = 0; // pato la thamani kwa PWM (analog nje) bool rangeOne = true; bool rangeTwo = kweli; bool rangeThree = kweli; bool rangeFour = kweli; bool rangeFive = kweli;

TFT myScreen = TFT (CS, DC, Rudisha upya);

Picha ya PImage; chapisho la const char [9];

kuanzisha batili () {Serial.begin (9600); myScreen.anza (); // jaribu kupata kadi ya SD Serial.print ("Kuanzisha kadi ya SD…"); ikiwa (! SD.begin (SD_CS)) {Serial.println ("imeshindwa!"); kurudi; } Serial.println ("Sawa!");

// anzisha na futa skrini ya GLCD myScreen.begin (); uwanja wa nyuma wa myScreen (255, 255, 255);

} kitanzi batili () {// soma analog kwa thamani: sensorValue = analogRead (analogInPin); // ramani kwa anuwai ya analog nje: patoValue = ramani (sensorValue, 0, 1023, 0, 255); String stuffToPrint = Kamba (patoValue); // badilisha thamani ya analog nje:

vituToPrint.toCharArray (uchapishaji, 9); // maandishi ya tuli myScreen.setTextSize (1);

Serial.print ("sensor ="); Printa ya serial (Thamani ya sensa); Serial.print ("\ t pato ="); Serial.println (patoValue);

kuchelewesha (50);

ikiwa (pato la Thamani ya ", 10, 60); / masafa manne ikiwa (rangeFour == kweli) {rangeThree = true; rangeFive = true; myScreen.setRotation (90); myScreen.background (255, 255, 255); // futa picha ya skrini = myScreen.loadImage ("quote2.bmp "); // andika picha kwenye skrini myScreen.image (picha, 0, 0); myScreen.stroke (255, 255, 255);; myScreen.text ("yenu!", 10, 60); rangeFour = uwongo;}}

ikiwa (patoValue> 206 && outputValue

Ilipendekeza: