nRF24L01 for Arduino

Arduino 需要無線電傳數據的話, nRF24L01+ 的確是首選.
在 2.4GHz 工作, 不用牌照. 而且一套兩隻約 $2 USD左右, 很平.

nRF24L01 是舊版, 巳停產.
可以的話找 nRF24L01+ 最好.

RF24 – NRF24L01 Driver
RF24 writer’s blog
arduino leonardo 的 SPI 接線方法和其它的有點不一樣, 詳見:
arduino leonardo 與 nRF24L01 連接方法

Step by Step:
1. 在 Arduino SDK 安裝好 “libraries”,
2. Re-Start Arduino SDK
3. 打開 GettingStarted.pde.
4. Upload 到兩套 Arduino 內
5. 兩套Arduino 同時接到 PC , 打開兩個 Com Mon
6. 在其中一個 Com Mon 輸入 “T” (設定為發送信息)
7. Done!

Arduino : Wheatstone bridge

拉力传感器 , 称重传感器 , 氣壓传感器 的共通點為 : Wheatstone bridge

如能測量 Wheatstone bridge, 理論上就可以 拉力, 称重, 氣壓 传感器均可以使用了.

第一步是称重传感器, 家中有不錯的称重標準

基于24位AD转换模块HX711的重量称量实验
http://www.geek-workshop.com/thread-2315-1-5.html

Battey size

Name ,Dimensions [mm] Diameter x Height

AAA cell: 10.5 x 44.5
AA cell: 14.5 x 50.5
C cell :26.2 x 50
D cell :34.2 x 61.5

18650: 18.6 x 65.2
26650:26.18 x 65.33

Arduio boards.txt for atmega88

atmega88o.name=[Optiboot] Arduino NG or older w/ ATmega88
atmega88o.upload.protocol=stk500
atmega88o.upload.maximum_size=7680
atmega88o.upload.speed=115200
atmega88o.bootloader.low_fuses=0xff
atmega88o.bootloader.high_fuses=0xdd
atmega88o.bootloader.extended_fuses=0x04
atmega88o.bootloader.path=optiboot
atmega88o.bootloader.file=optiboot_atmega88.hex
atmega88o.bootloader.unlock_bits=0x3F
atmega88o.bootloader.lock_bits=0x0F
atmega88o.build.mcu=atmega88
atmega88o.build.f_cpu=16000000L
atmega88o.build.core=arduino:arduino

STM32 for new player

Software:
HowTo: Install ODeV platform on Windows
The Open Development Environment for embedded application (ODeV)

STM32环境准备:JLink + OpenOCD

another GNU ARM toolchain
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4755164&bbs_page_no=1&search_mode=4&search_text=yin66&bbs_id=9999

Hardware:
STM32F103RCT6 Board (72Mhz, 256K Flash, 48K Ram)
DATASHEET of STM32F103RC

Board SCHSTM32F103_MiniBoardSch
JLink V8
==================================================
STM32不完全手册 V2

Cortex-M3 权威指南
低成本的ARM调试方案——有关于Wiggler、H-Jtag、OpenOCD、GDB、Insight

How to: Use optiboot bootloader with Atmega168 / Atmega88

Step 1:
Burn optiboot bootloader:
I use FT232RL BitBang Mode.
Skip set Lock-Bit step!
Device select atmega168, atmagea88
How to burn bootloader:
Burning the Bootloader without external AVR-Writer – Kimio Kosaka
Fuse Setting (atmega168/atmega88):
high_fuses=0xdd
low_fuses=0xff
extended_fuses=0x02

Bootloader HEX file path:
Atmega168: arduino-0022hardwarearduinobootloadersoptibootoptiboot_pro_16MHz.hex
Atmega88: optiboot for atmega88

Step 2:
Edit arduino SDK- boards.txt , path:arduino-0022hardwarearduino.
Copy and paste optiboot boards setting to boards.txt.

Step 3:
Restart SDK, select correct target board.
Atmega168 (DIP) -> [Optiboot] Arduino Diecimila, Duemilanove, Nano, NG w/ ATmega168
Atmega88 (DIP) -> link

Done!

P.S.
optiboot bootloader need arduino which can auto-reset

Arduino Serial auto-reset mod:
Retrofitting AutoReset feature into an old Arduino serial board by nkcelectronics. (Solder two wire to 0.1μF disc capacitor two legs, then solder two wire to PCB.)

Arduino NG mod:
Photo
Windows:try soldering the cap to the upper two pads.