Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    点灯—R329智能语音开发板入门

    A Series
    1
    1
    1295
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • miumiu
      WOW LV 5 last edited by

      转载自:https://aijishu.com/a/1060000000191874
      等成功用串口或者ADB连接开发板之后,就可以通过终端命令对开发板进行控制了。

      接下来会介绍Tina Linux系统封装几个模块,您可以通过命令启动这几个模块的demo,操控终端几个模块的软硬件。首先是我们大学单片机课程中的必修课:点灯

      R329支持LEDC,LEDC全称 “Light Emitting Diode Controller”,是借助Linux LED标准子系统实现的LED控制模块,可以对LED灯进行点亮、亮度调节、闪烁、阵列控制等操作。LEDC模块在无屏幕智能音箱上用得很多,比如在等待配对、唤醒、音乐播放等场景,LED灯会以不同的效果表示当前状态。

      内置固件已经编译好了LEDC模块,可以直接对LED节点进行控制从而点亮LED灯。

      进入LED灯路径
      首先,我们可以进入LED节点的位置查看一个LED灯三个颜色的节点(R G B):

      root@TinaLinux:/# cd /sys/class/leds/
      root@TinaLinux:/sys/class/leds# ls
      sunxi_led0b sunxi_led0g sunxi_led0r

      24e3d48d-c0fb-4698-bbad-6de58979f78a-image.png

      查看LED灯的配置
      三个节点分别代三个颜色,我们可以进入一个颜色节点,比如红色(R):

      root@TinaLinux:/sys/class/leds# cd sunxi_led0r/
      root@TinaLinux:/sys/devices/platform/soc/ledc/leds/sunxi_led0r# ls
      brightness device subsystem
      delay_off max_brightness trigger
      delay_on power uevent

      6503f945-c86c-41d1-a239-3abe05d7f770-image.png

      可以看到LEDC已经做好了很多LEDC的基本操作,包括亮度调节、闪烁、延时等。

      点亮一个灯
      如果我们要点亮其中一个颜色,可以把亮度值写到 brightness 里,亮度值最高为255:

      root@TinaLinux:/sys/devices/platform/soc/ledc/leds/sunxi_led0r# echo 255 > brightness
      此时LED灯会被点亮

      54b88b6b-a8dd-425c-9b14-ab7e295fcae2-image.png

      调节亮度
      如果要调节亮度值的话,只需调节写到 brightness 的值即可,亮度值范围为0~255,0代表熄灭,255代表最亮:

      root@TinaLinux:/sys/devices/platform/soc/ledc/leds/sunxi_led0r# echo 255 > brightness
      root@TinaLinux:/sys/devices/platform/soc/ledc/leds/sunxi_led0r# echo 100 > brightness
      root@TinaLinux:/sys/devices/platform/soc/ledc/leds/sunxi_led0r# echo 10 > brightness
      root@TinaLinux:/sys/devices/platform/soc/ledc/leds/sunxi_led0r# echo 0 > brightness

      af72cbe4-c1be-480d-aa2e-7443c4fb2ba8-image.png

      4bbdf1d8-2b50-4fb7-944e-9d697006c6f5-image.png

      点亮其它颜色的灯
      如果要点亮其它颜色的灯 ,只需要参照红灯,将亮度值写到绿灯和蓝灯的 brightness 里即可:

      root@TinaLinux:/sys/class/leds# echo 255 > sunxi_led0g/brightness
      root@TinaLinux:/sys/class/leds# echo 0 > sunxi_led0g/brightness
      root@TinaLinux:/sys/class/leds# echo 255 > sunxi_led0b/brightness
      root@TinaLinux:/sys/class/leds# echo 0 > sunxi_led0b/brightness

      6c9ef336-6d3f-46d3-ade6-14cfe8e8f733-image.png

      bdc23a46-5c7e-442b-940f-26d383a569e5-image.png

      闪烁
      如果要实现LED灯闪烁的效果,把 timer 写到 trigger 即可:

      root@TinaLinux:/sys/class/leds# echo timer > sunxi_led0r/trigger
      如果你看到灯亮了,那么恭喜你,它将照亮你嵌入式开发学习的路。

      LED灯阵列操作、模块配置、源码结构、内外部接口等进阶操作请见开发文档《Tina Linux LED开发指南》:《Tina Linux LED开发指南》下载

      同时,还可以使用三个PWM接口对LED的三色灯进行控制,但需要占用较多的引脚和资源。

      温馨tips:如想了解更多R329相关开发信息
      点击查看 全志科技R329智能语音开发板详细资料
      https://r329.docs.allwinnertech.com/zh_CN/latest/

      1 Reply Last reply Reply Quote Share 0
      • 1 / 1
      • First post
        Last post

      Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

      行为准则 | 用户协议 | 隐私权政策