Txuas LCD 1602 rau Arduino: piav qhia, haujlwm, cov lus qhia, nta, teeb meem thiab kev daws teeb meem

Cov txheej txheem:

Txuas LCD 1602 rau Arduino: piav qhia, haujlwm, cov lus qhia, nta, teeb meem thiab kev daws teeb meem
Txuas LCD 1602 rau Arduino: piav qhia, haujlwm, cov lus qhia, nta, teeb meem thiab kev daws teeb meem
Anonim

Txhua tus kws tshaj lij xov tooj cua, tom qab qee qhov yooj yim DIY ua haujlwm, los rau lub hom phiaj ntawm kev tsim ib yam dab tsi loj siv sensors thiab cov nyees khawm. Tom qab tag nrho, nws yog qhov nthuav ntau dua los tso saib cov ntaub ntawv ntawm cov zaub dua li ntawm qhov chaw nres nkoj saib. Tab sis tom qab ntawd cov lus nug tshwm sim: cov zaub twg xaiv? Thiab nyob rau hauv dav dav, yuav ua li cas mus cuag nws, dab tsi yuav tsum tau mus cuag? Cov lus teb rau cov lus nug no yuav raug tham hauv kab lus no.

LCD 1602 zaub rau kev sib txuas rau arduino
LCD 1602 zaub rau kev sib txuas rau arduino

YLCD 1602

Ntawm ntau qhov kev xaiv ntawm cov lus qhia, Kuv xav tawm ib qho ntawm LCD1602 zaub raws li HD4478 maub los. Muaj cov zaub no nyob rau hauv ob xim: cov tsiaj ntawv dawb ntawm xiav keeb kwm yav dhau, cov tsiaj ntawv dub ntawm keeb kwm daj. Txuas lub LCD 1602 rau Arduino yuav tsis ua rau muaj teeb meem ib yam, vim muaj lub tsev qiv ntawv built-in, thiab koj tsis tas yuav rub tawm dab tsi ntxiv. Qhia txawv tsis tsuas yog nyob rau hauv nqe, tab sis kuj nyob rau hauv loj. Feem ntau siv xov tooj cua amateurs siv 16x 2, i.e. 2 kab ntawm 16 tus lej. Tab sis kuj tseem muaj 20 x 4, qhov twg muaj 4 kab ntawm 20 cim. Qhov ntev thiab xim tsis ua lub luag haujlwm hauv kev sib txuas ntawm lcd 1602 zaub rau Arduno, lawv txuas nrog tib txoj kev. Lub kaum sab xis saib yog 35 degrees, lub sij hawm cov lus teb yog 250 ms. Nws tuaj yeem ua haujlwm ntawm qhov kub ntawm -20 txog 70 degrees Celsius. Thaum ua haujlwm, nws siv 4 mA rau lub vijtsam thiab 120 mA rau lub teeb nraub qaum.

LCD 1602 zaub pinout
LCD 1602 zaub pinout

siv qhov twg?

Cov zaub no muaj nws qhov chaw tsis yog hauv xov tooj cua amateurs xwb, tab sis kuj yog cov tuam txhab loj. Piv txwv li, cov tshuab luam ntawv, tshuab kas fes kuj siv LCD1602. Qhov no yog vim nws tus nqi qis, cov zaub no raug nqi 200-300 rubles ntawm Suav chaw. Nws yog tsim nyog yuav muaj, raws li nyob rau hauv peb lub khw cov paj ntaub rau cov zaub no siab heev.

Txuas rau Arduino

Txuas LCD 1602 rau Arduino Nano thiab Uno tsis txawv. Koj tuaj yeem ua haujlwm nrog cov zaub hauv ob hom: 4-ntsis thiab 8. Thaum ua haujlwm nrog 8-ntsis zaub, ob qho tib si qis thiab siab dua cov khoom siv, thiab nrog 4-ntsis ib qho, tsuas yog cov qis dua. Tsis muaj lub ntsiab lus tshwj xeeb hauv kev ua haujlwm nrog 8-ntsis, txij li 4 tus neeg sib txuas ntxiv yuav raug ntxiv rau kev sib txuas, uas tsis pom zoo, vim tias qhov ceev yuav tsis siab dua, cov zaub hloov tshiab txwv yog 10 zaug ib ob. Feem ntau, ntau cov xov hlau siv los txuas lub lcd 1602 rau Arduino, uas ua rau qee qhov tsis yooj yim, tab sis muaj cov ntaub thaiv tshwj xeeb, tab sis ntxiv rau qhov ntawd tom qab. Daim duab qhia txog kev sib txuas ntawm cov zaub rau Arduino Uno:

Txuas cov zaub rau arduino
Txuas cov zaub rau arduino

Code piv txwv:


nrog //Ntxiv cov tsev qiv ntawv yuav tsum tau LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) void setup(){ lcd.begin(16, 2); // Teem screen dimension lcd.setCursor(0, 0); // Teem tus cursor rau qhov pib ntawm kab 1 lcd.print("Nyob zoo, ntiaj teb!"); // Tso cov ntawv lcd. setCursor(0, 1); // Teem tus cursor rau qhov pib ntawm kab 2 lcd.print("fb.ru"); // Output text } void loop(){ }

