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

2016年9月5日 星期一

[研究中]naze32(rev5) + FrSky X8R + MinimOSD + Bluetooth


Naze32 rev5
user manual
http://www.abusemark.com/downloads/naze32_rev3.pdf

MinimOSD 設定
https://oscarliang.com/minimosd-micro-setup-naze32-pid-rssi/

Bluetooth 設定 - done

  • 可以使用這個 http://ddddiy.blogspot.com/2014/02/hc-05-bt-module.html
    • baudrate 設定有對應即可正常運作
  • 直接接到版子中央的TX/RX pin(這邊應該就是轉USB port的hardware UART1)
  • 這邊實際使用時發現Naze32 TX RX  是倒過來的,所以跟BT module 是TX-TX, RX-RX,跟一版接法不同

FrSky X8R

  • 控制訊號
    • PWM - done 
      • 直接接channel 1-8
      • 這樣由於pin被佔據,無法使用uart2/softserial/telemetry....
        • https://github.com/cleanflight/cleanflight/blob/master/docs/Blackbox.md
          • Pin RC3 on the side of the board is UART2's Tx pin. If Blackbox is configured on UART2, MSP can still be used on UART1 when the board is armed, which means that the Configurator will continue to work simultaneously with Blackbox logging. Note that inPARALLEL_PWM mode this leaves the board with 6 input channels as RC3 and RC4 pins are used by UART2 as Tx and Rx. Cleanflight automatically shifts logical channel mapping for you when UART2 is enabled in Ports tab so you'll have to shift receiver pins that are connected to Naze32 pins 3 to 6 by two.
    • SBUS - 研究中
      • Naze32 rev5 + FrSky X8R 需要SBUS 反向器,參考
        • https://oscarliang.com/sbus-smartport-telemetry-naze32/
          • 使用電晶體 http://skory.gylcomp.hu/alkatresz/bc547b.pdf
        • 或是直接使用inverter http://www.ti.com/lit/ds/symlink/sn74lvc1g04.pdf
    • telemetry - 研究中
      • 需注意要使用SBUS, PWM gpio 被占據無法使用
        • 參考 https://oscarliang.com/sbus-smartport-telemetry-naze32/
    • RSSI- 研究中

2016年8月6日 星期六

四驅車GP晶片計畫

自從去年發現租屋處附近開了一家四驅車店家之後,就又重新燃燒起熱血
台灣不流行的期間基本上幾乎完全沒有消息,也沒有軌道可玩(日本好一點四驅車一直都存在,但也是沉寂多年官方沒有辦全國性的比賽)

回鍋後發現現在的玩家有很大的比例跟我一樣是二十多到三十多歲的大人,小時候有玩過,長大後又跳進來玩
可能因此導致現在軌道跟十多年前相比比較偏向技術軌,多了很多難度,所以不是單純比高速,而是變成在不飛車的前提下盡快跑完全程

之前看了很多四驅車相關的網站、論壇、玩家的部落格
基本上是都是以田宮 or 半田宮 的規則在玩,使用固定的機制去應付像是跳台或交換到這種難關
例如跳台落地為了穩定度,改成避震車或使用金球、吊鐘,為了過彎加裝單向輪/彈簧前後翼等...
為了因應不同場地而做調整,須累積大量的經驗,熟悉各種零件的特性,以整體賽道所有難關的"最大公約數" 的方向去做調整

在這個過程中,不斷的去發揮創意改裝與測試,真的有很多樂趣,這也是四驅車吸引人的地方

不過玩了一陣子後,就一直在想以這種玩法,就算玩到最極限,也是要配合賽道在各種方面(速度、重量、改裝方式等...)做取捨,所以漸漸地有了一個想法:
何不結合單晶片,讓車子自行適應軌道後做調整,這樣可以使用幾個基本車型(像是輕量高速型或是扭力型)來稱霸所有類型跑道

其實這就是卡通裡的GP 晶片啊!!!
在網路上有看到一些玩家使用單晶片改裝GP晶片,但是偏向語音或人工控制車子
https://www.youtube.com/watch?v=85913C7MjoQ
https://www.youtube.com/watch?v=C1x2Jdm_9eA


而我比較感興趣的部分則是讓車子自行學習,能夠自行適應各種跑到跑出不錯的成績

有了這個想法後,漸漸的想了一些可行的架構與做法,部分的功能也曾經做出可行的成品
(綠色部分是已經有做過有經驗的部分,藍色部分是已有方向正在研究中,紅色部分是還沒有想法或是需要重頭學習的領域)

目前先規劃一下架構,整理一下有能力與需要學習的部分,最後再全部整合起來




2014年3月10日 星期一

Arduino藍芽遙控小車

使用Arduino搭配兩個模組

  1. MTADRL293D 馬達控制板
    1. http://ddddiy.blogspot.tw/2014/02/mtadrl293d.html
  2. HC-05 藍芽模組
    1. http://ddddiy.blogspot.tw/2014/02/hc-05-bt-module.html

做法:
  1. 參考這裡將HC-05 藍芽模組設定好,接上VCC/GND,並將HC-05的TX/RX接到Leonardo的RX/TX
  2. 將MTADRL293D插上Leonardo
  3. 將MTADRL293D的M1/M4(在這張版子上這兩顆馬達吃BATT的電,另外兩顆吃5V)接到車子左右兩顆馬達的正負極
  4. MTADRL293D接上電池

