Talaan ng mga Nilalaman:

Paggamit ng isang 4 Digit at 7 Segment Display, Na May Arduino: 7 Mga Hakbang
Paggamit ng isang 4 Digit at 7 Segment Display, Na May Arduino: 7 Mga Hakbang

Video: Paggamit ng isang 4 Digit at 7 Segment Display, Na May Arduino: 7 Mga Hakbang

Video: Paggamit ng isang 4 Digit at 7 Segment Display, Na May Arduino: 7 Mga Hakbang
Video: 7 проектов. Сборка светодиодного ЖК-будильника с использованием DS1307 и Arduino | Урок 105 2024, Nobyembre
Anonim
Paggamit ng isang 4 Digit at 7 Segment Display, Sa Arduino
Paggamit ng isang 4 Digit at 7 Segment Display, Sa Arduino

Sa tutorial na ito ipapakita ko sa iyo kung paano gumamit ng isang 7 segment na display na may 4 na digit gamit ang arduino. Ang ilang mga pangunahing bagay na nais kong ituro ay tumatagal ito ng halos lahat ng mga digital na pin sa arduino uno, leonardo, ang mga board na may 13 digital pin. Karamihan sa mga ipinapakita ay may 12 mga breakout pin na kumonekta nang direkta sa arduino, o sa pamamagitan ng isang risistor. Gayundin, nais kong ipahiwatig na ang mga ipinakitang ito ay hindi kailangan para sa Ground, 5V, o 3.3V upang maiugnay. Kaya, magsimula na tayo …

Hakbang 1: Mga Kagamitan

Mga Kagamitan
Mga Kagamitan
Mga Kagamitan
Mga Kagamitan
Mga Kagamitan
Mga Kagamitan
Mga Kagamitan
Mga Kagamitan

Ang paggamit ng isang display ng ganitong uri ay nangangailangan ng halos walang mga materyales.

- 4 x 330Ω resistors

- 12 x Lalaki hanggang lalaki na mga wire ng lumulukso

- 1 x Arduino

- 1 x breadboard ng anumang laki (hindi nila kailangan ang mga riles ng kuryente)

Walang kinakailangang mga tool upang makagawa ng isang prototype ng disenyo na ito. Gayunpaman, kailangan ng isang soldering iron at isang pcb board para sa isang mas permanenteng paggamit.

Hakbang 2: Layout ng Breadboard

Layout ng Breadboard
Layout ng Breadboard

Basta bigyan ka ng ilang konteksto ipapaliwanag ko ang paggamit ng bawat pin. 8 sa 12 mga pin sa display ay ginagamit para sa 8 na mga segment. Mayroong 7 mga segment na ginamit upang bumuo ng anumang digit habang kinokontrol ng isa ang decimal point. Ang iba pang 4 sa 12 pin ay nagkokontrol sa bawat isa sa 4 na digit sa display. Anumang pin na may risistor dito ay isa sa 4 na mga digit na pin, kung hindi man sila ang mga segment na pin.

Ang disenyo sa itaas ay nilikha ko mula sa pagprito upang maipakita ang koneksyon sa pagitan ng display at ng arduino. Tandaan ang pagkakalagay kung nasaan ang mga resistors dahil kung ikinonekta mo ang risistor sa maling pin sa display, alinman sa digit na iyon ay hindi gagana o hindi gagana ang segment na iyon, FOREVER …

***MAHALAGANG PAALAALA***

Kapag ang pag-set up ng circuit lumipat ang dilaw at mga lila wires (ginulo ko ang aking diagram ng circuit).

Hakbang 3: Pag-install ng Library

Ang library na naka-link sa ibaba ay mula sa arduino website para sa madaling pagkontrol sa isang display. Ang link ay napupunta sa github. Kung hindi ka pa nakakarating sa github makinig ng mabuti, kung nabasa mo ang susunod na talata. Kapag nakarating ka sa website tingnan ang kanang bahagi ng window at tumingin pababa hanggang makita mo ang, "I-download ang Zip". I-click ang pindutang iyon at panoorin itong lilitaw sa iyong mga pag-download.

Ngayon ay kailangan mong i-load ang dating naka-install na library sa iyong folder ng mga aklatan. Kung gagawin mo ngayon kung paano ito gawin pagkatapos ay lumaktaw sa susunod na hakbang, kung hindi man ay patuloy na basahin. Pumunta muna sa tagahanap at hanapin ang folder na "mga dokumento", at buksan ito. Pagkatapos, hanapin ang folder na "arduino", at buksan ito. Pagkatapos, hanapin ang folder ng mga aklatan, at buksan ito. Sa wakas i-drag at i-drop ang naka-install na library sa nakabukas lamang na folder ng mga aklatan.

