Digispark Arduino

0

Posted by chanakalin | Posted in Arduino | Posted on 21-04-2015

අවුරුදු 2යි මාස 2යි දවස් 13කට පස්සෙ මකුළු දැල් එහෙම කඩල දාන පලවෙනි පෝස්ට් එක 😀 අළුත් අවුරුද්දට වැඩ අල්ලන්න පෝස්ට් එකක් දාලම පටන් ගමු කියල මට කීවෙ හසිත.

Digispark USB Development Board (එහෙම නැතිනම් ගොඩ දෙනෙක් කියන විදියට Digispark Arduino) කියන්නෙ ATTiny85 micro controller එකකට boot loader එකක් flash කරල customize කරපු Arduino IDE එකකින් program කරන්න පුළුවන් පුංචිම පුංචි Development board එකක්.

අපිටම හදාගන්න පුළුවන් ගෙදරදිම උනත්. http://digistump.com/products/1 වල Resources වලට ගිහිල්ල බලන්න. කම්මැලි නම් e-bay වලින් වගේ උනත් ගන්න පුළුවන්.

digispark_arduino

ඔයාලටම ලස්සන Birthday card එකක් වගේ හදාගන්න කියාපු භාණ්ඩෙ. වැඩි විස්තර පස්සෙ කියන්නම්.

එහෙනම් හැමෝටම සාමය සතුට පිරි සුභ අළුත් අවුරුද්දක්!!!

ATMega32A වලින් ලයින් ෆලෝවින් රොබෝ කෙනෙක් හදන්න PCB එකක්

3

Posted by chanakalin | Posted in AVR micocontrollers, AVR on Linux, Linux, Robotics, අත්හදා බැලීම්, නිර්මාණ | Posted on 01-02-2013

Tags: ,

කාලෙකින් පෝස්ට් එකක් දාන්නෙ. ආයෙ කවද දාන්න වෙයිද දන්නෙ නෑ උසස් පෙළ 1/3 වගේ දරුණු රිසල්ට් එකක් ගත්ත නිසා. ලඟදි තිබුණ රොබෝ නිර්මාණ තරඟෙකට හදාගත්ත PCB එක තමයි මේ දෙන්න යන්නෙ. ATmega32A එකකුයි, L293 motor driver එකකුයි, HC-SR04 Ultrasonic sensor එකකුයි දාල හැදුවෙ. ආයෙ Analog හරි Digital හරි input 8ක් ගන්න පුළුවන්.  හැබැයි ලස්සනට පිළිවෙලට design කරපු එකක් නෙවෙයි 😛 .  Eagle Cad file ටිකත් මේ එක්කම දීල තියෙනව. ආයෙ මගේ sample කෝඩ් එකකුයි, USART + ADC + Motors වලට function ටිකයිත් මේ එක්කම තියනව. පින් තියන තැන් එහෙම හොයාගෙන තමයි කරන්න වෙන්නෙ.

මුලින් design කරේ නම් ultrasonic sensor දෙකක් දාන්න පිටින් වෙනම. පස්සෙ ඒකෙන් interrupts generate කරගන්න. ඒත් ඒ අදහස වෙනස් වුණා. දැන් තියන විදියට එක ultrasonic sensor එකයි පාවිච්චි කරන්න වෙන්නෙ. LED දෙකක් power වලට දාල තියෙන්නෙ polarity වැරදියට දීලද කියල බලාගන්න. ඒ ගැන නම් පරිස්සම් වෙන්න මේකෙ අඩුම diode එකක් වත් දාල නෑ polarity වැරදියට දුන්නොත් බේරෙන්න.  මොකක් හරි අපැහැදිලි තැනක් තියනවනම් comment එකක් දාන්න.

Download

AVR on Linux – 3 FUSE bits සහ ප්‍රෝග්‍රෑමරයට සම්බන්ධ කිරීම

0

Posted by chanakalin | Posted in AVR micocontrollers, AVR on Linux, Linux | Posted on 23-11-2012

Tags: , , ,