Code ua li cas? Ua ntej ntawm tag nrho cov, lub tsev qiv ntawv rau kev ua hauj lwm nrog cov zaub yog kev cob cog rua. Raws li tau hais los saum no, lub tsev qiv ntawv no twb suav nrog Arduino IDE thiab koj tsis tas yuav rub tawm thiab nruab nws ntxiv. Tom ntej no, cov kev sib cuag uas txuas nrog cov pins tau txhais: RS, E, DB4, DB5, DB6, DB7, feem. Ces qhov screen loj yog teem. Txij li thaum peb tab tom ua hauj lwm nrog ib tug version nrog 16 cim thiab 2 kab, peb sau tej yam tseem ceeb. Peb teeb tus cursor rau qhov pib ntawm thawj kab thiab tso saib peb cov ntawv thawj zaug Nyob Zoo Ntiaj Teb. Tom ntej no, muab tus cursor rau ntawm kab thib ob thiab tso saib lub npe ntawm qhov chaw. Yog tag nrho! Txuas lcd 1602 rau Arduino Uno tau txiav txim siab.

I2C yog dab tsi thiab vim li cas thiaj xav tau?

Raws li tau hais los saum no, kev sib txuas cov zaub siv ntau tus pins. Piv txwv li, thaum ua hauj lwm nrog ntau lub sensors thiab LCD zaub 1602 kev sib cuag tej zaum yuav tsis txaus. Feem ntau, xov tooj cua amateurs siv Uno lossis Nano versions, qhov twg tsis muaj ntau tus neeg sib cuag. Tom qab ntawd cov neeg tuaj nrog daim thaiv tshwj xeeb. Piv txwv li, I2C. Nws tso cai rau koj mus txuas cov zaub nrog 4 tus pins xwb. Qhov no yog ob zaug tsawg dua. Lub I2C module yog muag ob qho tib si nyias, qhov twg koj yuav tsum tau solder nws tus kheej, thiab twb soldered rauLCD zaub 1602.

I2C module rau LCD zaub 1602
I2C module rau LCD zaub 1602

Kev sib txuas nrog I2C module

Txuas LCD 1602 rau Arduino Nano nrog I2C siv qhov chaw me me, tsuas yog 4 tus pins: hauv av, lub zog thiab 2 cov ntaub ntawv tawm. Peb txuas lub zog thiab hauv av rau 5V thiab GND ntawm Arduino, raws li. Qhov thib ob kev sib cuag: SCL thiab SDA txuas nrog txhua tus pins analog. Hauv daim duab koj tuaj yeem pom ib qho piv txwv ntawm kev txuas lcd 1602 rau arduino nrog I2C module:

Tso saib kev sib txuas siv I2C module
Tso saib kev sib txuas siv I2C module

Program code

Yog tias nws yuav tsum siv ib lub tsev qiv ntawv nkaus xwb los ua haujlwm nrog cov zaub tsis muaj module, ces ob lub tsev qiv ntawv yuav tsum tau ua haujlwm nrog ib qho module. Ib tug ntawm lawv twb nyob rau hauv Arduino IDE - Hlau. Lwm lub tsev qiv ntawv, LiquidCrystal I2C, yuav tsum tau rub tawm nyias thiab nruab. Txhawm rau nruab lub tsev qiv ntawv hauv Arduino, cov ntsiab lus ntawm cov ntaub ntawv rub tawm yuav tsum tau muab tso rau hauv Cov Tsev qiv ntawv hauv paus nplaub tshev. Code piv txwv siv I2C:


nrog nrog rau LiquidCrystal_I2C lcd(0x27, 16, 2); // Teem cov zaub void setup() { lcd.init(); lcd.backlight();// Tig rau ntawm qhov screen backlight lcd.print("FB.ru"); lcd.setCursor(8, 1); lcd.print("LCD 1602"); } void loop() { // Teem tus cursor rau kab thib ob thiab tus cim null. lcd.setCursor(0, 1); // Luam tawm tus naj npawb ntawm vib nas this txij li thaum arduino pib lcd.print(millis()/1000); }

Raws li koj pom, tus lej yuav luag tib yam.

Kuv yuav ntxiv kuv tus kheej li cas?

Qhov teeb meem nrog cov lus qhia no yog qhov tsis muajkev txhawb nqa rau Cyrillic thiab cov cim. Piv txwv li, koj yuav tsum thauj ib co cim rau hauv cov zaub kom nws thiaj li muaj kev cuam tshuam nws. Ua li no, cov zaub tso cai rau koj los tsim txog li 7 ntawm koj cov cim. Qhia lub rooj:

0 0 0 1 0
0 0 0 0 1
1 1 0 0 1
0 0 0 0 1
1 1 0 0 1
0 0 0 0 1
0 0 0 1 0
0 0 0 0 0

Yog 0 - tsis muaj dab tsi nyob ntawd, yog 1 - nws yog qhov chaw ntxoov ntxoo. Hauv qhov piv txwv saum toj no, koj tuaj yeem pom qhov tsim ntawm "smiling smiley" tus cwj pwm. Siv ib qho piv txwv program hauv Arduino, nws yuav zoo li no:


