当前位置: 首页 > article >正文

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


http://www.kler.cn/a/526884.html

相关文章:

  • Python - Quantstats量化投资策略绩效统计包 - 详解
  • Qt中json的使用
  • rust学习-rust中的保留字
  • 我是如何写作的?
  • 面向对象设计:SOLID 原则
  • 使用Ollama本地部署DeepSeek R1
  • SQL进阶实战技巧:如何分析浏览到下单各步骤转化率及流失用户数?
  • 【C++语言】卡码网语言基础课系列----7. 摆平积木
  • Learning Vue 读书笔记 Chapter 4
  • DDD - 领域事件_解耦微服务的关键
  • char和varchar的区别、varchar(?)中问号部分的含义、索引的作用
  • 使用Pygame制作“俄罗斯方块”游戏
  • Spring Boot项目如何使用MyBatis实现分页查询及其相关原理
  • AJAX案例——图片上传个人信息操作
  • C++中vector追加vector
  • elasticsearch的常见面试题?
  • 亚博microros小车-原生ubuntu支持系列:15 激光雷达巡逻
  • 机器学习7-全连接神经网络3-过拟合与超参数
  • 信号模块--simulink操作
  • [Effective C++]条款53-55 杂项讨论
  • Linux第104步_基于AP3216C之I2C实验
  • Python学习之旅:进阶阶段(七)数据结构-计数器(collections.Counter)
  • TCP编程
  • 【Linux】日志设计模式与实现
  • DeepSeek Janus-Pro:多模态AI模型的突破与创新
  • 集群部署时的分布式 Session 如何实现?