顯示具有 ev3 標籤的文章。 顯示所有文章
顯示具有 ev3 標籤的文章。 顯示所有文章

星期日, 9月 19, 2021

初步使用Brick link Studio 2.0 建構樂高積木的組裝圖

一、如何在studio 2.0匯入已知的套件Ev3 45544,方便建構組裝圖

(1).【File】【Import】【Import Official LEGO Set】



(2).在【Set Number】處,輸入套件編號,如EV3 45544,【IMPORT】選擇【As Palette】,再點【Import】如何便能將此套件的零件匯入,並自成1個區域,以方便繪製僅使用EV3套件建構模型的組裝步驟


(3).此處會顯示無法匯入的零件清單


(4).在【Palette】處選擇import的ev3套件,但在先前匯入時,馬達、感應器、主機等均沒有匯入,所以我們要再使用其他方式找出這些零件


(5).選擇【Palette】區的【Master】並搜尋ev3

(6).將搜尋到的part list分別加入到ev3的palette

(7).目前在使用上,有一些心得:
  1. 與LDCad比較,Studio2.0需要較多的系統資源,因此軟體執行速度較慢。
  2. 還找不到可以匯入ldraw找到的零件檔(*.dat),例如Ev3主機,平時慣用的是有加鋰電池版,但是studio搜尋找到的是不加鋰電池版的主機(如下圖)。
  3. studio2.0內建就可以印出很漂亮的組裝圖(instruction),但是LDCad必須配合LPub3D才能印出組裝圖,而LPub3D有時還會有程式當掉的狀況。
  4. EV3組裝時,馬達及感應器,有時要另外畫出訊號線需要接在主機的哪一埠port,LDCad可以畫,但是Studio 2.0初步來看,好像無法設定。


星期六, 2月 08, 2020

如何從bricklink下載某個set的XML檔轉換成LDCAD的set檔


