2018.11.25工作室教學記錄
阿新 • • 發佈:2019-01-09
教學記錄
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
}