这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » Let'sDo第3期任务-电子测光表-任务提交

共3条 1/1 1 跳转至

Let'sDo第3期任务-电子测光表-任务提交

菜鸟
2024-12-26 17:22:42     打赏

Let's Do 第3期任务提交

很开心能够参加这次的Let's Do 第3期活动,

这次我选择的开发板是

基础任务:

1 编程实现按键状态的采集

 

import board
import digitalio
import time
led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT
button = digitalio.DigitalInOut(board.D0)
button.switch_to_input(pull=digitalio.Pull.UP)
while True:
    print(button.value)
    time.sleep(0.1)
    if not button.value:
        led.value = True
    else:
        led.value = False


 

这里的button = digitalio.DigitalInOut(board.D5)

修改括号中的引脚到自己需要的就可以,比如如果用板子上的按键D0,就把D5改成D0就可以。

 1.gif

2 编程实现数字光传感器BH1750的数据读取

import time
import board
import adafruit_bh1750
 
i2c = board.I2C() 
sensor = adafruit_bh1750.BH1750(i2c)
 
while True:
    print("%.2f Lux" % sensor.lux)
time.sleep(1)


 

这个就很简单,把传感器接到板子的IIC接口,运行文档里的示例就可以。

 

2.gif

3 基于屏幕驱动函数实现字符的显示,例如显示Hello EEPW & DigiKey;也可显示自己喜欢的名言警句

这里我选择的是显示“Hello EEPW & DigiKey”。一行显示不开,分两行显示。

 

import board
import terminalio
from adafruit_display_text import outlined_label
 
text = "Hello EEPW\n   & DigiKey!"
 
text_area = outlined_label.OutlinedLabel(
    terminalio.FONT,
    text=text,
    color=0xFF0000,
    outline_color=0x00FFff,
    outline_size=1,
    padding_left=2,
    padding_right=2,
    padding_top=2,
    padding_bottom=2,
    scale=3,
)
text_area.anchor_point = (0, 0)
text_area.anchored_position = (10, 24)
board.DISPLAY.root_group = text_area
 
while True:
pass


这里注意要先下载adafruit_display_text

 76a1985b6f6f09e793358129dc7a697.jpg

4 实现光强信息的屏幕显示

任务4就是对前面的综合运用。

import time
import board
import adafruit_bh1750
import terminalio
from adafruit_display_text import outlined_label
import math
 
i2c = board.I2C()
sensor = adafruit_bh1750.BH1750(i2c)
 
text = "Hello EEPW\n   & DigiKey!"
 
text_lux = outlined_label.OutlinedLabel(
    terminalio.FONT,
    text=text,
    color=0xFF0000,
    outline_color=0x00FFff,
    outline_size=1,
    padding_left=2,
    padding_right=2,
    padding_top=2,
    padding_bottom=2,
    scale=3,
)
text_lux.anchor_point = (0, 0)
text_lux.anchored_position = (10, 10)
board.DISPLAY.root_group = text_lux
 
while True:
    print("%.2f Lux" % sensor.lux)
    lux="%.2f Lux\n" % sensor.lux
    ev="%.2f Evhj" %(2 + math.log(float(sensor.lux) / 10, 2))
    text_lux.text= lux + ev
    time.sleep(1)

4.gif

 

感谢EEPW和得捷联合举办这次活动,通过这次活动我又加深了对circuitPython的了解和喜爱,学习了bh1750光线传感器的使用和使用circuitPython驱动ST7789屏幕显示的方法,收益良多。



工程师
2024-12-26 20:03:59     打赏
2楼

玩的好6啊


专家
2024-12-26 22:27:02     打赏
3楼

感谢分享


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]