2552|20

1万

帖子

25

TA的资源

版主

楼主
 

【CLUE】使用CircuitPython编程 [复制链接]

 
 

CLUE开发板带有高分辨率屏幕和多种传感器,可玩性很高。CLUE目前最佳的编程方式是使用CircuitPython,另外还可以使用arduino,图形化编程方面makecode暂时还不支持(应该只是时间问题)。

 

在CLUE上使用CircuitPython编程时,首先需要更新开发板的固件和库。CLUE开发板自带的固件版本较低,需要更新才支持新的功能。而绑定库需要到网站下载。

 

 

在更新固件,并下载绑定库后,需要从绑定库中复制下面的库文件到CLUE的 lib 目录中,这样才能使用各种功能:

 

最新回复

感谢分享,期待后续的测评计划帖子哈,我也会持续关注你的哈!!!   详情 回复 发表于 2021-2-17 15:52

赞赏

1

查看全部赞赏

点赞(1) 关注
 
 

回复
举报

1万

帖子

25

TA的资源

版主

沙发
 

LED的使用

 

CLUE开发板有两组LED,正面的两个白光LED和反面的红色LED。LED的使用非常简单,直接设置对应语句为True或False就可以。

 

from adafruit_clue import clue
 
clue.red_led = True
clue.white_leds = True

 

注意和MicroPython语法上的区别

 
 
 

回复

1万

帖子

25

TA的资源

版主

板凳
 

板载NeoPixel RGB LED

 

CLUE上带有一个WS2812,它的使用方法如下:

 

from adafruit_clue import clue
import time
from random import randrange
 
while True:
    clue.pixel.fill((randrange(64),randrange(64),randrange(64)))
    time.sleep(0.1)

 

如果是外置的WS2812,使用方法也是类似,只是需要先定义好相应的引脚。

 

 

 
 
 

回复

1万

帖子

25

TA的资源

版主

4
 

加速度(acceleration)

 

CLUE板载加速度计的使用方法

 

from adafruit_clue import clue
import time
 
while True:
    print("Accel: {:.2f} {:.2f} {:.2f}".format(*clue.acceleration))
    time.sleep(0.1)

 

 
 
 

回复

1万

帖子

25

TA的资源

版主

5
 

摇晃(shake)

 

摇晃检测是通过加速度计实现的,对应的函数是:

 

shake(shake_threshold=30, avg_count=10, total_delay=0.1)

  • shake_threshold,门限,数值(最小为10)越小灵敏度越高。

  • avg_count,平均次数,默认为10

  • total_delay,获取加速度值的总时间

 

shake(shake_threshold=30, avg_count=10, total_delay=0.1)

 

 
 
 

回复

1万

帖子

25

TA的资源

版主

6
 

角速度(gyro)

 

角速度传感器的使用方法:

 

from adafruit_clue import clue
import time
 
while True:
    print("Gyro: {:.2f} {:.2f} {:.2f}".format(*clue.gyro))
    time.sleep(0.1)

 

 
 
 

回复

1万

帖子

25

TA的资源

版主

7
 

地磁传感器(magnetic)

 

地磁可以检测三个方向的磁场强度。配合加速度传感器校正后还可以做指南针

 

from adafruit_clue import clue
import time
 
while True:
    print("Magnetic: {:.3f} {:.3f} {:.3f}".format(*clue.magnetic))
    time.sleep(0.1)

 

 
 
 

回复

1万

帖子

25

TA的资源

版主

8
 

气压(pressure)

 

板子气压传感器的用法

 

from adafruit_clue import clue
 
print("Pressure: {:.3f}hPa".format(clue.pressure))

 

 
 
 

回复

1万

帖子

25

TA的资源

版主

9
 
本帖最后由 dcexpert 于 2021-2-10 13:28 编辑

高度(altitude)

 

高度是通过气压换算出来的。可以通过海平面气压(sea_level_pressure),对海拔高度测量校正。

 

from adafruit_clue import clue
 
clue.sea_level_pressure = 1015
 
print("Altitude: {:.1f}m".format(clue.altitude))

 

 
 
 

回复

1万

帖子

25

TA的资源

版主

10
 

按键A/B

 

CLUE和microbit一样,有AB两个按键,程序可以直接读取按键状态。

 

from adafruit_clue import clue
import time
 
while True:
    if clue.button_a:
        print("Button A pressed")
    if clue.button_b:
        print("Button B pressed")
    time.sleep(0.1)

 

还可以判读一段时间中,是否按下过某个键

from adafruit_clue import clue
import time
 
