【4Day创客实践入门教程】Day2 探秘微控制器——单片机与MicroPython初步

news2025/2/1 11:51:31

Day2 探秘微控制器——单片机与MicroPython初步

目录

  • Day2 探秘微控制器——单片机与MicroPython初步
    • MicroPython语言基础
      • 开始
      • 基础语法
        • 注释与输出
        • 变量
        • 模块与函数
    • 单片机基础
    • 后记

  • Day0 创想启程——课程与项目预览
  • Day1 工具箱构建——开发环境的构建
  • Day2 探秘微控制器——单片机与MicroPython初步
  • Day3 实战演练——桌面迷你番茄钟
  • Day4 迈向高手之路——进一步学习!

MicroPython语言基础

上一天,我们配置了基本的开发环境,现在我们正式开始学习MicroPython。请你务必拿出电脑,一边看一边完成。

开始

如果你学过Python,可以看看MicroPython 与 CPython 的区别,然后基本忽略这部分内容。

学习MicroPython应该积极翻阅各类相关文档,如

  • 官方文档 http://micropython.com.cn/en/latet/index-2.html
  • 官方网站 https://micropython.org
  • 其他文档教程

如下图,代码区和命令行区的最大不同就是。代码区是编写代码到文件中,再按照顺序执行,而在命令行区同样可以输入MicroPython代码,但是这个代码不能保存且输入一行,按回车,运行一行。

image-20240731123628180

接下来,你可以先在文件管理那里创建一个文件,注意文件名后面要输入.py,否则是识别不到代码文件的。

基础语法

注释与输出

image-20240801144409234

如上图,点击绿色按钮就是运行,红色stop按钮就是强制停止。

注释,顾名思义,在运行过程中,不会运行这行代码,只是起到标注作用。在Python中有两种注释,

  • 单行注释

    #(井号)开头,后面一般跟上一个空格,然后再输入需要注释的内容

    # 这是一个单行注释
    
  • 多行注释

    1. 多个单行注释

      # 这是一个
      # 多行注释
      # print("Hello")
      
    2. 三个'(单引号)''' / 三个"(双引号)"""

      '''
      这是
      一个
      多行
      注释
      '''
      

使用print()可以将字符串打印到终端

print("Hello")
变量

变量非常简单且好用,定义一个名称,给它赋值,然后在必要的时候调用出来,或者进行修改。

变量命名规则(注意)

  • 变量名只能包含数字、字母、下划线
  • 变量名的第一个字符必须是字母或下划线
  • 变量名区分大小写

image-20240801145759372

# 字符串变量
a = "hello"
print(a)
# 整型变量
b = 1
c = 2
print(b+c)
模块与函数

学习导入模块,站在巨人的肩膀上远远重要于去做那些重复的工作,这也非常简单。

在MicroPython中有很多模块,具体用法需要查看具体的文档手册,但是我们这里可以学一些基本的用法。

首先引入一个重要的语句import,在后面跟上模块名称,就能够把这个模块里面所有的函数、常量等导入进来,实现复用。

import random # 导入random随机数模块

接下来我们调用random模块中的randint函数,方法就是在模块名称后面加一个点.和函数名称,random.randint(0,100)

print(random.randint(0,100)) # 输入0到100的随机数

函数的用法呢就是在括号内填入参数,如上代码,第一个参数是0,第二个参数是100。

单片机基础

学习树莓派PICO的单片机基础,可以参考微雪电子官方的【微雪课堂】树莓派 PICO 新手教程-PICO系列教程

在这里插入图片描述

后记

今天我们学习了单片机与MicroPython初步,明天我们将开始我们的项目制作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2289289.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[论文阅读] (37)CCS21 DeepAID:基于深度学习的异常检测(解释)

祝大家新春快乐,蛇年吉祥! 《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢。由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正&#xff0…

Java面试题2025-并发编程进阶(线程池和并发容器类)

线程池 一、什么是线程池 为什么要使用线程池 在开发中,为了提升效率的操作,我们需要将一些业务采用多线程的方式去执行。 比如有一个比较大的任务,可以将任务分成几块,分别交给几个线程去执行,最终做一个汇总就可…

【算法应用】基于鲸鱼优化算法求解OTSU多阈值图像分割问题

目录 1.鲸鱼优化算法WOA 原理2.OTSU多阈值图像分割模型3.结果展示4.参考文献5.代码获取 1.鲸鱼优化算法WOA 原理 SCI二区|鲸鱼优化算法(WOA)原理及实现 2.OTSU多阈值图像分割模型 Otsu 算法(最大类间方差法)设灰度图像有 L L …

设计模式的艺术-策略模式

