2015年8月15日 星期六

Attiny x5/x4 mix program shield

 簡單來說就是...兩種系列(Attiny24/44/84 Attiny25/45/85)都能用的燒錄座
電路並不是簡單的開關就好了,由於x4和x5的部分接角重疊,需要比較複雜一點的電路
然後就做成下面這種鬼模樣了...
就直接用了一顆有兩個Analog Switch的IC然後結束這回合

另外就是這有放LED燈XD


YM2413 8-bit FM Sound IC + Arduino

 話說八月初去秋葉原扭了兩個FM音校IC的扭蛋
一個是YMF276-M 另一個是YM2413,Google的時候發現有人做過YM2413的Arduino Shield
https://htlab.net/products/electronics/ym2413-shield-1/
於是就沿用他的Code,不過硬體的部分改了一下
這顆IC基本上就是用8-bit的匯流排去寫入要演奏的樂器/Feq這樣,然後同時兩個(這是Costdown的版本...)
從它的Application manual http://www.smspower.org/uploads/Development/chipsym2413am.pdf
可以看到如下的工作原理
基本上需要的是積分電路,Mixer 還有LPF,最後就耳擴或是個簡單的OPA,我用的是LM386,
放大200倍大概就破音了...


Update:
改用Arduino Leonardo之後,改用acore的USB MIDI Device Stack
就變成USB MIDI Player了,影片放Youtube

2015年7月4日 星期六

Wifi Arduino (Leonardo + Linkit connect module)


簡單來說,就是Arduino Micro pro內建 MT7681的開發版本
用的是Sparkfun的Micro pro 3.3V的版本改來的,然後兩排Pin多了三個是MT7681自己的GPIO這樣

不過這Layout還是有點問題就是說,MT7681的Reset和Arduino的Reset是接在一起的,所以當Wifi出了問題的時候,我就不能單獨Reset,另外一個問題就是...

3.3V和VCC我沒接上去...

我在改電路圖的時候沒發現到3.3V和VCC還是分開來的,結果就是焊接完發現怎麼不會動的時候才發現到這問題,幸好供應VCC的LDO就在3.3V的Pin旁邊,一個大坨的焊錫就解決惹
PCB:https://github.com/will127534/Linkit-connect-with-arduino

2015年6月12日 星期五

Linkit one 上面常見的問題

一樣,整理一下作為筆記使用

1.Conctructure 不能再Setup以前使用

      EX: Adafruit MAX31855 library當中,硬體的設定是在constructure裡面設定的
             Linkit one 會出問題,但是把這段code移動到setup就好

2.Timming 不準
      由於Linkit one 上面跑的是RTOS,對於Arduino的Code會被Driver中斷,所以要在Arduino code裡面做到us等級的delay是不準的(還是可以試試)
    
   EX:DHT11,22 用Adafruit的話需要改
          
                                           DHT dht(DHTPIN, DHTTYPE, 13);

       但是就算是改過了,出錯率還是很高,所以不建議Linkit one的Arduino code拿來刻時序要求很精準的通訊.(然後順便婊一下,DHTXX真的很爛,我的觀察啦,我不喜歡用

3.Analog速度的問題
     Linkit one上面Analog不快,大概20ms,所以也不建議拿內建的Analog pin做示波器等級的東西,但是SPI速度超級快(他的基頻高),所以真的要快速的ADC,Ti有很多選擇,用SPI接上就好

4.I2C一次只能送8byte
    如標題,就是在Start後面最多8 byte,但是可以送Repeat Start
5.delay(1)沒有作用
    因為底層的RTOS systick是4.12ms,所以delay(5)以下其實因為小數點的關係會變成delay(0)
    導致delay(1~4)沒有作用,解決辦法就是改用delayMicroseconds(1000)

還有的話這篇文會增加,有解決的話會附註