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

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初步,明天我们将开始我们的项目制作。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

动态规划每日一练(四)

一、day1——最长数对链 题目链接&#xff1a; 646. 最长数对链 - 力扣&#xff08;LeetCode&#xff09;646. 最长数对链 - 给你一个由 n 个数对组成的数对数组 pairs &#xff0c;其中 pairs[i] [lefti, righti] 且 lefti < righti 。现在&#xff0c;我们定义一种 跟随…

事务02之锁机制

锁机制 文章目录 锁机制一&#xff1a;MySQL锁的由来与分类1&#xff1a;锁机制的分类 二&#xff1a;共享锁与排他锁1&#xff1a;共享锁(S锁)2&#xff1a;排他锁(X锁)3&#xff1a;锁的释放 二&#xff1a;表级别锁1&#xff1a;元数据锁(了解)2&#xff1a;意向锁3&#xf…

网络工程师 (8)存储管理

一、页式存储基本原理 &#xff08;一&#xff09;内存划分 页式存储首先将内存物理空间划分成大小相等的存储块&#xff0c;这些块通常被称为“页帧”或“物理页”。每个页帧的大小是固定的&#xff0c;例如常见的页帧大小有4KB、8KB等&#xff0c;这个大小由操作系统决定。同…

[EAI-026] DeepSeek-VL2 技术报告解读

Paper Card 论文标题&#xff1a;DeepSeek-VL2: Mixture-of-Experts Vision-Language Models for Advanced Multimodal Understanding 论文作者&#xff1a;Zhiyu Wu, Xiaokang Chen, Zizheng Pan, Xingchao Liu, Wen Liu, Damai Dai, Huazuo Gao, Yiyang Ma, Chengyue Wu, Bin…

(动态规划路径基础 最小路径和)leetcode 64

视频教程 1.初始化dp数组&#xff0c;初始化边界 2、从[1行到n-1行][1列到m-1列]依次赋值 #include<vector> #include<algorithm> #include <iostream>using namespace std; int main() {vector<vector<int>> grid { {1,3,1},{1,5,1},{4,2,1}…

cf1000(div.2)

Minimal Coprime最小公倍数 输入&#xff1a; 6 1 2 1 10 49 49 69 420 1 1 9982 44353 输出&#xff1a; 1 9 0 351 1 34371 代码

【单细胞第二节:单细胞示例数据分析-GSE218208】

GSE218208 1.创建Seurat对象 #untar(“GSE218208_RAW.tar”) rm(list ls()) a data.table::fread("GSM6736629_10x-PBMC-1_ds0.1974_CountMatrix.tsv.gz",data.table F) a[1:4,1:4] library(tidyverse) a$alias:gene str_split(a$alias:gene,":",si…

事务04之死锁,锁底层和隔离机制原理

死锁和事务底层原理 文章目录 死锁和事务底层原理一&#xff1a;MySQL中的死锁现象1&#xff1a;何为死锁1.1&#xff1a;死锁的概念1.2&#xff1a;死锁产生的四个必要条件&#xff1a; 2&#xff1a;MySQL的死锁2.1&#xff1a;死锁的触发2.2&#xff1a;MySQL的死锁如何解决…

Maven的单元测试

1. 单元测试的基本概念 单元测试&#xff08;Unit Testing&#xff09; 是一种软件测试方法&#xff0c;专注于测试程序中的最小可测试单元——通常是单个类或方法。通过单元测试&#xff0c;可以确保每个模块按预期工作&#xff0c;从而提高代码的质量和可靠性。 2.安装和配…

VirtualBox:跨磁盘导入已存的vdi磁盘文件顺便测试冷迁移

目录 1.背景 2.目的 3.步骤 3.1 安装在移动硬盘上 3.2.接管现有主机磁盘上的虚拟机 3.3接管迁移到移动硬盘的虚拟机 4. 结论 1.背景 电脑重新做了系统&#xff0c;然后找不到virtualbox的启动程序了&#xff0c;另外电脑磁盘由于存储了其他文件已经爆红&#xff0c;无法…

