接下來這篇就不要用PC來控制藍芽風扇,
進階點來由紅外線避障模組來控制吧。
我本來想過完年去找我們公司的黃杯杯問一下Code,因為我自己寫風扇都不會動XD
結果剛剛被我寫成功了,整整寫了2天。
來看配置,下圖是Slave端。
一樣就是觸發繼電器給5V風扇。
再來是Master端,MCU用Nano,Trigger用一個紅外線避障模組。
結果就是這樣,程式寫了2天,總算成功了。
因為我C語言的能力不太好,畢竟是自學的,容易被卡小地方。
來看程式 :
Master端 :
#include <SoftwareSerial.h>
SoftwareSerial BT(8, 9);
int val;
void setup() {
Serial.begin(9600);
Serial.println("BT is ready!");
pinMode(3,INPUT);
BT.begin(38400);
}
void loop() {
val=digitalRead(3);
if(val!=HIGH)
//我也有卡這邊,我忘了紅外線避障是觸發低電位。
{
BT.write(100);
delay(1000);
}
delay(50);
}
Slave端 :
#include <SoftwareSerial.h>
SoftwareSerial BT(8, 9);
int val;
int pos=0;
void setup() {
BT.begin(38400);
Serial.begin(9600);
pinMode(10, OUTPUT);
}
void loop() {
if (BT.available()>0) {
val = BT.read();
if(val==100&&pos==0)
//這部分也可以用Boolean,切換開關模式,每次觸發改變HIGH、LOW與按下、未按下。
{
digitalWrite(10,HIGH);
pos=1;
}
else if(val==100&&pos==1)
{
digitalWrite(10,LOW);
pos=0;
}
}
}
程式不長,但搞很久。
沒有留言:
張貼留言