顯示具有 單晶片 標籤的文章。 顯示所有文章
顯示具有 單晶片 標籤的文章。 顯示所有文章

2020年1月8日 星期三

【單晶片】arduino控制74595擴充LED數量



使用arduino UNO時常常會遇到一個問題就是LED太多接腳不夠用。
為了解決這個鳥問題,如果財力夠可以直接買一個Arduino Mega2560,很貴就是了。

今天介紹這顆74595是一顆8位元 串列輸入-並列輸出 帶閂鎖移位暫存器,照字面翻就是那麼長。

2019年11月3日 星期日

【單晶片】利用Virtual DJ MIDI端口控制arduino上的LED



這幾天在研究如何使用loopMIDI傳送LED訊號到控制板上,加裝LED在之前的DJ控制器上面,效果還真不錯。

2019年9月22日 星期日

2019年2月24日 星期日

【單晶片】擴充arduino接腳 CD4051 8 channel analog MUX/DMUX

最近發現arduino接腳不夠用,找到一顆多工器(Multiplexer),而且這顆很不一樣,一般的多工器用在數位電路上做資料選擇用的,只有0(HIGH)及1(LOW)這兩個訊號。

相似文章


CD4051特點

  • 具有類比輸入類比輸出的特性
  • 具有8個Channel及一個COM
  • 雙向傳輸,COM->CH0CH0->COM
  • 3條選擇線,以及一條致能線(Enable)
  • DIP封裝,開發方便
  • 可做多工器/解多工器

2018年9月21日 星期五

【單晶片】如何使用WinAVR燒錄到ATmega8


安裝Atmel Programmer


每家廠商都有屬於自己的Programmer,WinAVR只能拿來編譯,不能燒錄晶片。

安裝WinAVR



2018年8月20日 星期一

【單晶片】ATtiny85 紅外線接收器

今天把石英晶體加到電路上後,ATtiny85真的穩定很多

sketch code
#include <IRremote.h>
int RECV_PIN = 2;

IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
  pinMode(0, OUTPUT);
  irrecv.enableIRIn();
}

void loop() {
  if (irrecv.decode(&results)) {
    irrecv.resume(); // Receive the next value
    if (results.value == 0x143226DB)
      digitalWrite(0, HIGH);
    if (results.value == 0x4E87E0AB)
      digitalWrite(0, LOW);
  }
  delay(100);
}


喜訊~ATtiny85復活拉!!!外接Clock

今天在使用第二顆ATtiny85的時候..........慘!第二顆又被我玩壞了。
想說....不可能!程式應該不至於把整個單晶片破壞掉,終於發現...
一個手殘真的可以把你自己搞死

鄉親啊~再調Clock的時候要特別小心
我在調clock的時候想調外接時脈,結果一不小心用bootloader把External Clock燒進ATtiny85裡面,這當然拋錯,因為沒有外接clock。接下來更尷尬了,當我調回Internal Clock用bootloader燒回去,結果.....
avrdude: Expected signature for ATtiny85 is 1E 93 0B
         Double check chip, or use -F to override this check.
找到錯誤的微控制器,您在選單「工具>板子」裡所選取的板子正確嗎?

這下慘了,內接外接都一樣拋錯,這顆是不是掛了。

本人不放棄的接了16MHz的石英晶體外加兩個22pF的電容接地,clock調到External Clock 16MHz用bootloader燒進去。
欸~燒進去了ヽ(✿゚▽゚)ノヽ(✿゚▽゚)ノ

只要把ATtiny85的PB3和PB4之間接一個16MHz的石英晶體,並將PB3、PB4各接一個約22pF的電容到GND。
clock調到External Clock 16MHz用bootloader燒進去。
clock調到Internal Clock 16MHz用bootloader燒進去。
ATtiny85又回到內部clock的狀態。




2018年8月19日 星期日

【單晶片】ATtiny85時脈頻率調整

ATtiny的時脈調了半天,結果才差一個動作。

It wil run @ 1 MHz if you haven't changed it (it is preprogrammed from the factory)
If you want to run 8MHz:

Select Board -> Attiny85@8MHZ
select Programmer -> Arduino as ISP
Select ->Burn bootloader, this will set the fuses but not burn any bootloader
change internal clock of attiny85
我一直以為,時脈的頻率會一起在上傳草稿碼的時候一起上傳,結果......
花了我整天的時間debug

正確做法: 

工具➡️Clock➡️XX MHz(內部時脈/外接時脈)
工具➡️燒錄bootloader

這兩個動作做完後,即可上傳草稿碼

2018年8月18日 星期六