343|0

69

帖子

4

TA的资源

一粒金砂(中级)

楼主
 

【Follow me第二季第1期】任务0:开发环境搭建,板载LED点亮 [复制链接]

 

大家好,我是郑工,尘世间一个迷途小工程师。

 

昨天给大家分享了开箱帖,今天迫不及待就完成了Follow me的基础任务,搭载开发环境,点亮第一个LED灯。

 

这次使用的核心板Circuit Playground Express,简称CPX有非常丰富的板载功能。可以使用微软MakeCode,CircuitPython,Arduino还有Code.org CSD四个方式开发。

 

我们这个帖子,我用的是CircuitPython的方式开发。

 

首先是搭建开发环境。主要还是参考下面官方网址:

CircuitPython | Adafruit Circuit Playground Express | Adafruit Learning System

 

一、升级CPX固件

 

1、下载最新版的cp Circuit Playground Express Download (circuitpython.org)

2、选择US,下载.UF2

3、内置的模块有 adafruit_bus_device, adafruit_pixelbuf, analogio, array, audiobusio, audiocore, audioio, bitbangio, board, builtins, busio, busio.SPI, busio.UART, codeop, collections, countio, digitalio, errno, locale, math, microcontroller, neopixel_write, nvm, onewireio, os, pulseio, pwmio, rainbowio, random, rotaryio, rtc, storage, struct, supervisor, sys, time, touchio, usb_cdc, usb_hid, usb_midi, warnings。后面要用可以查一下看看

 

4、我这里的文件名叫adafruit-circuitpython-circuitplayground_express-en_US-9.1.1.uf2,大家可以参考一下

5、把板子连接电脑,快速点击RESET按键两次,板子上所有指示灯会变成绿色,如果变成红色,请检查一下usb线(如果确认不是线的问题,就单击一下,第一次上电的情况)

 

电脑会多出一个叫CPLAYBOOT的盘,把固件拖到盘里

 

成功后,盘的名字会变成CIRCUITPY,我们就是在这个

 

二、安装开发环境Mu

 

下面就安装Mu软件了Download Mu (codewith.mu)

下载软件安装包

 

安装后第一次打开选择模式为CircuitPython

 

 

编译器右下角会显示CircuitPython,同时这个芯片表示已经连接好CPX的板子,无连接的话,芯片上会有个红色的叉

 

 

至此开发环境已经搭建完成了,大家可以在MU上编程,编程后点击检查校验代码对错,然后保存到CIRCUITPY盘里的code.py文件。

 

 

三、点亮LED灯

 

点亮LED会用到的模块有board,digitalio,time

import board
import digitalio
import time

然后初始化管脚

led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT

简单的闪烁我觉得有些简单了,整了点花活,做了个简单的呼吸灯程序,代码如下

timeOn = 0
step = 0.0001   #duty is 0.01s -> 100Hz
isIncrease = True

def onLed(onTime, duty):
    if onTime > 0:
        led.value = True
        time.sleep(onTime)
    if duty - onTime > 0:
        led.value = False
        time.sleep(duty - onTime)
    
    
while True:
    if isIncrease:
        timeOn = 0 - step
    for i in range(100):
        if isIncrease:
            timeOn = timeOn + step
        else:
            timeOn = timeOn - step
        onLed(timeOn, step * 100)
        
    for i in range(100):
        onLed(timeOn, step * 100)
    isIncrease = not isIncrease

程序逻辑就是不断更改led的占空比。

 

大家有什么问题,欢迎留言哈。

点赞(1) 关注
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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