/g_arduino

LED、Task、ISR、Timer、Serial、ADC、EEPROM、FLASH、SD Card、BME280、SPI、IIC 、File System.

Primary LanguageC++GNU General Public License v3.0GPL-3.0

hacking Arduino

简介

  • 近段时间感觉时间全都耗费在了公司,也不是一个很好的状态。自己的生活空间全都压榨没了,接下来还是得给自己找点东西做一下。想到自己的手中还有一个小小的Arduino,开始折腾一下吧!
  • Arduino是一个开源的软硬件平台,使用C++作为主要的编程语言,官方的IDE基于avr-g++。有现成的库可以使用芯片的各个功能,开发板可以方便扩展各种传感器以及执行器,可以快速设计自己的功能。
  • 使用的是AVR单片机,MacroChip的Atmega328PB,16MHZ的主频,32K FLASH,2K RAM、1K EEPROM。说起来,资源量还是不错的。

TDL

  • 1. 找到原理图、开发工具(DONE)
  • 2. 完成hello world的程序(DONE)
  • 3. 完成LED的闪烁(DONE)
  • 4. 延时操作(DONE)
  • 5. 定时器(DONE)
  • 6. 任务调度器(DONE)
  • 7. 串口初步(DONE)
  • 8. SPI(DONE)
  • 9. 几种传感器的扩展(DONE)
  • 10. SPI通信(从芯片手册上看到了这个芯片是由两个SPI通道的,可能已经有现成的库里,看一下是否可以自己编程使用一下)(DONE)
  • 11. 计数器实现(DONE)
  • 12. ADC(DONE)
  • 13. IIC(DONE)
  • 14. EEPROM(FEE)(DONE)
  • 15. SD CARD(DONE)
  • 16. CAN通信(DONE)

具体的工作实践

arduino_001 资料以及工具的准备

arduino_002 LED闪烁练习

arduino_003_serial 串口初步

arduino_004_interrupt_and_timer 中断以及计数器

arduino_005_timer

arduino_006 通用数据类型探索

arduino_007 任务调度实现

Arduino_008 HardwareSerial

Arduino_009 Hello World

arduino_010 延时操作

arduino_011 SPI

arduino_012 ADC

arduino_013 FEE EEPROM

arduino_014 SD card

  • 目前手中的板子不支持

arduino_015 IIC

arduino_016 DS1302

arduino_017 74HC138三选八芯片

arduino_018 MCP2515实现CAN收发功能

arduino_019 Arduino SPI扩展SD卡

arduino_020 Arduino + python分析天气变化对颈椎病的影响