|
- //主机程序
- int button_open =4;//开灯按钮连在数字端口4
- int button_close =5; //关灯按钮连在数字端口5
- char flag;//向从机发送灯的亮灭标志
- void setup(){
- pinMode(button_open, INPUT);
- pinMode(button_close, INPUT);
- Serial.begin(9600);//设置串行通信的波特率 }
- void loop() {
- //如果开灯按钮按下同时关灯按钮松开
- if( digitalRead(button_open)==LOW&&digitalRead(button_close)==HIGH)
- {
- flag='a';
- Serial.print(flag);//向从机发送灯亮标志}
- if(digitalRead(button_close)==LOW&&digitalRead(button_open)==HIGH)
- { flag='b';
- Serial.print(flag);//向从机发送灯灭标志
- }
- delay(20);//延时,等待数据发送成功
- }
- //从机程序
- int ledpin=9;//声明LED的数字接口编号
- int val;//接受主机发来的LED灯状态标志
- void setup()
- {
- pinMode(ledpin,OUTPUT);//设置LED灯为输出
- digitalWrite(ledpin,HIGH);//初始化是LED灯熄灭
- Serial.begin(9600);//设置串行通信的波特率
- }
- void loop() { if(Serial.available()>0) //查询串口有无数据
- { val=Serial.read();//读取主机发送的数据
- if(val=='a')//如果主机发送字符'a',则熄灭LED
- {
- digitalWrite(ledpin,LOW);//LED点亮
- }
- if(val=='b')//如果主机发送字符'b',则亮LED
- {
- digitalWrite(ledpin,HIGH);//LED熄灭
- }
- }
- //用APC220无限数传向上位机传数据不能太快
- //如果delay(40)会出问题
- delay(80);
- }<!--EndFragment-->
复制代码
如上接线图
|
-
-
程序.pdf
61 KB, 下载次数: 10, 下载积分: 黑币 -5
|