วันพุธที่ 24 พฤศจิกายน พ.ศ. 2564

ใช้งาน DigiSpark Attiny85 บน Linux Mint

ไปค้นอุปกรณ์ก็ไปเจอ Attiny 85 ของ DigiSpark เข้าซื้อมาก็ยังไม่ได้ลองใช้งาน เลยเอามาลองต่อกับ Linux Mint สักหน่อย เห็นมี USB แบบ Micro ก็ลองเชื่อมกับ Arduino IDE แล้วเพิ่มบอร์ด โดยเพิ่มที่ File > Preferences > Additional Boards Managers URLs: โดยเพิ่ม

http://digistump.com/package_digistump_index.json 

ลงในช่องแล้วเข้าไปที่ Tools > Bord > Board Managers เลือก Digistump AVR Boards แล้วคลิก Install

หลังจากติดตั้งแล้วก็จะมีบอร์ดเพิ่มขึ้น แต่อย่างไรก็ตามเวลาอัพโหลดกลับมีปัญหา Error 


Running Digispark Uploader...

Plug in device now... (will timeout in 60 seconds)

/home/yothinin/.arduino15/packages/digistump/tools/micronucleus/2.0a4/micronucleus: error while loading shared libraries: libusb-0.1.so.4: cannot open shared object file: No such file or directory


พยายามหาวิธีแก้ไขจากเน็ตไม่ว่าจะลงไลบรารีหรือสร้างไฟล์ rules ก็ไม่สามารถอัพโหลดได้ สุดท้ายเข้าไปดาวน์โหลดไฟล์ที่

https://github.com/micronucleus/micronucleus

เมื่อแตกไฟล์ zip ที่ดาวน์โหลดมาแล้วก็เข้าไปที่ commandline แล้วสร้างไฟล์ และ install ใหม่ผ่านคำสั่ง

make
sudo make install 

จากนั้นก็จะมีไฟล์ micronucleus เพื่ออัพโหลด แต่วิธีอัพโหลดก็ต้องเอาไฟล์คอมไพล์ออกจาก Arduino IDE มาไว้ที่โฟลเดอร์ใหม่ก่อน คือ

แก้ไขไฟล์ ~/.arduino15/preferences.txt ซึ่งโฟลเดอร์นี้จะซ่อนอยู่ใน home ของผู้ใช้งาน โดยเพิ่มการกำหนดค่าพาธเก็บไฟล์โปรแกรมดังนี้

build.path=/home/yothinin/Arduino/OUTPUT

หลังจากนั้นคอมไพล์ที่ Arduino IDE แล้วไปที่พาธเก็บไฟล์แล้วอัพโหลดดังนี้

1. ถอดอุปกรณ์ออกก่อน
2. รันคำสั่ง micronucleus --run ชื่อไฟล์.hex 
3. ที่หน้าจอจะบอกให้เสียบอุปกรณ์ เมื่อเสียบแล้วระบบจะอัพโหลดเมื่อสำเร็จจะได้หน้าจอแจ้งแบบนี้

yothinin@yothinin-h8-1230l:~/Arduino/OUTPUT$ micronucleus --run led0.ino.ino.hex 
> Please plug in the device ... 

... ให้เสียบอุปกรณ์ ...

> Device is found!
connecting: 33% complete
> Device has firmware version 1.6
> Available space for user applications: 6012 bytes
> Suggested sleep time between sending pages: 8ms
> Whole page count: 94  page size: 64
> Erase function sleep duration: 752ms
parsing: 50% complete
> Erasing the memory ...
erasing: 66% complete
>> Eep! Connection to device lost during erase! Not to worry
>> This happens on some computers - reconnecting...
erasing: 66% complete
> Starting to upload ...
writing: 83% complete
> Starting the user app ...
running: 100% complete
>> Micronucleus done. Thank you!

วิธีการนี้ก็ง่ายดีเหมือนกัน แต่ก็ยังไม่สามารถอัพโหลดผ่าน Arduino IDE ได้...



ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Gtk4 ตอนที่ 6 Defining a Child object

Defining a Child object A Very Simple Editor ในบทความที่ผ่านมาเราสร้างโปรแกรมอ่านไฟล์ชนิดข้อความ และในบทความนี้ก็จะมาปรับแต่งโปรแกรมกันสักหน...