二级C语言:二维数组每行最大值与首元素交换、删除结构体的重复项、取出单词首字母

目录 一、程序填空 --- 二维数组每行最大值与首元素交换 题目 分析 知识点 --- 交换语句 二、程序修改 --- 删除结构体的重复项 题目 分析 三、程序设计 --- 取出单词首字母 题目 分析 前言 本章讲解&#xff1a;二维数组每行最大值与首元素交换、删除结构体的重复项…

优盘恢复原始容量工具

买到一个优盘&#xff0c;显示32mb&#xff0c;我见过扩容盘&#xff0c;但是这次见到的是缩容盘&#xff0c;把2g的容量缩成32MB了&#xff0c;首次见到。。用芯片查询工具显示如下 ChipsBank(芯邦) CBM2199E 使用以下工具&#xff0c;恢复原始容量。。 其他CMB工具可能不行…

面对企业文件交换难题,镭速跨网文件交换系统是如何解决的?

在当今这个数字化快速发展的时代&#xff0c;企业越来越依赖于数据交换来维持其业务运作。无论是内部网络之间的沟通还是与外部合作伙伴的数据共享&#xff0c;高效且安全的跨网文件交换都显得尤为重要。然而&#xff0c;在实际操作中&#xff0c;许多企业面临着各种各样的挑战…

黑马点评 - 商铺类型缓存练习题(Redis List实现)

首先明确返回值是一个 List<ShopType> 类型那么我们修改此函数并在 TypeService 中声明 queryTypeList 方法&#xff0c;并在其实现类中实现此方法 GetMapping("list")public Result queryTypeList() {return typeService.queryTypeList();}实现此方法首先需要…

计算机毕业设计Python+CNN卷积神经网络高考推荐系统 高考分数线预测 高考爬虫 协同过滤推荐算法 Vue.js Django Hadoop 大数据毕设

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

知识库管理如何推动企业数字化转型与创新发展的深层次探索

内容概要 在当今数字化转型的大背景下&#xff0c;知识库管理日益显现出其作为企业创新发展的核心驱动力的潜力。这种管理方式不仅仅是对信息的存储与检索&#xff0c;更是一种赋能&#xff0c;以提升决策效率和员工创造力。企业能够通过系统地整合和管理各类知识资源&#xf…

【Leetcode】463. 岛屿的周长

一、题目描述 给定一个KaTeX parse error: Undefined control sequence: \x at position 4: row\̲x̲\col的二维网格地图 g r i d grid grid&#xff0c;其中&#xff1a; g r i d [ i ] [ j ] 1 grid[i][j]1 grid[i][j]1表示陆地&#xff0c; g r i d [ i ] [ j ] 0 grid[…

企业微信远程一直显示正在加载

企业微信远程一直显示正在加载 1.问题描述2.问题解决 系统&#xff1a;Win10 1.问题描述 某天使用企业微信给同事进行远程协助的时候&#xff0c;发现一直卡在正在加载的页面&#xff0c;如下图所示 2.问题解决 经过一番查找资料后&#xff0c;我发现可能是2个地方出了问题…

【Block总结】ODConv动态卷积,适用于CV任务|即插即用

一、论文信息 论文标题&#xff1a;Omni-Dimensional Dynamic Convolution作者&#xff1a;Chao Li, Aojun Zhou, Anbang Yao发表会议&#xff1a;ICLR 2022论文链接&#xff1a;https://arxiv.org/pdf/2209.07947GitHub链接&#xff1a;https://github.com/OSVAI/ODConv 二…

英语语法 第一天

I’m a student. 我是个学生 我是个新东方的学生 I’m a student of New Oriental School 我爱你 I love you 我在心中爱你 I love you in my heart. 这是一朵花 This is a flower 这是一朵在公园里的花 This is a flower in the park.(修饰部分在修饰词后面) 主干…