arduino 学习笔记及课件01基础入门
以下学习笔记中图片部分由太极创客视频截图所得
概论
一、 引脚及信号
1.1引脚模式
INPUT:当Arduino没有使用上拉电阻或下拉电阻而直接与开放的开关相连)。在开关未闭合时,该Arduino引脚处于不确定状态。为了获得准确的开关信号,须使用上拉电阻或下拉电阻。一般可以选用10K欧姆的电阻。
OUTPUT:Arduino引脚不能直接接地或直接与Arduino+5V/+3.3V引脚相连,否则可能损坏Arduino控制器。Arduino需要配合使用上拉电阻或者下拉电阻方能进行上述操作。(如果被驱动的电机需要超过40mA的电流,Arduino将需要三极管或其它辅助元件来驱动他们。)
INPUT_PULLUP:Arduino 微控制器自带内部上拉电阻,接地时引脚为低电平,否则为高电平。
1.2 信号
输入、输出、数字、模拟,两两组合。其中输入一个参数,引脚号。输出两个参数,引脚、输出值。其中
模拟输入:analogRead( pin ) 范围:0-1023
模拟输入:analogWrite( pin,value ) 范围 :0-255
数字输入:digitalRead( pin )
数字输出:digitalWrite( pin , status )
二、变量及程序结构
2.1变量
int : 整数是基本数据类型。整数数据类型占用2字节16位。整数的范围为-32,768到32,767( -2^15 ~(2^15)-1)。
byte:byte类型变量可存储8位无符号数,其存储数值范围是 0 – 255。
char:char数据类型使用1个字节的内存来存储单个字符值。字符以ASCII编码的形式存储。字符应写在单引号中,如: ‘A’。
long:长整数型变量是扩展的数字存储变量,它可以存储32位(4字节)大小的变量,数值从-2,147,483,648到2,147,483,647。
2.2程序结构
set up() 执行一次
loop()循环执行
三 、基础案例程序
3.1数字输出
点亮电路板上自带的led灯
void setup() {
// initialize digital pin LED_BUILTIN as an output.
// 初始化LED_BUILTIN数字引脚为输出模式
pinMode(LED_BUILTIN, OUTPUT);
}
// loop 函数永远会反复的运行
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // 点亮LED(高电平)turn the LED on (HIGH is the voltage level)
delay(1000); // 等待1秒 wait for a second
digitalWrite(LED_BUILTIN, LOW); // 将电平设置为低来熄灭LED turn the LED off by making the voltage LOW
delay(1000); // 等待1秒 wait for a second
}
3.2数字输入
硬件:开关
硬件连接上拉电阻
按键按下:2号引脚读取到低电平
按键松开:2号引脚读取到高电平
按键实验电路连接
//引脚2连接有按键开关,给它一个名字:
int pushButton = 2;
// the setup routine runs once when you press reset:
//当你按下复位按钮后,setup流程运行一次:
void setup() {
// initialize serial communication at 9600 bits per second:
//串口通讯初始化,每秒9600位
Serial.begin(9600);
// make the pushbutton's pin an input:
//设置按键引脚为输入
pinMode(pushButton, INPUT);
}
// the loop routine runs over and over again forever:
// loop 流程会永远的反复运行
void loop() {
// read the input pin:
//读取输入引脚:
int buttonState = digitalRead(pushButton);
// print out the state of the button:
// 显示按键状态
Serial.println(buttonState);
delay(1); // delay in between reads for stability 为确保程序稳定运行进行短暂停止
}
3.3 模拟输出
PWM原理、
以点亮led为例,在一个周期类,高电平所占的比例为led电压的比例,模拟输出255值对于引脚5V电压
硬件连接:
boolean pushButton1; // 创建布尔型变量用来存储按键开关1的电平状态
boolean pushButton2; // 创建布尔型变量用来存储按键开关2的电平状态
int ledPin = 9; //LED引脚号
int brightness = 128; //LED亮度参数
void setup() {
// put your setup code here, to run once:
pinMode(2, INPUT_PULLUP); //将引脚2设置为输入上拉模式
pinMode(8, INPUT_PULLUP); //将引脚8设置为输入上拉模式<