Arduino 精要

来自Jack's Lab
(版本间的差异)
跳转到: 导航, 搜索
(精华)
(扩展)
 
(未显示1个用户的8个中间版本)
第25行: 第25行:
  
 
[[ADC]]
 
[[ADC]]
 +
 +
[[UART_体系结构]] 3.3V-5V 电平转换:Sipex SP3222E/3232E
  
 
<br><br>
 
<br><br>
第30行: 第32行:
 
== 扩展 ==
 
== 扩展 ==
  
[[Arduino Ethernet 的另一性价比选择]]
+
[[Arduino Ethernet 的另一性价比选择]] [https://www.arduino.cc/en/uploads/Main/arduino-Ethernet-Shield2-V2-sch.pdf W5500 Ethernet Shield v1.0]  
  
 
[[DHT21/AM2301 数字温湿度传感器]]
 
[[DHT21/AM2301 数字温湿度传感器]]
第55行: 第57行:
  
 
[[RS485]]
 
[[RS485]]
 +
 +
[[MBus]]
  
 
[[RFID]]
 
[[RFID]]
  
 
[[LoRa]]
 
[[LoRa]]
 +
 +
[[GPS]]
  
 
[[FT2232]]
 
[[FT2232]]
第65行: 第71行:
  
 
[[Geiger]]
 
[[Geiger]]
 +
 +
[[Relay]]
  
  
第96行: 第104行:
  
 
[[CJT188]]
 
[[CJT188]]
 +
 +
[[Tesla]]
 +
 +
[[Power]]
  
 
<br><br>
 
<br><br>

2017年10月18日 (三) 20:36的最后版本

目录

[编辑] 1 总览

Arduino I/O 之数字输入输出

Arduino I/O 之模拟输出

Arduino I/O 之数字输出扩流

Arduino memory

深入 PWM

撰写自己的 Arduino 库


阻抗和阻抗匹配

晶振电路

SPI 总线精要

I2C 总线精要

I2S 总线精要

ADC

UART_体系结构 3.3V-5V 电平转换:Sipex SP3222E/3232E



[编辑] 2 扩展

Arduino Ethernet 的另一性价比选择 W5500 Ethernet Shield v1.0

DHT21/AM2301 数字温湿度传感器

DHT11 数字温湿度传感器

夏普 GP2Y1010AU0F 灰尘传感器

PT550 光敏二极管光线传感器

SHT20 数字温湿度传感器

PT100/PT1000 工业级温度传感器

SSD1306 OLED 显示屏

Encoder 旋转编码器

MC105 可燃气体传感器

MEMS Mic

Digipot 数字电位器

RS485

MBus

RFID

LoRa

GPS

FT2232

LEON3

Geiger

Relay




[编辑] 3 应用

Arduino 监控客厅温度湿度



[编辑] 4 精华

Arduino bootloader 的烧写

面包板上的至简 Arduino

动手焊一个自己的 Arduino

Arduino 低功耗优化

ATtiny13

Eagle Tips

Raspberry

Modbus

DLT645

CJT188

Tesla

Power



[编辑] 5 糖豆

[编辑] 5.1 float2str

String(NUMBER, SCALE);
String(3.141592,5);        # "3.14159"



[编辑] 5.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());
}



[编辑] 5.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;
    } 
  }
}



[编辑] 5.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;
}



[编辑] 6 资源




[编辑] 7 Notes

0欧电阻和磁珠

谐振频率和抑制噪声

高频下过孔大小和走线长度对信号的影响

过孔和线宽与电流关系

PCB 板材参数

Altium Designer PCB 设计规则中英对照

RT5350F



[编辑] 8 Reference













个人工具
名字空间

变换
操作
导航
工具箱