朋友们大家好,今天跟大家分享的是开源硬件编程。
一、micro:bit from BBC介绍
• 25个独立编程的LED
• 2个可编程的按钮
• 1个reset按钮
• microUSB接口
• 3V电源接口
• 光线传感器、温度传感器
• 加速计、电子罗盘
• 无线通信:射频以及蓝牙
二、micro:bit扩展引脚
• 电路板边缘23个引脚
• 3.3V,GND
• 21个GPIO
• 6个ADC,模拟输入10bit
• 6个PWN DAC
• I2C总线
• SPI串口
• UART串口
三、掌控板介绍
1.ESP-32主控
• 双核处理器,240MHz
• 内存:520KB,Flash 8MB
• WiFi,蓝牙
2.传感器
• 加速计,磁力计
• 光线传感器,麦克风
• 3*全彩LED,1.3寸OLED屏128*64
• 无源蜂鸣器
• 2*按键AB,6*触摸键
3.掌控板拓展接口
• 20通道数字I/O, (其中支持12路PWM,6路触摸输入) • 5通道12bit模拟输入ADC,P0~P4
• 1路的外部输入鳄鱼夹接口:EXT/GND
• 支持I2C、UART、SPI通讯协议
四、AIoT单片机:MAIX Dock
国产RISCV芯片K210
• 双核64bit,400MHz
• 8MB RAM/16M Flash
• WiFi
• 摄像头/LCD接口
• CNN神经网络加速
• 图像、视频、音频处理
五、micropython单片机编程的过程
在PC上编写程序下载到单片机运行,并观察运行结果,片机可以脱离PC自主运 行程序,只需要正常供电即可,错误的话再回到PC上修改。重复上述过程。
六、举例
1.写一个程序:Hello World!
• microbit基本硬件的访问都在模块microbit中
• 通常,首先导入microbit模块的所有对象
• 我们来写第一个helloworld程序
2. 内置Image对象
microbit模块内置了数十个Image对象,可以直接调用Image.HAPPY
图片Image.HAPPY在硬件上显示出来
3. 事件循环和处理
如果是检测按钮动作,一般需要无限循环来等待事件发生
• while True:
• 判断is_pressed()是否True
• 可以用逻辑运算符连接条 件
• 同时成立and
• 任一成立or
• 成立not
4. 音乐模块
• music模块可以从引脚输出音乐,由喇叭播放
• 内置音乐乐曲
• 由音符编写乐曲
• 发出指定频率声音
5. 音符和组成乐曲
1. 音符的格式
• 音符[八度][:时长]
• 音符:CDEFGAB, #, b, R
• 八度:0~8,4是中音
• 时长:整数,tick的数量
2. music.play
• 单个音符,或者音符的序列
• pin=pin0:播放的引脚
• wait=True:等待播放结束
• loop=False:无限循环