while True:
    print(clue.were_pressed)
    time.sleep(2)

 

 
 
 

回复

1万

帖子

25

TA的资源

版主

11
 

触摸按键

 

CLUE金手指上的0/1/2三个焊盘支持电容触摸功能

from adafruit_clue import clue
 
while True:
    if clue.touch_0:
        print("Touched pad 0")
    if clue.touch_1:
        print("Touched pad 1")
    if clue.touch_2:
        print("Touched pad 2")

 

 
 
 

回复

1万

帖子

25

TA的资源

版主

12
 

颜色(color)

 

板载的APDS9960是一个多功能光学传感器,支持颜色、接近、手势等功能。下面程序显示了颜色数值:

 

from adafruit_clue import clue
import time
 
while True:
    print("Color: R: {} G: {} B: {} C: {}".format(*clue.color))
    time.sleep(1)

 

 
 
 

回复

1万

帖子

25

TA的资源

版主

13
 

手势识别(gesture)

 

手势函数gesture返回值的含义

  • 0 - 未检测到

  • 1 - 上

  • 2 - 下

  • 3 - 左

  • 4 - 右

from adafruit_clue import clue
import time
 
while True:
    value = clue.gesture
    if value:
        print("gesture: {}".format(value))
    time.sleep(0.1)

 

 
 
 

回复

1万

帖子

25

TA的资源

版主

14
 

接近传感器(proximity)

 

返回值0-255,数字越大距离越近

 

from adafruit_clue import clue
import time
 
while True:
    print("Proximity: {}".format(clue.proximity))
    time.sleep(0.2)

 

 
 
 

回复

1万

帖子

25

TA的资源

版主

15
 

温度(temperature)和湿度(humidity)

 

温湿度是通过BMP280传感器采集的

 

from adafruit_clue import clue
import time
 
while True:
    print("Humidity: {:.1f}%".format(clue.humidity))
    print("Temperature: {:.1f}C".format(clue.temperature))
    time.sleep(1)

 

 
 
 

回复

1万

帖子

25

TA的资源

版主

16
 

声音

 

CLUE上有MIC传感器,可以读取环境噪声

from adafruit_clue import clue
 
while True:
    if clue.loud_sound():
        clue.pixel.fill((0, 50, 0))
    else:
        clue.pixel.fill(0)

 

可以通过参数设置灵敏度

clue.loud_sound(sound_threshold=300)

 

 
 
 

回复

1万

帖子

25

TA的资源

版主

17
 

蜂鸣器(play_tone)

 

CLUE带有一个微型无源蜂鸣器,可以用来发声和播放简单音乐。

 

play_tone(frequency, duration)

  • frequency (int) – The frequency of the tone in Hz

  • duration (float) – The duration of the tone in seconds

for i in range(30):
    clue.play_tone(1000+i*50, 0.05)

 

注意音量比较小

 
 
 

回复

1万

帖子

25

TA的资源

版主

18
 

显示简单文字(simple_text_display)

 

CLUE可以通过下面函数显示多行文字,每行的文字、颜色、大小、字体都可以单独设置

 

simple_text_display(title=None, title_color=(255, 255, 255), title_scale=1, text_scale=1, font=None, colors=None)

  • title,标题(第一行)

  • title_color,标题颜色,默认是(255, 255, 255)

  • title_scale,标题显示比例

  • text_scale,文字显示比例

  • font,字体,默认是内置的terminalio.FONT

  • colors,文字颜色列表,

from adafruit_clue import clue
 
clue_data = clue.simple_text_display(title="CLUE Sensor Data!", title_scale=2)
 
while True:
    clue_data[0].text = "Acceleration: {:.2f} {:.2f} {:.2f}".format(*clue.acceleration)
    clue_data[1].text = "Gyro: {:.2f} {:.2f} {:.2f}".format(*clue.gyro)
    clue_data[2].text = "Magnetic: {:.3f} {:.3f} {:.3f}".format(*clue.magnetic)
    clue_data.show()

 

 
 
 

回复

1万

帖子

2854

TA的资源

管理员

19
 

这个板子感觉挺好玩的,年后也去争取看看能不能搞来做测评

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名

玩板看这里:

https://bbs.eeworld.com.cn/elecplay.html

EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!

 
 
 

回复

1万

帖子

25

TA的资源

版主

20
 
okhxyyo 发表于 2021-2-11 17:30 这个板子感觉挺好玩的,年后也去争取看看能不能搞来做测评

这是标准版的CLUE,现在ESP32-S2版的CLUE也出来了,把它也作为备选型号吧

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表