使用图形化编程实现数位计控制LED灯亮度及1602屏显示亮度的值

实验所需

硬件:Arduino、LED灯、数位计、1602屏
软件: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灯、数位计、1602屏,实现数位计控制LED灯亮度。

#include <LiquidCrystal_SoftI2C.h>
#include <SoftI2CMaster.h>

LiquidCrystal_SoftI2C mylcd(0x27,16,2,A1,A2);
volatile boolean ledstate;

void setup(){
  pinMode(3, OUTPUT);
  ledstate = 0;
  mylcd.init();
  mylcd.backlight();
  digitalWrite(3,LOW);
  pinMode(10, INPUT_PULLUP);
  Serial.begin(9600);
}

void loop(){
  Serial.println(digitalRead(10));
  while (digitalRead(10) == 1) {
  }
  if (ledstate == 0) {
    analogWrite(3,125);
    ledstate = !ledstate;
    while (analogRead(A0)) {
      analogWrite(3,(map(analogRead(A0), 0, 1023, 0, 255)));
      Serial.println(analogRead(A0));
      mylcd.setCursor(0, 0);
      mylcd.print("2017764309 ");
      mylcd.setCursor(0, 1);
      mylcd.print(analogRead(A0));
    }

  } else {
    digitalWrite(3,LOW);
    ledstate = !ledstate;
  }
  delay(1000);
}

转换为图形化编程如下:
在这里插入图片描述

实验效果图以及视频

效果图:
在这里插入图片描述

如果想要继续学习Mixly的同学,可以关注我,我会陆续发布更多资源,供大家参考学习

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