行为型模式的名称、定义、学习难度和使用频率如下表所示: 1.如何理解策略模式 在策略模式中,可以定义一些独立的类来封装不同的算法,每个类封装一种具体的算法。在这里,每个封装算法的类都可以称之为一种策略(Strategy…

7. 马科维茨资产组合模型+金融研报AI长文本智能体(Qwen-Long)增强方案(理论+Python实战)

目录 0. 承前1. 深度金融研报准备2. 核心AI函数代码讲解2.1 函数概述2.2 输入参数2.3 主要流程2.4 异常处理2.5 清理工作2.7 get_ai_weights函数汇总 3. 汇总代码4. 反思4.1 不足之处4.2 提升思路 5. 启后 0. 承前 本篇博文是对前两篇文章,链接: 5. 马科维茨资产组…

安装Maven(安装包+步骤)

1. 安装: 通过网盘分享的文件:apache-maven-3.9.9 链接: https://pan.baidu.com/s/16AE_brICuw6sS0tC6tmE1Q?pwda74r 提取码: a74r --来自百度网盘超级会员v3的分享 2.新建应该系统变量: 3.path中添加bin文件夹路径 4.建议在这里建一个仓库文件夹 博主的: 5.I…

【云安全】云原生-K8S-搭建/安装/部署

一、准备3台虚拟机 务必保证3台是同样的操作系统! 1、我这里原有1台centos7,为了节省资源和效率,打算通过“创建链接克隆”2台出来 2、克隆之前,先看一下是否存在k8s相关组件,或者docker相关组件 3、卸载原有的docker …

单细胞-第四节 多样本数据分析,下游画图

文件在单细胞\5_GC_py\1_single_cell\2_plots.Rmd 1.细胞数量条形图 rm(list ls()) library(Seurat) load("seu.obj.Rdata")dat as.data.frame(table(Idents(seu.obj))) dat$label paste(dat$Var1,dat$Freq,sep ":") head(dat) library(ggplot2) lib…

【算法】动态规划专题① ——线性DP python

目录 引入简单实现稍加变形举一反三实战演练总结 引入 楼梯有个台阶,每次可以一步上1阶或2阶。一共有多少种不同的上楼方法? 怎么去思考? 假设就只有1个台阶,走法只有:1 只有2台阶: 11,2 只有3台…

知识管理平台在数字经济时代推动企业智慧决策与知识赋能的路径分析

内容概要 在数字经济时代,知识管理平台被视为企业智慧决策与知识赋能的关键工具。其核心作用在于通过高效地整合、存储和分发企业内部的知识资源,促进信息的透明化与便捷化,使得决策者能够在瞬息万变的市场环境中迅速获取所需信息。这不仅提…

LabVIEW微位移平台位移控制系统

本文介绍了基于LabVIEW的微位移平台位移控制系统的研究。通过设计一个闭环控制系统,针对微位移平台的通信驱动问题进行了解决,并提出了一种LabVIEW的应用方案,用于监控和控制微位移平台的位移,从而提高系统的精度和稳定性。 项目背…

java求职学习day23

MySQL 单表 & 约束 & 事务 1. DQL操作单表 1.1 创建数据库,复制表 1) 创建一个新的数据库 db2 CREATE DATABASE db2 CHARACTER SET utf8; 2) 将 db1 数据库中的 emp 表 复制到当前 db2 数据库 1.2 排序 通过 ORDER BY 子句 , 可以将查询出的结果进行排序 ( 排序只…

22.Word:小张-经费联审核结算单❗【16】

目录 NO1.2 NO3.4​ NO5.6.7 NO8邮件合并 MS搜狗输入法 NO1.2 用ms打开文件,而不是wps❗不然后面都没分布局→页面设置→页面大小→页面方向→上下左右:页边距→页码范围:多页:拼页光标处于→布局→分隔符:分节符…

MYSQL 商城系统设计 商品数据表的设计 商品 商品类别 商品选项卡 多表查询

介绍 在开发商品模块时,通常使用分表的方式进行查询以及关联。在通过表连接的方式进行查询。每个商品都有不同的分类,每个不同分类下面都有商品规格可以选择,每个商品分类对应商品规格都有自己的价格和库存。在实际的开发中应该给这些表进行…

python3+TensorFlow 2.x(二) 回归模型

目录 回归算法 1、线性回归 (Linear Regression) 一元线性回归举例 2、非线性回归 3、回归分类 回归算法 回归算法用于预测连续的数值输出。回归分析的目标是建立一个模型,以便根据输入特征预测目标变量,在使用 TensorFlow 2.x 实现线性回归模型时&…

Android --- CameraX讲解

预备知识 surface surfaceView SurfaceHolder surface 是什么? 一句话来说: surface是一块用于填充图像数据的内存。 surfaceView 是什么? 它是一个显示surface 的View。 在app中仍在 ViewHierachy 中,但在wms 中可以理解为…

CentOS7非root用户离线安装Docker及常见问题总结、各种操作系统docker桌面程序下载地址

环境说明 1、安装用户有sudo权限 2、本文讲docker组件安装,不是桌面程序安装 3、本文讲离线安装,不是在线安装 4、目标机器是内网机器,与外部网络不连通 下载 1、下载离线安装包,并上传到$HOME/basic-tool 目录 下载地址&am…

笔记本搭配显示器

笔记本:2022款拯救者Y9000P,显卡RTX3060,分辨率2560*1600,刷新率:165Hz,无DP1.4口 显示器:2024款R27Q,27存,分辨率2560*1600,刷新率:165Hz &…

DeepSeek R1 linux云部署

云平台:AutoDL 模型加载工具:Ollama 参考:https://github.com/ollama/ollama/blob/main/docs/linux.md 下载Ollama 服务器上下载ollama比较慢,因此我使用浏览器先下载到本地电脑上。 https://ollama.com/download/ollama-linux…

UE5.3 C++ CDO的初步理解

一.UObject UObject是所有对象的基类,往上还有UObjectBaseUtility。 注释:所有虚幻引擎对象的基类。对象的类型由基于 UClass 类来定义。 这为创建和使用UObject的对象提供了 函数,并且提供了应在子类中重写的虚函数。 /** * The base cla…