arduino analogread_「Arduino」控制LED灯条模拟电池电量显示

在大多数产品中并没有电池电量显示的功能,当我们长时间没有充电想要充电的时候又不知道电量是否还可以支持工作,这样就可能导致浪费资源和时间.
我们今天就使用Arduino和LED灯条模块模拟显示电池的电量显示。材料清单:
Arduino uno R3 板子 *1
USB 数据线 *1
灯条模块 *1
10K电阻 *2
杜邦线若干首先硬件电路的连接如下:

8d9dc0a54e1ebfd65d4a700c655d0462.png

Arduino代码:

/*********************************************************** File name: _32_LEDBarModule.ino Description: This example will show you how to use the setBits() function of this library.Set any combination of LEDs using 10 bits. The setBits() function sets the current state, one bit for each LED.First 10 bits from the right control the 10 LEDs. eg. 0b00000jihgfedcba a = LED 1, b = LED 2, c = LED 3, etc. dec hex binary 0 = 0x0 = 0b000000000000000 = all LEDs off 5 = 0x05 = 0b000000000000101 = LEDs 1 and 3 on, all others off 341 = 0x155 = 0b000000101010101 = LEDs 1,3,5,7,9 on, 2,4,6,8,10 off 1023 = 0x3ff = 0b000001111111111 = all LEDs on | | 10 1. Website: www.gewbot.com Date: 2017/03/17 ***********************************************************/ #include#define PIN7 7#define PIN8 8Adeept_Bar bar(PIN7, PIN8); // Clock pin7, Data pin8double a;void setup(){bar.begin(); // initialize}void loop(){// Turn on LED 1bar.setBits(0b000000000000001);// 0b000000000000001 can also be written as 0x1:delay(500);// Turn on LED 12bar.setBits(0b000000000000011);// 0b000000000000011 can also be written as 0x3:delay(500);// Turn on LED 123bar.setBits(0b000000000000111);// 0b000000000000111 can also be written as 0x7:delay(500);// Turn on LED 1234bar.setBits(0b000000000001111);// 0b000000000001111 can also be written as 0xf:delay(500);// Turn on LED 12345bar.setBits(0b000000000011111);// 0b000000000011111 can also be written as 0x1f:delay(500);// Turn on LED 123456bar.setBits(0b000000000111111);// 0b000000000111111 can also be written as 0x3f:delay(500);// Turn on LED 1234567bar.setBits(0b000000001111111);// 0b000000001111111 can also be written as 0x7f:delay(500);// Turn on LED 12345678bar.setBits(0b000000011111111);// 0b000000011111111 can also be written as 0xff:delay(500);// Turn on LED 123456789bar.setBits(0b000000111111111);// 0b000000111111111 can also be written as 0x1ff:delay(500);// Turn on all LEDsbar.setBits(0x3ff);delay(500);// Turn on LED 123456789bar.setBits(0b000000111111111);// 0b000000111111111 can also be written as 0x1ff:delay(500);// Turn on LED 12345678bar.setBits(0b000000011111111);// 0b000000011111111 can also be written as 0xff:delay(500);// Turn on LED 1234567bar.setBits(0b000000001111111);// 0b000000001111111 can also be written as 0x7f:delay(500);// Turn on LED 123456bar.setBits(0b000000000111111);// 0b000000000111111 can also be written as 0x3f:delay(500);// Turn on LED 12345bar.setBits(0b000000000011111);// 0b000000000011111 can also be written as 0x1f:delay(500);// Turn on LED 1234bar.setBits(0b000000000001111);// 0b000000000001111 can also be written as 0xf:delay(500);// Turn on LED 123bar.setBits(0b000000000000111);// 0b000000000000111 can also be written as 0x7:delay(500);// Turn on LED 12bar.setBits(0b000000000000011);// 0b000000000000011 can also be written as 0x3:delay(500);// Turn on LED 1bar.setBits(0b000000000000001);// 0b000000000000001 can also be written as 0x1:delay(500);a=(double)(analogRead(A0)-20)/100;//将A0输入信号转换为0-1023之间的数值//判断a点获取的电压值是否在这个区间if(a>3.0&&a3.5&&a4&&a4.5&&a<5){bar.setBits(0b000000000111111);// 0b000000000000001 can also be written as 0x1:}else{bar.setBits(0b000000111111111);}}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值