顯示具有 LinkIt Smart 7688 Duo 標籤的文章。 顯示所有文章
顯示具有 LinkIt Smart 7688 Duo 標籤的文章。 顯示所有文章

2016年12月30日 星期五

Linkit Smart7688 Duo Arduino Bootloader 解磚



****注意 Arduino IDE 使用1.6.7***** 

  在上傳資料到Linkit Smart7688 Duo後發現Linkit Smart7688 Duo 的com 不見了Windows 裝置管理員出現無法辨識裝置

    用一般燒 Arduino bootload 的方法不管整麼試都出現錯誤換版子也沒用RESET 接腳用Pin10 跟SS 都試過了。





 只好用Linkit Smart7688 Duo 的  AVRDUDE from OpenWrt SDK試一下了。

開啟WinSCP 輸入登入Linkit Smart7688 Duo 的資訊。

  登入後把在C:\Users\XXX\AppData\Local\Arduino15\packages\LinkIt\hardware\avr\0.1.6\bootloaders\caterina目錄底下的這個檔案 "Caterina-smart7688.hex " 拖曳到 Linkit Smart7688 Duo的 root \。(XXX是登入電腦的使用者名稱)

開起WinSCP命令列。

.
      開啟命令列後輸入avrdude -p m32u4 -c linuxgpio -v -e -U flash:w:Caterina-smart7688.hex -U lock:w:0x0f:m 按 "Execute"


  按 "Execute" 會開始燒錄會出現很多100%也會跳出錯誤!!



    在Windows 也會出現 MediaTek LinkIt Smart 7688 Duo (Bootloader) 雖然有點怪但是Windows總算認得了。


開啟Arduino 的  Blink 範例 上傳到 LinkIt Smart 7688 Duo。


     上傳後COM 名稱也會恢復正常如果上傳過程出現Arduino需要輸入密碼就輸入登入LinkIt Smart 7688 Duo 的密碼。





2016年12月23日 星期五

LinkIt Smart 7688 Duo + 4D systems gen4-uLCD-43DT 初體驗

****注意 Arduino IDE 使用1.6.7***** 

     LinkIt Smart 7688 Duo 雖然簡單易懂但是要處理圖形的使用介面時就顯現能力不足就要靠外接智慧型螢幕來解決這次使用的是 4D Systems 出品的43.吋 gen4-uLCD-43DT

gen4-uLCD-43DT 




4D-Arduino-Adaptor-Shield-II




將LCM連接到電腦





連接到電腦時會安裝COM 驅動程式LCM 會出現測試畫面。


 先到這裡下載Library,放在 C ***\arduino-1.6.7\libraries 下

https://github.com/4dsystems/ViSi-Genie-Arduino-Library

再到這裡下載 4D Systems 的開發程式 Workshop-4-IDE 

http://www.4dsystems.com.au/product/10/120/Development/4D_Workshop_4_IDE/
.

安裝好 Workshop-4-IDE 後開啟 Workshop-4 就可開始畫出想要的Arduino的使用者介面了

1. 按 New 開一個新檔案
2.選擇使用的LCM gen4-uLCD-43DT
3.調整LCM 方向
4.按Next



5.使用ViSi Genie 。



6.進入編輯畫面後先點選Comms 。



7.選擇正確的COM後會變連色燈,點選回Home。


8.點選Gauges 將 Angular Meter 圖示拖曳到左邊的虛擬 LCM上。


9.調整Angular Meter到想要的位置與大小



10.調整Angular Meter 的最大值到3300



11.點選 Digits 拖曳 Led Digits 到左邊的虛擬 LCM上。


12.調整Led Digits到想要的位置與大小


13.將SD卡插入電腦
14.按(Bulid)Copy/Load 




15.選擇SD卡槽位



16.寫入SD卡完成後將SD卡裝回LCM



17.再次接上電源虛擬LCM上畫面就出現在螢幕上了



18 . 將 4D-Arduino-Adaptor-Shield-II 裝在LinkIt Smart 7688 Duo 





19. LinkIt Smart 7688 Duo 占用了Serial0 ,Arduino-Shield 須將跳線換到Pin2與Pin3的位置



20. 開啟Arduino IDE 輸入以下程式碼然後上傳


#include <genieArduino.h>
#include <SoftwareSerial.h>
Genie genie ;
SoftwareSerial DisplaySerial  (2,3);  // 使用軟體 Serial
# define RESETLINE 4                 // Reset 腳位設定為Pin4

  int Voltage;                      
  int sensorPin = A0;               // 設定A0為類比輸入
  
void setup() 

  DisplaySerial.begin(9600);   //設定軟體Serial為9600
   genie.Begin(DisplaySerial); //設定LCM與軟體Serial 同步
  pinMode(4, OUTPUT);   // Reset LCM
  digitalWrite(4, 1);   
  delay(100);
  digitalWrite(4, 0);  
  delay (3500);         
}

