Sa proyektong ito ay magdidisenyo kami ng isang 8x8 LED matrix display, para i-interface namin ang isang 8x8 LED matrix module sa Arduino Uno. Ang isang 8x8 LED matrix ay naglalaman ng 64 LEDs (Light Emitting Diode) na nakaayos sa anyo ng isang matrix, kaya't ang pangalang LED matrix.
Ang mga matrix na ito ay maaaring gawin sa pamamagitan ng pag-ikot ng 64 LEDs, subalit ang proseso na iyon ay umuubos ng oras. Ngayon isang araw na magagamit ang mga ito sa mga compact form tulad ng ipinakita sa larawan sa ibaba. Ang mga compact module na ito ay magagamit sa iba't ibang mga laki at maraming mga kulay. Ang gastos ng module ay pareho sa gastos ng 64 LEDs, kaya para sa mga hobbyist ito ay pinakamadaling magtrabaho.
Ang hubad na LED matrix ay may 16 pin outs na may 8 karaniwang positibo at isa pang 8 karaniwang negatibo. Para sa pagkonekta ng matrix na ito nang direkta sa isang UNO, kailangan naming magtipid ng 16 na mga pin sa UNO. Sa mga output pin na mababa sa UNO, hindi kami makakapagtipid ng 16 PINS. Kaya kailangan naming ikonekta ang matrix na ito sa isang chip ng driver. Ang tsip ng driver na ito kasama ang matrix ay dumating bilang isang hanay na ipinapakita sa ibaba na pigura.
Ang modyul na ito ay makikipag-interfaced sa Arduino para sa pagpapakita ng mga alpabeto, kaya't ang pagpapakita ng matrix. Una sa lahat para sa interfacing LED matrix sa Arduino, kailangan naming mag-download ng isang library na partikular na idinisenyo para sa LED MATRIX. Magagamit ang library na ito sa:
Matapos i-download ang Zip file, i-extract ang mga nilalaman sa ARDUINO folder. (Pumunta sa lokal na disk kung saan naka-install ang ARDUINO NIGHTLY software, buksan ang folder, maghanap para sa folder na pinangalanang "library", kunin ang mga nilalaman ng zip file sa folder na iyon, i-restart ang program na magagamit mo ngayon ang mga tampok para sa interface ng matrix)
Kinakailangan ang Mga Bahagi
Hardware: Arduino Uno, Power supply (5v), 100 uF capacitor (konektado sa buong power supply)
Software: Arduino Gabi-gabi
Circuit Diagram at Paliwanag
Ang mga koneksyon na ginagawa sa pagitan ng Arduino Uno at LED matrix module ay ipinapakita sa talahanayan sa ibaba.
PIN2 ------------------ LOAD o CHIPSELECT ng LED module
PIN3 ------------------ CLOCK ng LED module
PIN4 ------------------ DATAIN ng LED module
+ 5V ----------------- VCC ng LED module
GND ----------------- GND ng LED module
Ang circuit diagram ng 8 * 8 LED matrix display ay ipinapakita sa ibaba ng pigura.
Ngayon para sa paggamit ng mga espesyal na futures na tinawag sa pamamagitan ng pag-install ng bagong library, kailangan naming magtaguyod ng ilang mga utos sa programa at nakasaad sa ibaba.
# isama ang "LedControlMS.h" # tukuyin ang NBR_MTX 1 LedControl lc = LedControl (4,3,2, NBR_MTX); lc.writeString (0, "CIRCUITDIGEST"); lc.clearAll (); |
Una kailangan naming tawagan ang file ng header para sa interfacing ng isang LED matrix sa Arduino Uno. Iyon ay ”# isama ang" LedControlMS.h "", ang header file na ito ay tumatawag sa mga espesyal na pagpapaandar ng library.
Mayroon kaming isang tampok sa mga modyul na ito maaari naming ikonekta ang maraming bilang ng mga module sa serye at i-program ang mga ito nang magkasama bilang isang solong display. Magagamit ang tampok na ito kapag kailangan namin ng isang unit ng pagpapakita na maaaring magpakita ng maraming mga character nang paisa-isa. Kaya kailangan naming sabihin sa tagapamahala kung gaano karaming mga display ang aming kinokonekta.
Sa modyul na ito mayroong higit sa lahat tatlong mga pin; ang daloy ng data mula sa UNO hanggang sa modyul ay tumatagal ng mga lugar sa tatlong mga pin na ito. Ang mga pin ay DATAIN (data na tumatanggap ng pin), CLOCK (orasan pin), at CHIPSELECT (utos na tumatanggap ng pin).
Ngayon kailangan naming sabihin sa UNO kung saan namin ikonekta ang mga pin na ito. Ginagawa ito sa pamamagitan ng utos na “LedControl lc = LedControl (4,3,2, NBR_MTX); ". "Lc.writeString (0," CIRCUITDIGEST ");", ginagamit ang utos na ito para sabihin sa UNO kung aling mga character ang ipapakita sa LED matrix. Sa itaas ay ipinapakita ng display ang "CIRCUITDIGEST", sa bawat character nang isang beses.
Kailangan naming limasin ang memorya ng chip ng display bago magpadala ng anumang iba pang data, ginagawa ito sa pamamagitan ng utos "lc.clearAll ();".
Sa pamamagitan ng ganitong paraan madali naming mai-interface ang isang 8x8 LED matrix sa Arduino Uno.