කලින් පෝස්ට් එකෙන් කීවනෙ මේ පාර FUSE bits ගැන කියනව කියල. PIC පාවිච්චි කරන අය දන්නව නේද configuration bits ගැන. AVR වලදි FUSE bits කියන්නෙත් ඒ වගේ දේකට තමයි. High fuse, Low fuse කියල දෙකක් තියනව. AVR එකේ oscillator එක, Bootloader එකක් වගේ පාවිච්චි කරනවනම් boot වලට අදාල සැකසුම්, කොයි කොයි programming interfaces වලටද සහය දක්වන්නෙ (ISPද, JTAGද නැත්නම් දෙකටමද), RESET pin එකත් I/O පින් එකක් කරගන්නවද වගේ සැකසුම් සකස්කරන්නෙ FUSE bits වලින්. මේ ගැන වැඩිදුර තොරතුරු මේ ලින්ක් එකෙන් ගිහින් බලන්න. FUSE වැරදුනා කියන්නෙ නම් ඉතින් කරදර ගොඩක්. ආයෙ ගොඩදාගන්න විදි නම් තියනව. ඒත් මම අතෙත් FUSE නිසා වැඩකට ගන්න බැරි වෙලා තියන Atmega8 ඒව තියනව. මේ වගේ වැඩ නිසා AVR වල FUSE bits සැකසුම් වෙනස් කරගන්න ලේසි වෙන්න AVR Fuse calculators තියනව. මම පාවිච්චි කරන්නෙනම් ගොඩක් වෙලාවට www.engbedded.com/fusecalc. තව Android app එකක් පාවිච්චි කරල තියනව. අපි කරන්න යන වැඩ වලට නම් පොඩි වෙනස් කමක් විතරයි default settings වලින් වෙනස් කරගන්න ඕනෙ. Oscillator එකට crystal එකක් සම්බන්ධ කරල පාවිච්චි කරන නිසා External Crystal,Resonator High frequency වලට වෙනස් කරගන්න ඕනෙ. එතනදිත් startup time වලට වෙනස් වෙනස් අගයන් කීපයක් තියනව. ඒ ගැන නම් මම වැඩිපුර කියන්න යන්නෙ නෑ. මට ආව අගය HFUSE = 0xD9 සහ LFUSE = 0xCE.

AVR වලදි programming interfaces ගත්තොත් දෙකක් තියනව ISP (පින් 6 සහ පින් 10 විදියට සම්මත කනෙක්ටර් දෙකක්) සහ JTAG (පින් 10) කියල. හැම AVR එකම මේ දෙවිදියටම ප්‍රොග්‍රෑම් කරන්න බැරි අවස්ථා තියනව. ආයෙ මේ interfaces අපිට ඕනෙනම් FUSE bits සැකසුම් වෙනස් කරල අයින් කරල ආන්න පුළුවන්. ඒ කියන්නෙ FUSE calculator එකේ ISP වලට කියන check boc එක uncheck කලොත් ISP interface එකෙන් program කරන්න බෑ ඒ වගේ. මේ ඉන්ටෆේසස් ගැන හල තියන පින්තූර වලින් බලාගන්න.

AVR-ISP-connectors

JTAG layout

සමහර ISP ප්‍රොග්‍රෑමර්ස් වල තියෙන්නෙ 10 pin connector එකක්. ඒත් අපිට ඕනෙ 6pin connector එකක් පාවිච්චි කරල program කරන්න. ඒ වගේ වෙලාවට 10 pin to 6 pin converter එකක් පාවිච්චි කරන්න පුළුවන්. ඔය පහල තියෙන්නෙ ඒ වගේ එකක්.

10 pin to 6 pin converter

පහල රූපයෙ 6 pin ISP connector එකකට Atmega8 කොහොමද සම්බන්ධ කරගන්නෙ කියල තියනව. මෙතනදිනම් මම ISP වල VCC මයික්‍රොකන්ට්‍රෝලරයට සම්බන්ධ කරල නෑ. ඒ වෙනුවට පිටින් වෙනම power දීල තියෙන්නෙ. එතකොට මොකක් හරි ප්‍රශ්නයක් තිබුනොත් USB port එක, ප්‍රෝ‍රග්‍රැමර් එක ආරක්ෂා වෙනව. මතක තියාගන්නම ඕනෙ කාරණයක් තමයි අපි Crystal එකක් හරි external oscillator එකක් හරි පාවිච්චි කරනව කියල FUSE වෙනස් කරල crystal එක හරි extrernal oscillator එක හරි AVR එකකට සම්බන්ධ කරන්නෙ නැතුව programmer එක කනෙක්ට් කලොත් AVR එක අඳුනගන්නෙ නෑ. රූපය අපැහැදිලි වගේ නම් රූපය උඩ ක්ලික් කරල බලන්න.

ඊලඟ පෝස්ට් එකෙන් පලවෙනි ප්‍රොග්‍රෑම් එක ලියමු. ජයෙන් ජය!!!