MAHALAGA. Kung ang iyong aplikasyon ng arduino ay binuksan at tumatakbo habang inilalagay mo ang library sa folder ng mga aklatan, hindi makikilala ng arduino ang silid-aklatan. Kailangan mo lang umalis sa application at buksan ito muli.

github.com/DeanIsMe/SevSeg

Hakbang 4: Ang Code

Ang Code
Ang Code

Ang code para sa tunay na pagpapakita ng isang bagay ay nakalista sa ibaba.

# isama ang "SevSeg.h"

SevSeg sevseg; // Simulan ang isang pitong segment ng object ng object na walang bisa setup () {byte numDigits = 4; byte digitPins = {2, 3, 4, 5}; byte segmentPins = {6, 7, 8, 9, 10, 11, 12, 13}; bool resistorsOnSegments = 0; // variable sa itaas ay nagpapahiwatig na ang 4 na resistors ay inilagay sa mga digit na pin. // set variable to 1 kung nais mong gumamit ng 8 resistors sa mga segment na pin. sevseg.begin (CommON_CATHODE, numDigits, digitPins, segmentPins, resistorsOnSegments); sevseg.setBightness (90); } void loop () {sevseg.setNumber (3141, 3); sevseg.refreshDisplay (); // Dapat tumakbo nang paulit-ulit

Hakbang 5: Ang Resulta

Kung nakakonekta mo nang tama ang display, na-upload nang tama ang code, at nakopya nang tama ang naka-code, kung gayon ang iyong display ay dapat na nagpapakita ng pi (3.141 lamang).

Kung hindi pagkatapos, basahin ang hakbang anim para sa anumang mali na nangyayari.

Kung nakuha mo itong tama, iminumungkahi ko na basahin ang karagdagang hakbang sa pitong hakbang.

Hakbang 6: Pag-troubleshoot

Narito ko nakalista ang dalawang posibleng mga bagay na maaaring maganap sa iyong pagpapakita na maaaring magulo ito. Nakalulungkot na isa lamang sa dalawa ang maaayos.

- Ang iyong display ay nagpapakita ng 8888

Huwag mag-alala ito ang problema na maaayos, sundin lamang ang mga hakbang na ito

1. Hanapin ang code na "sevseg.begin (CommON_CATHODE, numDigits, digitPins, segmentPins);"

2. Palitan ang "KOMON CATHODE" sa "KOMON ANODE"

3. I-upload muli ang code

- Ang iyong display ay nagpapakita ng 3. 41 o.141 o 3.1 1 o 3.14 nang wala ang iba pang 1

Nakalulungkot, ang problemang ito ay maaaring maayos o hindi:. (… (Iyon ang aking umiiyak na mukha)

1. Suriin ang iyong mga koneksyon at tiyakin na ang lahat ay naka-plug in at hindi nakikipag-hang out

2. Suriing muli ang eskematiko, dahil malamang na na-plug mo ito nang mali

3. Hanapin ang linya sa void loop kung saan sinasabi nitong ipakita (3.141, 3) at palitan ang 3.141 hanggang 8888 at tingnan kung nawawala ang isa sa 8

4. Kung gayon ang isa sa mga wire ay maaaring walang resistor kung kailan dapat magkaroon ng isang kahulugan na ang isa sa mga digit ay nasunog. Maaari mong suriin ito sa pamamagitan ng pagtingin sa likod ng display. Kung nakakita ka ng anumang itim na malapit sa isa sa mga pin na nadaig mo ang isa sa mga digit na lugar. Nakalulungkot na HINDI ito maaayos at nais mong bumili ng isa pang display.

5. Kung hindi mo nakikita ang isang itim na marka kahit saan kaysa sa iyong paglipat ng mga wires na hindi masobrahan kaya suriin ang eskematiko at i-plug pagkatapos ay tama at baguhin ang code pabalik mula 8888 hanggang 3.141.

Hakbang 7: Pupunta Pa

Ang isang paraan ng paggamit ng ilang mga pin sa arduino upang makontrol ang maraming mga LED na kung hindi man ay nangangailangan ng maraming pin ay isang tri-state 8 pin shift-register. Kaya sa halip na direktang ikonekta ang 8 segment na mga pin sa arduino maaari mong i-plug ang mga ito sa rehistro ng shift at alamin kung paano ito gawin.

Ito ay isang ideya lamang na naisip ko ngunit hindi ko alam kung paano gawin o kung posible kahit sa arduino at silid-aklatan ng display, ngunit hey, pagkain para sa iniisip para sa mga nakaka-usyoso.

Magsaya sa iyong display at inaasahan kong nagustuhan mo ang pagtuturo nito sapagkat ito ang una na talagang natapos ko sa maraming mayroon ako sa aking mga draft.

Inirerekumendang: