Jau mokame mirksėti vienu LED'u. Jungiame 3. Mums reikės:
1. 3 Šviesos diodų (raudono, geltono ir žalio)
2. 3 varžų – 220 Om
3. 4 jungimo laidų
4. Montažinės plokštės
5. Arduino
Jau mokame mirksėti vienu LED'u. Jungiame 3. Mums reikės:
1. 3 Šviesos diodų (raudono, geltono ir žalio)
2. 3 varžų – 220 Om
3. 4 jungimo laidų
4. Montažinės plokštės
5. Arduino
Visose knygose apie programavimą (bent jau kiek man teko skaityti) pirmoji programa būdavo "Labas Pasauli!" ("Hello World!"). Nieko panašaus – mes juk robotų kūrėjai – pasaulį jau pasveikino visi pasaulio programuotojai, mes papraščiausiai pamirksėsime "akytėmis" ir to užteks 😛
Atsidarome "c:\arduino\arduino.exe" – as paprasčiausiai pasidariau nuorodą darbalaukyje – ir pasirašome štai tokį kodą (galima copy/paste):
Seniai jau darytas projektas tik niekaip negalėjau (nesugebėjau) aprašyti jo. Kilo idėja Arduino pajungti prie šviesos diodų matricos panaudojant MAX7219 Led valdiklį (draiverį). Kas įdomausia – į vieną eilę 3 valdymo laidais galima pajungti iki 8 tokių modulių. Gaunama 8×64 taškų eilutė.
Pati schema elementari, plokštė gavosi 6cmx6cm
programos kodas:
#include „LedControl.h“ int devices = 3; //moduliu skaicius LedControl lc = LedControl (10, 12, 11, devices); unsigned long delaytime = 50; int row; int col; int address; void setup (){ for (int address = 0; address < devices; address++){ lc.shutdown (address, false); lc.setIntensity (address, 12); lc.clearDisplay (address);} } void clr_disp (int dev){ delay (1000); for (address = 0; address < dev; address++){ lc.clearDisplay (address);} } void fill_pixel (int dev){ for (row = 0; row < 8; row++){ for (address = 0; address < dev; address++){ for (col = 0; col < 8; col++){ delay (delaytime); lc.setLed (address, row, col, true);} } } } void fill_col_right (int dev, int b){ for (address = 0; address < dev; address++){ for (col = 0; col < 8; col++){ delay (delaytime); lc.setColumn (address, col, b);} } } void fill_col_left (int dev, int b){ for (address = dev-1; address >= 0; address--){ for (col = 7; col >= 0; col--;){ delay (delaytime); lc.setColumn (address, col, b);} } } void fill_row_down (int dev, int b){ for (row = 0; row < 8; row++){ for (address = 0; address < dev; address++){ lc.setRow (address, row, b);} delay (delaytime); } } void fill_row_up (int dev, int b){ for (row = 7; row >= 0; row--;){ for( address = 0; address < dev; address++){ lc.setRow (address, row, b);} delay (delaytime); } } void loop (){ clr_disp (devices); fill_col_right (devices, 255); fill_row_down (devices, 0); fill_row_up (devices, 255); fill_col_left (devices, 0); }
ir gabalėlis youtubo