講師:台中女中王裕德
http://eclass.tcgs.tc.edu.tw/home/index.php
tcgs01
xxx22205108
9:20
解決arduino驅動問題
http://flagsupport.blogspot.com/2015/04/ft232-ftdi.html
先下載官方提供的驅動程式。下載後解壓縮等待後續使用。
在前面裝置內容的交談窗中切換到『驅動程式』頁次, 按一下『更新驅動程式』:
第一次測試arduino
開啟Arduino
偏好設定字型大小20
開發板arduino nano
選擇com
處理器 ATmega328p (oldXXXXXXX)
檔案>>範例>>1basic>>blink
上傳
結果板子每隔一秒閃白燈
9:40
麵包板介紹
nano板數位 類比輸入
由A0偵測2.2M歐姆電阻,當人用手去接地會有一個電阻值
結果產生不同的電壓
零件清單
10:00
實際接線
看看監測視窗A0的電阻值0~1023
程式碼如下
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
int i=analogRead(A0);
Serial.println(i);
delay(1000);
}
10:30
用手碰觸發出聲音
oid setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
int i=analogRead(A0);
if(i<850){
tone(10,523,1000);
}
Serial.println(i);
delay(1000);
noTone(10);
}
10:40
3種變數各8個
音調
時間
計數器
沒有接觸,5V會流到A0(電容斷路滅少雜訊)A0讀數1023
人體電阻越大A0讀數越大
3種變數各8個
音調
時間
計數器
沒有接觸,5V會流到A0(電容斷路滅少雜訊)A0讀數1023
人體電阻越大A0讀數越大
int melody[8] = {523,587,659,698,784,880,988,1046};
int noteDurations[8] = {2,2,2,2,2,2,2,2};
int note_no=0; //設定note_no變數,記錄播放的音符號
void setup() {
Serial.begin(9600);
pinMode(10,OUTPUT); //設定接腳10為輸出,供喇叭輸出聲音使用
}
int noteDurations[8] = {2,2,2,2,2,2,2,2};
int note_no=0; //設定note_no變數,記錄播放的音符號
void setup() {
Serial.begin(9600);
pinMode(10,OUTPUT); //設定接腳10為輸出,供喇叭輸出聲音使用
}
void loop() {
int a = analogRead(A0); //讀取A0接腳的類比訊號值
int b = analogRead(A1); //讀取A1接腳的類比訊號值
int c = analogRead(A2); //讀取A2接腳的類比訊號值
int a = analogRead(A0); //讀取A0接腳的類比訊號值
int b = analogRead(A1); //讀取A1接腳的類比訊號值
int c = analogRead(A2); //讀取A2接腳的類比訊號值
int noteDuration = 0 ;
Serial.println(a);
Serial.println(b);
Serial.println(c);
if(a<850){
noteDuration = 1000/noteDurations[note_no]; // 音符延續時間為1000毫秒/noteDurations陣列內的元素
tone(10, melody[note_no], noteDuration);
if(note_no>=7){ //如果播放到最後一個音符,就將計數器歸0,此處判斷數值為melody陣列元素-1
note_no=0;
}else{
note_no=note_no+1; //計數器+1
}
}
if(b<850){
noteDuration = 1000/noteDurations[note_no];
tone(10, melody[note_no], noteDuration);
if(note_no>=7){
note_no=0;
}else{
note_no=note_no+1;
}
}
if(c<850){
noteDuration = 1000/noteDurations[note_no];
tone(10, melody[note_no], noteDuration);
if(note_no>=7){
note_no=0;
}else{
note_no=note_no+1;
}
Serial.println(a);
Serial.println(b);
Serial.println(c);
if(a<850){
noteDuration = 1000/noteDurations[note_no]; // 音符延續時間為1000毫秒/noteDurations陣列內的元素
tone(10, melody[note_no], noteDuration);
if(note_no>=7){ //如果播放到最後一個音符,就將計數器歸0,此處判斷數值為melody陣列元素-1
note_no=0;
}else{
note_no=note_no+1; //計數器+1
}
}
if(b<850){
noteDuration = 1000/noteDurations[note_no];
tone(10, melody[note_no], noteDuration);
if(note_no>=7){
note_no=0;
}else{
note_no=note_no+1;
}
}
if(c<850){
noteDuration = 1000/noteDurations[note_no];
tone(10, melody[note_no], noteDuration);
if(note_no>=7){
note_no=0;
}else{
note_no=note_no+1;
}
}
delay(noteDuration); //延時 noteDuration
delay(noteDuration); //延時 noteDuration
noTone(10);
}
}
沒有留言:
張貼留言