void loop() 

  Voltage = ((3.3 * analogRead(sensorPin) * 1000) / 1024) ;   //將讀到的二進位電壓值轉為10進位
  genie.WriteObject(GENIE_OBJ_LED_DIGITS, 0x00, Voltage);     //將電壓值寫入LCM 的Leddigits0 的欄位
  genie.WriteObject(GENIE_OBJ_ANGULAR_METER, 0x00, Voltage);  //將電壓值寫入LCM 的Angularmeter0 的欄位
  delay(50);

}

21.將 gen4-uLCD-43DT 與 LinkIt Smart 7688 Duo 接再一起
.

22.通電後將 Arduino A0Pin 接到3.3V Pin 就可看到3.3V的電壓值顯示在LCM螢幕上



23.將 Arduino A0Pin 接到可調整的電源上就可看到電壓值顯示在LCM螢幕上注意不可超過3.3V



參考資料 : http://www.4dsystems.com.au/appnotes

2016年1月11日 星期一

LinkIt Smart 7688 Duo 使用 7688 控制板上 LED

LinkIt Smart 7688 DuoDuo 使用 7688 控制板上LED 

 
 
       LinkIt Smart 7688 Duo功能很多,但是感測器與馬達等控制Arduino都把程序標準化,最好的控制方法是把控制都交給Arduino最後再把數值傳給7688 .

     要了解Arduino與7688溝通的方法,首先就要確認7688動作是正常的.
  開啟PuTTY 用SSH進入LinkIt Smart 7688,IP是LinkIt Smart 7688 Duo的IP.



LinkIt Smart 7688 Duo 支援Node.js.要證明LinkIt Smart 7688 Duo回應正常,用node.js最方便.

    在PuTTY的視窗鍵入vim app.js (編輯app.js) " Enter"



       這時候會進入vim的編輯視窗,然後按"i"進入編輯模式,可以開始打字,打console.log(’Hello World’);   列印   "Hello World"


然後按"Esc"退出編輯模式, 按 ":wq!" "Enter"就會離開存檔


PuTTY 在命令列輸入node app.js 會回應 Hello World


      對vim 編輯程式不熟的人用vim真的有點困難,但是LinkIt Smart 7688 Duo只支援vim,所以只能另求辦法,最好的方法是在Windows編好後再送入LinkIt Smart 7688 Duo執行,目前LinkIt Smart 7688 Duo支援SCP.要7688執行的檔案先用Windows編好後再傳給7688執行.

 先到這裡下載Winscp

   

安裝Winscp   下一步下一步 


按Finish 後在執行WinSCP 


File protocol : SCP
Host name : 7688 主機位址
user name : root
Password : 你設定的7688密碼

      按Login後會進入 7688主機,左邊是你電腦的檔案目錄,右邊是7688的檔案目錄,可以看到剛剛編輯的app.js這個檔案,



   WinSCP就現放著 
現在先開啟Arduino 的IDE 在草稿碼輸入

void setup() {
    Serial.begin(115200);    // 這個是跟電腦連接的 COM
    Serial1.begin(57600);   // 這個是跟 MT7688 連接的COM
    
    pinMode(13, OUTPUT);   //Arduino 接腳 Pin13
}
void loop() {
    int c = Serial1.read(); // 讀取 MT7688 COM
    if (c != -1) {
        switch(c) {
        case '0':          // 如果讀到 "0" 
            digitalWrite(13, 0); // Pin 13 輸出 "0"
            break;
        case '1':      // 如果讀到 "1"
            digitalWrite(13, 1);   //Pin13 輸出 "1"
            break;
        }
    }
}


然後上傳給 LinkIt Smart 7688 Duo 的 Arduino (ATMega32U4) MCU.

 用記事本編輯 led.py檔案

#-*- coding:cp950 -*-
#以上這一行讓Python能用中文註解
#注意縮排
import serial
import time
s = None
def setup():
   global s
  # 開啟 COM /dev/ttyS0,跟Arduino (ATMega32U4)連接,速度57600
   s = serial.Serial("/dev/ttyS0", 57600)
def loop():
  # COM 寫入 "1"
   s.write("1")
  #等1秒
   time.sleep(1)
  # COM寫入 "0"
   s.write("0")
  #等一秒
   time.sleep(1)
if __name__ == '__main__':
   setup()
while True:
   loop()


    存檔後將led.Py這檔案拖曳進WinSCP的右邊視窗,WinSCP會詢問是否放進root跟目錄,按OK,WinSCP右邊視窗會多一個led.py的檔案


在PuTTY 視窗執行 python led.py    

  LinkIt Smart 7688 Duo板上LED就會每秒閃一次



要結束就按 "Ctrl"+ "C"