本篇將示範如何從bricklink下載某個set的XML檔轉換成LDCAD的set檔,這在使用像EV3-45544或Wedo2.0-45300等教育套件,需要利用這些套件製作組裝圖時很好用,可以避免常常為了找某個零件,而要時常切換不同的選擇目錄或資料夾或選擇顏色,直接將該套件所有的零件及對應顏色匯整在一起,方便製圖。

  1. 下載 BrickUtils2.5.exe
  2. 安裝JAVA
  3. 連到bricklink下載某個set的xml檔
    以下載ev3為例,先找到這個set的item ID,我們找到的item-ID是45544-1
  4. 連到bricklink下載頁,下載45544-1的XML檔,預設會是S-45544-1.xml
  5. 在[Catalog Items]項中下載[Bricklink的sets資料檔,下載檔名自動命名為Sets.xml


  6. 下載[Bricklink的Categories資料檔,下載時會自動命名為categories.xml

  7. 下載[Bricklink的Colors資料檔,下載時會自動命名為colors.xml

  8. 下載[Bricklink的Parts and color Codes資料檔,下載時會自動命名為codes.xml

  9. 執行brickUtils2.5.exe

  10. 在【Update Catalogs】中,點按【LDraw part libraries】下載更新part libraries
     

  11. 在【Update Catalogs】中,點按【LDraw official part librarie】下載更新LDraw official part librarie



  12. 在【Update Catalogs】中,點按【LDraw unofficial part librarie】下載更新LDraw unofficial part librarie




  13. 在[Update catalogs]中,分別執行BrickLink Catagories,Sets,Colors,Parts,匯入上面步驟下載的4個資料檔(,Sets.xml,colors.xml,codes.xml),即:
    執行BrickLink Catagories選擇categories.xml
    執行BrickLink  Sets選擇Sets.xml
    執行BrickLink Colors選擇colors.xml
    執行BrickLink Parts選擇codes.xml



  14. 上述步驟執行完後,選擇new working list,把目前工作區的part list清空




  15. 執行Bricklink XML dump,選擇之前下載的45544-1的XML檔,預設下載時檔名會是S-45544-1.xml,所以我們選擇S-45544-1.xml


  16. 選擇S-45544-1.xml檔,即會載入45544-1的part list
  17. 接著定義brick list(這步驟一定要做,不然之後無法匯入.pbg檔),Search時要輸入BrickLink查到的Item ID,通常會是set number-1,亦即若是45544,則item ID是45544-1,若是9686則item ID是9686-1。所以我們search時要輸入45544-1


  18. 把一些不必要的項目如貼紙等刪除,可以LDraw ID排序,沒有LDraw ID的項目比較有可能是多餘的,選擇後點按上面



  19. 再檢視有哪些零件沒有LDrawID,我們需要自行手動增加,通常若有BLinkID,則LDRawID則是BLinkID+.dat,例如下圖的零件BLinkID為2815,則查詢LDRaw的零件檔則是2815.dat,所以我們就在LDRaw ID增加2815.dat

  20. 匯出PBG檔,選擇「LDCad Parts-bin Set」,並選擇「Include quantity」及「Include brick color」,「Add Extras」不用選(這是代表重覆的零件)。最後輸出時,我們命名為45544-1.pbg

  21. 上網找45544的某個PNG圖檔(一定要PNG),當作LDCad內這個SET的代表圖,我們命名為45544-1.png
  22. 修改45544-1.pbg(使用記事本),定義代表圖名稱
  23. 將45544-1.pbg和45544-1.png,複製,貼到LDCAD的使用者資料夾
    C:\Users\user(登入windows帳號)\AppData\Roaming\LDCad\partBin\default\sets
  24. 打開ldcad找到part listing of lego sets
  25. 若之後還有一些零件顏色或補充,可以直接增加或修改45544-1.pbg的內容,其格式為

    41669.dat:[color=15] [count=4]

    ldraw的零件檔名:[顏色][該零件在set的數量]

參考:

星期日, 2月 02, 2020

LDCad使用三視圖模式建立樂高組裝圖

在LDCad中,要使用三視圖模式,只要按下鍵盤的V鍵,就會切換,以下利用L形橫桿放置為例,並利用三視圖改變L形橫桿的旋轉中心,達到在一個圓形面上平均放置3個L形橫桿。

一、在原視圖中,按V鍵
[原有視圖]

[按V鍵,切換為三視圖]

二、滑鼠點按L形橫桿,並按[ins]鍵,將物件複製,並將第二個L形橫桿,放置於其中的一個黑色插銷上,將紅色圈選區內的十字中心點,以滑鼠移動到黑色插銷上,作為L形橫桿的新的中心點


三、點選L形橫桿,出現方形的選取框,四個角(綠色三角形),皆可用滑鼠點按不放,以此旋轉該物件(L形橫桿)


四、旋轉該物件,因為我們設定旋轉刻度為每15度轉動一次,因此可試換角度我們需要轉120度才能使該橫桿剛好接到另一個插銷上

[旋動120度使L形橫桿剛好接到另一個插銷]


五、第三個L形橫桿,依上列方式操作
  1. [ins]新增同一種L形橫桿
  2. 先放置於一個插銷上
  3. 移動旋轉中心點到插銷上
  4. 旋轉L形橫桿到



六、最後再按[V]鍵,切換為原視圖模式


星期一, 6月 03, 2019

Lego EV3 Print Bot列印機器人(含EV3 Dev的安裝)

一、ev3改為Ev3dev環境(步驟參考:https://www.ev3dev.org/docs/getting-started/
  1. 參考https://www.ev3dev.org/docs/getting-started/
  2. 下載EV3dev image file
  3. 準備一張microSD卡(不要超過32GB)
  4. 下載Etcher ,並安裝以便於將下載的EV3dev image檔燒錄到microSD卡中
  5. 執行Etcher,選擇microSD卡的位置,以及image file,並開始執行image file燒錄動作
     

  6. 將燒錄好的microSD插入EV3主機,支援EV3的wi-fi dongle也一併接上EV3的USB port
  7. 將EV3主機開機,開機完成後會出現以下畫面,畫面右上角代表電池的電壓,若電壓值於8V~6.5V之間,代表電力正常,若電壓低於5V,主機將自動關機
  8. 選擇Wireless and Network,設定wi-fi連線(使用金鑰認證),若連線成功,ev3主機螢幕上方會出現正確的IP位置
  9. 打開Pietty利用SSH,遠端連線到EV3主機的IP,預設帳號robot,預設密碼maker
  10. 執行python --version,得知目前環境預設的python是2.7版,系統也支援python3.5。執行which python,得知python的執行路徑放在/usr/bin/python,ls -al /usr/bin/python 可得知是連結到python2.7 若要切換預設執行版本:
    sudo rm /usr/bin/python
    sudo ln -s /usr/bin/python3.5 /usr/bin/python
    切换到3.5版本的python了

    若要再改回來:

    sudo rm /usr/bin/python
    sudo ln -s /usr/bin/python2.7 /usr/bin/python
    切换到python版本2.7了
    進入python編輯畫面,要跳出時,按CTRL+D

    二、如何在EV3DEV執行簡單的程式直接操控EV3

    1. 發出聲音:
      $ beep # 440 Hz for 200 ms
      $ beep -f 200 -l 500 # 220 Hz for 500 ms
      $ beep -f 262 -l 180 -d 20 -r 2 \
      -n -f 392 -l 180 -d 20 -r 2 \
      -n -f 440 -l 180 -d 20 -r 2 \
      -n -f 392 -l 380 -d 20 \
      -n -f 349 -l 180 -d 20 -r 2 \
      -n -f 330 -l 180 -d 20 -r 2 \
      -n -f 294 -l 180 -d 20 -r 2 \
      -n -f 262 -l 400 # twinkle twinkle little star
    2. 讓ev3可以直接說話(將輸入的英文字句,以人聲講出來)
      $ espeak "hello, I am an EV3. I like to talk because I am a robot.“ 
      --stdout | aplay
      Playing WAVE 'stdin' : Signed 16 bit Little Endian, Rate 22050 Hz, Mono


    三、利用3D印表機,列印出可以plug在樂高積木橫桿上的筆套(Pen holder for EV3 Drawing robot

    四、組裝ev3 print bot
    1. 組裝步驟圖:下載處
    2. 組裝完後,將前端固定筆的裝置拆下
    3. 改成3DP列印的筆套
    4. 在windows下,執行pietty,以SSH連線到EV3
    5. 執行以下指令
      git clone https://github.com/cavenel/ev3-print3rbot.git
      cd ev3-print3rbot/
    6. 編輯writer.py,找到以下程式碼。wri.draw_image(image_file = 'images/test.svg')代表程式執行預設是畫出images/test.svg檔
      wri = Writer(calibrate = True)
      wri.draw_image(image_file = 'images/test.svg')

    7. 執行程式讓ev3printbot開始畫圖(列印)
      python3 writer.py

    8. 若要讓EV3畫出不同的圖,首先我們要利用inkscape畫圖,存檔成SVG檔,在windows 下利用inkscape命令列,轉換圖檔:
      "c:\Program Files\Inkscape\inkscape.exe" c:\image.svg --verb=EditSelectAll --verb=ObjectToPath --verb=SelectionUnGroup --verb=FileSave --verb=FileClose --verb=FileQuit
      參數意義:
      --verb=EditSelectAll (選擇全部)
      --verb=ObjectToPath (將物件轉成路徑)
      --verb=SelectionUnGroup (將物件解散群組)
      --verb=FileSave(覆寫存檔)
      --verb=FileClose(關閉)
       --verb=FileQuit(離開)
    9.  將轉換後的image.svg,利用winscp這種sftp軟體,將檔案上傳到EV3,並放在/home/robot/ev3-print3rbot/images
    10. 修改writer.py,將
      wri.draw_image(image_file = 'images/test.svg')
      改為
      wri.draw_image(image_file = 'images/image.svg')
    11. 執行writer.py
      python3 writer.py




    Reference:

    1. https://www.ev3dev.org/
    2. Ev3 print3rbot on Github
    3. Робот-художник EV3 Print3rbot