Mixly遥控调光器
使用图形化编程实现遥控器调LED开关以及亮度实验所需硬件:Arduino、红外遥控传感器、遥控器软件:Mixly IDE1.Arduino简介Arduino是一种开源的电子平台,该平台最初主要基于AVR单片机的微控制器和相应的开发软件,目前在国内正受到电子爱好者的广泛关注。Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反映、影响环境。板子上的微控制器可...
使用图形化编程实现遥控器调LED开关以及亮度
实验所需
硬件:Arduino、红外遥控传感器、遥控器
软件:Mixly IDE
1.Arduino简介
Arduino是一种开源的电子平台,该平台最初主要基于AVR单片机的微控制器和相应的开发软件,目前在国内正受到电子爱好者的广泛关注。
Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反映、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。对Arduino的编程是利用Arduino编程语言(基于Wiring)和(Arduino)开发环境(基于Processing)来实现的。
Arduino被设计成一个小型控制器的形式,通过连接到计算机进行控制。Arduino开发过程如下:
(1)开发者设计并连接好电路;
(2)将电路连接到计算机上进行编程;
(3)将编译通过的程序下载到控制板中进行观测;
(4)最后不断修改代码进行调试以达到预期效果。
2.Mixly简介
Mixly是一款用于中小学创意电子教学的图形化编程软件,由北京师范大学米思奇团队开发和维护,它是基于谷歌的图形化开源引擎Blockly进行的开发。现在已经成为国内重要的创客教育编程软件之一。随着2017年7月,国务院发文要求在中小学开展人工智能课程、普及编程教育,Mixly将得到中小学的进一步推广,其未来值得期待。
实验过程
利用Arduino板上的LED灯和红外遥控传感器、遥控器,实现遥控器控制LED灯亮灭以及亮度。
#include <IRremote.h>
IRrecv irrecv_9(9);
decode_results results_9;
long ir_item;
volatile int led;
volatile boolean ledstate;
void setup(){
led = 0;
ledstate = 0;
Serial.begin(9600);
irrecv_9.enableIRIn();
}
void loop(){
if (irrecv_9.decode(&results_9)) {
ir_item=results_9.value;
String type="UNKNOWN";
String typelist[14]={"UNKNOWN", "NEC", "SONY", "RC5", "RC6", "DISH", "SHARP", "PANASONIC", "JVC", "SANYO", "MITSUBISHI", "SAMSUNG", "LG", "WHYNTER"};
if(results_9.decode_type>=1&&results_9.decode_type<=13){
type=typelist[results_9.decode_type];
}
Serial.print("IR TYPE:"+type+" ");
delay(200);
if (ir_item == 0xFF629D) {
ledstate = !ledstate;
led = ledstate * 128;
}
if (ledstate != 0) {
if (ir_item == 0xFFE21D) {
led = constrain(led + 20, 0, 255);
}
if (ir_item == 0xFFA25D) {
led = constrain(led - 20, 0, 255);
}
}
Serial.println(led);
analogWrite(10,led);
irrecv_9.resume();
} else {
}
}
转换为图形化编程如下:
如果想要继续学习Mixly的同学,可以关注我,我会陆续发布更多资源,供大家参考学习
更多推荐
所有评论(0)