Arduino米思齐Mixly---旋转可调灯

文章目录

  • 实验材料与环境
  • 【实验】旋转可调灯
    • 1.软硬件连接
    • 2.图形化编程块
    • 3.代码块
    • 4.效果

实验材料与环境

硬件:Arduino、LED灯、按键、电位器、LCD1602液晶显示器、面包板、I2C转接板
软件:Mixly IDE

【实验】旋转可调灯

达到效果:通过按键把灯打开,通过旋转电位器来实现调控灯的亮度,液晶屏显示灯的亮度值。灯没打开时,电位器旋转不起效果。

1.软硬件连接

电位器的接法:
Arduino米思齐Mixly---旋转可调灯_第1张图片
我的接法是:
电位器:接地的接GND,输出接A0,输入接5V (电位器的范围是:0-1023)
转接板:GND对GND,vcc接5v,scl接A1,sda接A2
灯:9号
按键:6号
Arduino米思齐Mixly---旋转可调灯_第2张图片

2.图形化编程块

Arduino米思齐Mixly---旋转可调灯_第3张图片

3.代码块

#include 
#include 

volatile int LED;
LiquidCrystal_SoftI2C mylcd(0x27,16,2,A1,A2);
volatile boolean flag;

void setup(){
  mylcd.init();
  mylcd.backlight();
  pinMode(6, INPUT);
  Serial.begin(9600);
  flag = 0;
  LED = 0;
  pinMode(6, INPUT_PULLUP);
}

void loop(){
  if (digitalRead(6) == LOW) {
    delay(20);
    if (digitalRead(6) == LOW) {
      flag = !flag;

    }

  }
  if (flag == 1) {
    Serial.println(analogRead(A0));
    analogWrite(9,(map(analogRead(A0), 1, 1023, 1, 255)));
    LED = (map(analogRead(A0), 0, 1023, 0, 255));

  } else {
    analogWrite(9,0);
    LED = 0;

  }
  mylcd.setCursor(0, 0);
  mylcd.print("2017764325 LED:");
  mylcd.setCursor(0, 1);
  mylcd.print(LED);

}

4.效果

B站:https://www.bilibili.com/video/av74153823/
Arduino米思齐Mixly---旋转可调灯_第4张图片

你可能感兴趣的:(Mixly)