Arduino 精要

来自Jack's Lab
(版本间的差异)
跳转到: 导航, 搜索
(总览)
(精华)
第41行: 第41行:
  
 
[[动手焊一个自己的 Arduino]]
 
[[动手焊一个自己的 Arduino]]
 +
 +
[[Arduino 低功耗优化]]
  
 
<br><br>
 
<br><br>

2015年3月17日 (二) 08:54的版本

目录

1 总览

Arduino I/O 之数字输入输出

Arduino I/O 之模拟输出

Arduino memory

深入 PWM

撰写自己的 Arduino 库


阻抗和阻抗匹配

晶振电路

SPI 总线精要



2 扩展

Arduino Ethernet 的另一性价比选择

DHT21/AM2301 数字温湿度传感器



3 应用

Arduino 监控客厅温度湿度



4 精华

Arduino bootloader 的烧写

面包板上的至简 Arduino

动手焊一个自己的 Arduino

Arduino 低功耗优化



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;
    } 
  }
}



6 资源















个人工具
名字空间

变换
操作
导航
工具箱