Arduino
来自Jack's Lab
(版本间的差异)
(→ATtiny13) |
(→扩展) |
||
| (未显示1个用户的11个中间版本) | |||
| 第29行: | 第29行: | ||
== 扩展 == | == 扩展 == | ||
| + | |||
| + | TP: Touch Pad,触摸传感器,电容式:[https://item.szlcsc.com/2874932.html TTP223-BA6], [https://item.szlcsc.com/3007808.html JSM8223], [https://item.szlcsc.com/1784421.html 223] | ||
[[DHT21/AM2301 数字温湿度传感器]] | [[DHT21/AM2301 数字温湿度传感器]] | ||
| 第53行: | 第55行: | ||
[[Geiger]] 盖格计数器 | [[Geiger]] 盖格计数器 | ||
| + | |||
| + | [[Ultrasonic]] | ||
| 第94行: | 第98行: | ||
[[ADC]] | [[ADC]] | ||
| + | |||
| + | [[AMP]] 运放 | ||
| 第114行: | 第120行: | ||
== 精华 == | == 精华 == | ||
| − | [[Arduino bootloader 的烧写]] | + | * [[Arduino bootloader 的烧写]] |
| + | * [[面包板上的至简 Arduino]] | ||
| + | * [[动手焊一个自己的 Arduino]] | ||
| − | |||
| − | [[ | + | * [[Arduino 低功耗优化]] |
| − | |||
| − | [[ | + | * [[Modbus]] |
| + | * [[DLT645]] | ||
| + | * [[CJT188]] | ||
| − | |||
| − | [[Raspberry]] | + | * [[ATtiny13]] |
| + | * [[Raspberry]] | ||
| − | |||
| − | [[ | + | * [[Tesla]] |
| + | * [[Power]] | ||
| + | * [[Eagle Tips]] | ||
| − | + | <br><br> | |
| − | + | == Notes == | |
| − | [[ | + | * [[0欧电阻和磁珠]] |
| + | * [[谐振频率和抑制噪声]] | ||
| + | |||
| + | * [[高频下过孔大小和走线长度对信号的影响]] | ||
| + | |||
| + | * [[过孔和线宽与电流关系 ]] | ||
| + | |||
| + | * [[阻抗和阻抗匹配]] | ||
| + | |||
| + | |||
| + | [http://www.kblaminates.com/chs/upfile/2010123017220691104.pdf PCB 板材参数] | ||
| + | |||
| + | * [[Altium Designer PCB 设计规则中英对照]] | ||
| + | |||
| + | * [[RT5350F]] | ||
| + | |||
<br><br> | <br><br> | ||
| 第178行: | 第202行: | ||
<source lang=bash> | <source lang=bash> | ||
| − | Board I2C / TWI pins | + | Board I2C / TWI pins |
| + | ---------------------------------- | ||
Uno, Ethernet A4 (SDA), A5 (SCL) | Uno, Ethernet A4 (SDA), A5 (SCL) | ||
| − | Mega2560 20 (SDA), 21 (SCL) | + | Mega2560 20 (SDA), 21 (SCL) |
| − | Leonardo 2 (SDA), 3 (SCL) | + | Leonardo 2 (SDA), 3 (SCL) |
| − | Due 20 (SDA), 21 (SCL), SDA1, SCL1 | + | Due 20 (SDA), 21 (SCL), SDA1, SCL1 |
</source> | </source> | ||
| 第312行: | 第337行: | ||
* avr-libc user manual: http://www.nongnu.org/avr-libc/user-manual/modules.html | * avr-libc user manual: http://www.nongnu.org/avr-libc/user-manual/modules.html | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
<br><br> | <br><br> | ||
2021年12月10日 (五) 15:31的最后版本
目录 |
[编辑] 1 总览
I2S 总线精要
[编辑] 2 扩展
TP: Touch Pad,触摸传感器,电容式:TTP223-BA6, JSM8223, 223
SHT2x 数字温湿度传感器
MC105 可燃气体传感器
PIR 热释红外传感器,人体感应
Geiger 盖格计数器
PPD42NS Dust Sensor
BH1750 光线传感器
热感相机:Adafruit AMG8833 IR Thermal Camera https://www.adafruit.com/product/3622
Arduino Ethernet 的另一性价比选择 W5500 Ethernet Shield v1.0
Encoder 旋转编码器
Digipot 数字电位器
Relay 继电器
Optocoupler 光耦
AMP 运放
[编辑] 3 应用
[编辑] 4 精华
[编辑] 5 Notes
[编辑] 6 MCU
[编辑] 6.1 LGT8F08/88/328 (AVR Compatible)
[编辑] 6.2 LGT8F684/690, LGT8P653/663 (PIC Compatible)
[编辑] 6.3 STM32
[编辑] 6.4 STM8
[编辑] 6.5 ATmega328
[编辑] 7 I2C pin
Board I2C / TWI pins ---------------------------------- Uno, Ethernet A4 (SDA), A5 (SCL) Mega2560 20 (SDA), 21 (SCL) Leonardo 2 (SDA), 3 (SCL) Due 20 (SDA), 21 (SCL), SDA1, SCL1
[编辑] 7.1 ATtiny13
[编辑] 8 糖豆
[编辑] 8.1 float2str
String(NUMBER, SCALE); String(3.141592,5); # "3.14159"
[编辑] 8.2 Software Serial
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
void setup()
{
// set the data rate for the SoftwareSerial port
mySerial.begin(4800);
mySerial.println("Hello, world?");
}
void loop()
{
if (mySerial.available())
mySerial.write(Serial.read());
}
[编辑] 8.3 AT CMD
SerialEvent() is called after a loop(), if there is serial data in the buffer.
String input_str = ""; // a string to hold incoming data
boolean str_over = false; // whether the string is complete
void setup() {
Serial.begin(9600);
input_str.reserve(200); // reserve 200 bytes for the inputString:
}
void loop() {
if (str_over) {
// Identify the CMD and processing
input_str = ""; // clear the string buffer
str_over = false;
}
}
/*
* SerialEvent occurs whenever a new data comes in the hardware serial RX.
* This routine is run between each time loop() runs, so using delay inside
* loop can delay response. Multiple bytes of data may be available.
*/
void serialEvent() {
while (Serial.available()) {
char in = (char)Serial.read();
input_str += in;
if (in == '\n') { // read a line into string buffer
str_over = true;
}
}
}
[编辑] 8.4 Hex str to ull
char hexstr2bin(char c) {
if (isdigit(c)) { // 0 - 9
return c - '0';
} else if (isxdigit(c)) { // A-F, a-f
return (c & 0xF) + 9;
}
return -1;
}
unsigned long long hexstr2ull(char * string)
{
unsigned long long x =0;
char c;
do {
c = hexstr2bin(*string++);
if (c < 0)
break;
x = (x << 4) | c;
} while (1);
return x;
}
[编辑] 9 资源
- 二极管选型指南:http://www.vishay.com/docs/49627/49627.pdf
- 将电解电容器更换为MLCC的指南
- MCU 3V Tips
- 電容器阻抗/ESR頻率特性
- 低压差调节器—为什么选择旁路电容很重要
- 精算陶瓷電容性能表現
- http://www.robopeak.com/blog/?p=107
- spi flash: http://forum.arduino.cc/index.php?topic=178462.0
- http://www.avrfreaks.net/forum/winbond-spi-flash-library-avr-arduino-written-c
- avr-libc user manual: http://www.nongnu.org/avr-libc/user-manual/modules.html
[编辑] 10 Reference
- HTTP Spec: https://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html
- https://zh.wikipedia.org/wiki/ASCII