車身/履帶/減速機: 田宮 工作樂系列

範例程式碼:

2014年2月25日 星期二

使用Arduino Leonardo連結HC-05 BT 模組 - 設定與測試

Arduino Leonardo有兩個serial port:
  1. Serial: 與PC連結的USB模擬
  2. Serial1: Leonardo pin 0/pin 1
可以透過Leonardo做中介,使用PC直接設定HC-05,也可使用PC測試HC-05在一般模式時是否可以正常運作


步驟:
  1. 將HC-05 TX/RX 接到Leonardo的RX(0)/TX(1)
  2. 將HC-05的SET拉HIGH(設定模式) or LOW(一般模式)
  3. Leonardo上電運行範例程式
  4. HC-05上電

模式:
  1. 設定模式
    • 直接使用AT command設定
    • 注意: 當設定HC-05時,PC終端機程式必須設成enter轉換為\r\n,這樣HC-05才會吃command
  2. 一般模式
    • 可透過 BT SPP profile與遠端裝置溝通(PC or android or....)
    • android market 上有好用的免費程式可以用
      • https://play.google.com/store/apps/details?id=mobi.dzs.android.BLE_SPP_PRO



範例程式:
===========================================
void setup() {
  //init PC serial
  Serial.begin(38400); // to PC

  //init BT module serical
  Serial1.begin(38400); // to BT module <==確認藍芽模組baud rate設定正確
}

char inByte=0;
void loop() {
  while(Serial1.available() > 0){
    inByte = Serial1.read();
    Serial.write(inByte);
  }

  while(Serial.available() > 0){
    inByte = Serial.read();
    Serial1.write(inByte);
  }
}



ps.
網路上看到UNO RESET時,會直接將USB UART與PIN 0/1接通,直接當USB轉TTL版子使用,不知道Leonardo是否可以這樣用
http://coopermaa2nd.blogspot.tw/2012/07/arduino-as-usb-to-ttl-adapter.html

HC-05 BT module


HC-05本身IO 3.3v,
通常買來的模組會加一塊子板轉成5V,並加入LED。

一般arduino/8051/pic IO運作在5V,所以買加上子板模組方便許多

主要pin

  1. TX: 接到控制板的RX
  2. RX: 接到控制板的TX
  3. VCC: 接到5V
  4. GND: 接到GND
  5. SET: 設定模式

HC-05有兩種模式:
  1. 控制模式: SET拉high(5V)後將模組上電
  2. 一般模式: SET拉low(0V)後將模組上電

控制模式中可以下AT command來設定模組,一般模式下如果BT與對方SPP接上,則可以當作無線的UART使用

注意!!!
使用AT command設定時,假設是接到PC設定,須在terminal內設定enter對應到\r\n,這樣HC-05才可以吃AT command


HC-05 所有支援的baud rate,通常預設是9600 or 38400,如果不行就只好全部試試看...

  • 4800, 9600, 19200, 38400, 57600, 115200, 23400, 460800, 921600, 1382400


出場預設狀態:
  ①.设备类:0
  ②.查询码:0x009e8b33
  ③.模块工作角色:SlaveMode
  ④.连接模式:指定专用蓝牙设备连接模式
  ⑤.串口参数:波特率—38400bits/s;停止位:1位;校验位:无
  ⑥.配对码:“1234”
  ⑦.设备名称:“H-C-2010-06-01”

常用AT command:

  1. AT
    • 測試模組是否存在,若存在就會回OK
  2. AT+ORGL
    • 回復出場預設值
  3. AT+NAME
    1. 取得目前名稱(藍芽搜尋到的裝置名稱): AT+NAME?
    2. 設定名稱: AT+NAME="XXXXXX"
  4. AT+ROLE
    1. 取得目前工作模式: AT+ROLE?
    2. 設定目前工作模式: AT+ROLE=X
    3. 工作模式
      1. 0: SLAVE
      2. 1: MASTER
      3. 2: SLAVE-LOOP(同SLAVE,但會回傳所有收到的字,應該是測試用)
  5. AT+PSWD
    1. 查看目前密碼: AT+PSWD?
    2. 設定密碼: AT+PSWD="XXXX"
  6. AT+UART
    1. 設定UART: AT+UART=XXX,Y,Z
    2. XXX:
      1. baud rate: 4800, 9600, 19200, 38400, 57600, 115200, 23400, 460800, 921600, 1382400
    3. Y:
      1. stop bit
        1. 0: 1bit
        2. 1: 2bit
    4. Z:
      1. parity bit
        1. 0: none
        2. 1: odd
        3. 2: even


相關文件

  • 模組介紹
    • http://www.wavesen.com/mysys/db_picture/news3/2013911141224101.pdf
    • http://www.exp-tech.de/service/datasheet/HC-Serial-Bluetooth-Products.pdf
  • at command
    • http://www.wavesen.com/mysys/db_picture/news3/2013911155224101.pdf
  • 網路相關文章
    • https://mbed.org/users/edodm85/notebook/HC-05-bluetooth/
    • http://www.yfrobot.com/forum.php?mod=viewthread&tid=4
    • http://taktak.co.uk/2013/bluetooth-module-hc-05-bt_board-1-5-configuration/
    • http://www.instructables.com/id/Arduino-AND-Bluetooth-HC-05-Connecting-easily/