suav nrog include // suav nrog lub tsev qiv ntawv uas xav tau // Smile cim bitmask byte luag[8]={B00010, B00001, B11001, B00001, B11001, B00001, B00010, }; LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) void setup(){ lcd.begin(16, 2); // Teem screen dimension lcd.createChar(1, luag nyav); // Tsim tus lej 1 lcd.setCursor(0, 0); // Teem tus cursor rau qhov pib ntawm kab 1 lcd.print("\1"); // Tso cov luag nyav (tus cim 1) - "\1" } void loop(){ }

Raws li koj pom, tau tsimlub bitmask yog tib yam li lub rooj. Thaum tsim, nws tuaj yeem tso tawm raws li qhov sib txawv ntawm cov zaub. Nco ntsoov tias tsuas yog 7 tus cim tuaj yeem khaws cia hauv lub cim xeeb. Hauv txoj cai, qhov no txaus. Piv txwv li, yog tias koj xav qhia cov cim degree.

Ntxiv cov cim kev cai rau LCD 1602
Ntxiv cov cim kev cai rau LCD 1602

Teeb meem qhov twg cov zaub yuav tsis ua haujlwm

Muaj qee lub sijhawm thaum lub vijtsam tsis ua haujlwm. Piv txwv li, nws tig rau, tab sis tsis qhia cov cim. Los yog nws tsis qhib kiag li. Ua ntej, saib yog tias koj txuas cov neeg sib cuag kom raug. Yog tias koj siv los txuas lcd 1202 rau Arduino yam tsis muaj I2C, ces nws yooj yim heev kom tau tangled hauv cov xov hlau, uas tuaj yeem ua rau cov zaub ua haujlwm tsis raug. Koj yuav tsum tau ua kom paub tseeb tias qhov sib piv ntawm cov zaub tau nce ntxiv, txij li qhov sib txawv tsawg kawg nws tsis pom txawm tias LCD 1602 nyob rau lossis tsis. Yog tias qhov no tsis pab, ces tej zaum qhov teeb meem yuav pw hauv cov neeg sib cuag, qhov no yog thaum siv I2C module. Tsis tas li, ib qho laj thawj vim li cas cov zaub yuav tsis ua haujlwm yog qhov tsis raug ntawm qhov chaw nyob I2C. Qhov tseeb yog tias muaj ntau lub tuam txhab, thiab lawv tuaj yeem teeb tsa qhov chaw sib txawv, koj yuav tsum kho nws ntawm no:


LiquidCrystal_I2C lcd(0x27, 16, 2);

Hauv kab ntawv koj tuaj yeem pom ob qhov txiaj ntsig, 0x27 thiab 16, 2 (16, 2 yog qhov loj me, thiab 0x27 tsuas yog qhov chaw nyob I2C). Hloov ntawm cov txiaj ntsig no, koj tuaj yeem sim muab 0x37 lossis 0x3F. Zoo, lwm qhov laj thawj tsuas yog qhov yuam kev LCD 1602. Xav tias yuav luag txhua yam rau Arduino yog tsim nyob rau hauv Suav teb, koj tsis tuaj yeem 100% paub tseeb tias qhov yuav khoom.cov khoom tsis muaj teeb meem.

LCD 1602 qhov zoo thiab qhov tsis zoo

Cia peb saib qhov zoo thiab qhov tsis zoo ntawm LCD 1602.

Pros

  • Price. Cov qauv no tuaj yeem yuav ntawm tus nqi pheej yig heev hauv khw hauv Suav teb. Tus nqi yog 200-300 rubles. Qee zaum txawm muag nrog I2C module.
  • Yooj yim txuas. Tej zaum tsis muaj leej twg txuas lub LCD 1602 yam tsis muaj I2C hnub no. Thiab nrog cov qauv no, kev sib txuas tsuas yog siv 4 tus pins xwb, yuav tsis muaj "webs" ntawm cov xov hlau.
  • Programming. Ua tsaug rau cov tsev qiv ntawv npaj txhij, ua haujlwm nrog cov qauv no yooj yim, tag nrho cov haujlwm tau sau npe lawm. Thiab yog tias koj xav tau ntxiv koj tus cwj pwm, nws tsuas siv ob peb feeb xwb.

Cons

Thaum lub sijhawm siv los ntawm ntau txhiab tus neeg ua haujlwm hauv xov tooj cua, tsis muaj qhov cuam tshuam loj heev tau raug txheeb xyuas, tsuas yog muaj cov xwm txheej ntawm kev yuav kev sib yuav, vim suav cov kev xaiv zaub mov yog siv

Kab lus no tau tham txog yuav ua li cas txuas LCD 1602 zaub rau Arduino, thiab kuj tau nthuav tawm cov qauv kev pabcuam rau kev ua haujlwm nrog cov zaub no. Nws yeej yog ib qho zoo tshaj plaws hauv nws pawg, nws tsis yog ntau txhiab tus neeg nyiam xov tooj cua xaiv rau lawv cov haujlwm!

Pom zoo: