Q1
微处理器是一个单芯片CPU,而微控制器则在一块集成电路芯片中集成了CPU和其他电路,构成了一个完整的微型计算机系统。除了CPU,微控制器还包括RAM、ROM、串行接口、并行接口,计时器和中断调度电路等。
微控制器芯片有差异:Uno基于ATmega328P芯片而Micro是一种基于ATmega32U4的微控制器板;引脚资源有差异:uno有14个数字输入/输出引脚(其中6个可作为PWM输出),6个模拟输入,micro有20个数字输入/输出引脚(其中7个可作为PWM输出,12个作为模拟输入);micro内置USB通信,不需要二级处理器,uno不具备此功能;整体尺寸有差异,micro更小巧。
该引脚用于使用外部电源为Arduino Uno开发板供电,绕过usb和电源插脚的电源输入,没有完善的保护,过大电流会直接损坏芯片
Q2
正常情况下,串口信号RX(0号)、TX(1号),与内部ATmega8U2 USB-to-TTL芯片相连,提供TTL电压水平的串口接收信号。但本例程中,将0号和1号引脚与led灯连接并采用数字输出功能驱动LED灯,在打印“TICK”之前就设置了引脚状态,因此无法串口输出。
将两个LED灯分别连接在除0号和1号的引脚上,并作相应的程序改变。
Serial.begin();函数初始化串口后,Serial.print(“Tick”);函数可以将信息发送到电脑。
串口初始化的作用,并指定了串口通信的波特率为9600
const int LED1_PIN = 2;
const int LED2_PIN = 4;
void setup() {
pinMode(LED1_PIN, OUTPUT);
pinMode(LED2_PIN, OUTPUT);
Serial.begin(9600);
}
void loop() {
int sensorValue ;
float voltage;
digitalWrite(LED1_PIN, HIGH);
digitalWrite(LED2_PIN, LOW);
delay(1000);
digitalWrite(LED1_PIN, LOW);
digitalWrite(LED2_PIN, HIGH);
delay(500);
sensorValue= analogRead(A0);
voltage= sensorValue * (5.0/1023.0);
Serial.print(“Tick”);
Serial.println(voltage);
}
Q3
模拟输入参考电压输入引脚,不接的话从内部电源获取电压
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue ;
float t;
delay(1000);
sensorValue= analogRead(A0);
t= sensorValue * (5.0/1023.0)*60;
Serial.println(t);
}
I2C中SDA和SCLK中SDA是数据线 SCLK是时钟。
使用I2C,可以通过设施从机地址,将多个从设备连接到单个主设备
属于SPI总线,MOSI and MISO连根先负责 数据传输
Q4
可以采用轮询方式查看输入信息,并发送欸电脑,内次查询间隔一定时间
open a text editor to receive
不是很完美,采样间隔时间太长
按顺序填写
Keyboard.begin();
Counter%4==0;
analogRead(A0);
pot_val * (5.0/1023.0)
Q5
无线信号利用空间传输,相互之间必然会有干扰,所以基带信号(就是你的信息)必须要调制到一定频率的载波上传输,利用不同的频率来避免干扰。
38Kz
输入电信号,输出红外信号
一个逻辑“1”的传输时间为2.25ms,而一个逻辑“O”的传输时间只有“1”的一半,为1.125ms。
#include <IRremote.h>
NEC协议:地址0xcd 指令0xdc
SIRC协议:地址01100 指令0110011