Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Arduino導讀

1,136 views

Published on

NTCU MCU Group第一次讀書會

2014/06/25

Published in: Engineering
  • Be the first to comment

Arduino導讀

  1. 1. Arduino導讀 NTCU MCU Study Group GCY 2014/06/25
  2. 2. 由軟到硬 • Compiler • Bootloader • Microcontroller Unit
  3. 3. 深入淺出 • Compiler:AVR-GCC,Arduino-C Syntax Parser • Bootloader Implement • MCU:PCD Circuit Design
  4. 4. background knowledge • C Language • V = I * R
  5. 5. what is arduino?
  6. 6. Arduino優點 • 入門門檻低 • 快速開發產品原型 • 使用者多library多 • Toolchain完整
  7. 7. Arduino缺點 • 速度慢 • I/O可能不夠 • 沒有辦法適當調配資源-RTOS • 晶片價格高
  8. 8. Uno?
  9. 9. Mega?
  10. 10. Maple(stm32)?
  11. 11. Arduino Equation • Arduino = Bootloader + Toolchain + Hardware • Toolchain = AVR-Toolchain + Arduino IDE • AVR-Toolchain = AVR-GCC + AVR-DUDE • Arduino IDE = Java + Arduino-C Syntax Parser
  12. 12. Bootloader-Memory Map
  13. 13. Bootloader-Memory Map
  14. 14. Bootloader-AVRISP
  15. 15. Bootloader-USB2Serial
  16. 16. Arduino IDE Arduino2AVR parser AVR-GCC AVR-DUDE avrdude -p m328p -P COM6 -c avrispv2 -U flash:w:test.hex Stk500 & bootloader Intel hex
  17. 17. Arduino IDE-AVRToolchain • hardware/tools/avr/bin
  18. 18. Arduino IDE-AVRToolchain
  19. 19. Arduino IDE-AVRToolchain
  20. 20. Arduino IDE-Compile & Upload Get Java- Textbox StringLine Obj file Send Arduino C 2 AVR Parsing AVR-GCC Compile AVR Code Arduino C 2 AVR AVR-Objcopy Linker Intel Hex File AVR-DUDE- stk500 Arduino Bootloader Write 2 EEPROM Start Address Reset & Jmp Start Address Run
  21. 21. Arduino IDE-Arduino C2AVR Parser Preprocessor Find Include Arduino Library Translate Arduino Pin Define 2 AVR Register AVR- GCC Library.elf file(obj file)
  22. 22. Arduino Hardware-Basic Part • ATmega328 + 16MHz Crystal + 22pF Cap * 2 + 0.1uF Cap * 2 + 10k Ohm
  23. 23. Arduino Hardware-ATMega328
  24. 24. Arduino Hardware-Main Circuit ?_?
  25. 25. Arduino Hardware-Basic Circuit
  26. 26. Arduino Hardware-Arduino UNO???
  27. 27. Arduino Hardware-Write Bootloader
  28. 28. Arduino Hardware-test
  29. 29. But…….
  30. 30. USB2Serial (Downloader) • FTDI • PL2303 • ATMega32u (DFU Mode)
  31. 31. Connect • TX,RX,DTR,3.3V,5V
  32. 32. Part list • ATmega328 + 16MHz Crystal + 22pF Cap * 2 + 0.1uF Cap * 2 + 10k Ohm = (50 + 10 + 0.4 + 0.4 + 0.1 = 60.9NT) • 麵包板 + 麵包板線 = (80 + 30 = 110NT) • USB2Serial Module = (30~200NT) • 任何有Arduino Bootloader的板子或晶片(借)
  33. 33. 自製Arduino優點 • 節省成本 • 可以控制設計板子大小 • 可依照Project需求決定會使用到的零件 • 線路可以刪減減少複雜度
  34. 34. 自製Arduino缺點 • 要先有有Arduino Bootloader的板子或晶片 • 若要製成PCB需要工具 • 畫PCB Layout要學CAD軟體
  35. 35. 要先有有Arduino Bootloader的板子 或晶片? • 可以用借的,或者沒屋頂上有人會賣已經 有Arduino Bootloader的晶片。
  36. 36. 製成PCB需要工具 • 30w~40w烙鐵 +烙鐵架 + 錫絲 + 吸錫器 + 助焊劑 + 斜口鉗 = (100 + 50 + 100 + 50 + 50 + 70 = 420NT) • 手工電鑽 + 壓克力刀 = (500 + 70 = 570NT) • 檯燈 + 透明壓克力 = (300 + 50 = 250NT) • Mask + PCB(單面電木) = (3 + 35 NT) • 以上Lab除了助焊劑與消耗品的Mask + PCB和檯燈 + 透明壓克力沒有其他都可以借到。
  37. 37. 畫PCB Layout要學CAD軟體 • Eagle PCB等CAD軟體只要畫好電氣圖就能自 動繞線出PCB。
  38. 38. 進階討論 • 在其他晶片實現Arduino Toolchain • 如何使用自己不懂的元件? • 改Arduino Toolchain + Bootloader + Hardware • 撰寫Arduino Library
  39. 39. Q & A Thank
  40. 40. Refence • https://github.com/stanleyhuangyc/ArduinoU ploader/tree/master/src - Arduino Parser • http://www.atmel.com/Images/doc8161.pdf - AVR MCU Datasheet

×