教学记录目录
教学记录
1. 2018.11.25工作室
1.1 使用电位器控制LED
1.1.1 数字量与模拟量的区别
1.1.2 精密模拟量的优势
1.1.3 代码
/*
作者: 智芯坊
时间:2016年6月7日
IDE版本号:1.8.5
发布地址:
作用:通过精密线性电位器PWM控制led亮度
*/
void setup()
{
pinMode(3,OUTPUT); //数字口要选择带 ~ 号的具有pwm功能的输出口
}
void loop()
{
int n = analogRead(A0); //读取A0模拟口的数值(0-5V 对应 0-1204取值)
analogWrite(3,n/4); //PWM最大取值255 所以将模拟口的取值n除以4
}
查阅:
- map()函数,利用map()改写程序
- pwm技术
- 使用arduino控制板的注意事项——电压
1.2 switch语句
switch (variable) {
case label1:{
// statements
break;
}
case label2: {
// statements
break;
}
default: {
// statements
break;
}
}
说明:
- switch语句允许根据一个整数表达式的结果,从一组动作中选择一个动作。
- break; 语句的作用是跳过switch语句括号中的其他语句,执行括号后面的语句,如果省略了某个case后面的break,就继续执行下一个case语句。
1.2.2 利用串口控制led灯
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("in setup");
pinMode(3,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
}
void loop() {
if (Serial.available()){
int n = int(Serial.read())-48; //'3'
digitalWrite(n,HIGH);
delay(1000);
digitalWrite(n,LOW);
}
}
1.3 利用循环和数组制作流水灯
1.3.1 while循环
- 语句格式
while(expression) {
Block of statements;
}
1.3.2 do……whiile循环
do while循环语句语法:
do {
Block of statements;
} while (expression);
1.3.3 for循环
for循环语句语法
for ( initialize; control; increment or decrement) {
// statement block
}
1.3.4 无限循环
# 使用for循环
for (;;) {
// statement block
}
```python
# 使用while循环
while(1) {
// statement block
}
1.4 数组
1.5 流水灯
依次将三个LED灯接入3,5,6引脚,编写程序
1.5.1 代码
const byte LEDs[]={3,5,6};
const byte total = sizeof(byte);
byte index = 0;
void setup() {
// put your setup code here, to run once:
for(byte i = 0; i < total; i++) {
pinMode(LEDs[i], OUTPUT); //i的值将从0到4,依序设置7,8,9引脚为输出引脚。
}
}
void loop() {
// put your main code here, to run repeatedly:
for (byte i = 0; i < total; i++) {
digitalWrite(LEDs[i], LOW);
}
digitalWrite(LEDs[index],HIGH);
index ++;
if (index == total)
index = 0;
delay
}