【4Day创客实践入门教程】Day3 实战演练——桌面迷你番茄钟

news2025/3/7 8:10:10

Day3 实战演练——桌面迷你番茄钟

目录

  • Day3 实战演练——桌面迷你番茄钟
    • 1. 选择、准备元件、收集资料
    • 2. 硬件搭建
    • 3.编写代码

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

今天,我们开始制作这个小项目——桌面迷你番茄钟

项目外观功能介绍图

1. 选择、准备元件、收集资料

选择元件,要根据我们的功能和实现的目的来选择,在必要的时候,还要考虑开发的难度与元件的价格。

本项目是桌面番茄钟,那功能就需要一个屏幕与一个主控板,还需要一个电池去供电。所以,我们需要先列出我们项目需要和不需要的功能,依次来选择元器件。

功能必要性
电池需要排除原版树莓派PICO、添加锂电池、RP2040-PLUS开发板
无线不需要排除ESP32
屏幕显示需要Pico-OLED-1.3 1.3英寸OLED扩展板
按键需要Pico-OLED-1.3 1.3英寸OLED扩展板

根据此表,我们选择了以下元器件:

  • 微雪电子 RP2040-PLUS 开发板
  • 微雪电子 Pico-OLED-1.3 1.3英寸OLED扩展板
  • 3.7V 800mAh 902040电池

由于我们后续需要使用到微雪电子的元器件,所以我们也需要收集相关资料

  • 微雪电子 RP2040-PLUS 开发板
    • 官方文档 https://www.waveshare.net/wiki/RP2040-Plus
    • MicroPython RP2 快速参考 http://micropython.com.cn/en/latet/rp2/quickref.html
  • 微雪电子 Pico-OLED-1.3 1.3英寸OLED扩展板
    • 官方文档 https://www.waveshare.net/wiki/Pico-OLED-1.3
    • MicroPython SH1107相关驱动程序
  • MicroPython
    • 官方文档 http://micropython.com.cn/en/latet/index.html

2. 硬件搭建

接下来,我们可以参考文档的图片与文字资料完成硬件搭建。

Pico-OLED-1.3-details-3

3.编写代码

我个人首先会测试元器件是否正常,然后编写基本的驱动代码。

在正式开始编写代码之前,我们通常需要借助工具或者在大脑中建立一个基本的流程图,通过一个流程图,可以帮助我们更好地编写代码。

流程图

开始编写代码,参照流程图和伪代码,调试,完成功能。下面是完整代码:

from machine import Pin, SPI
import sh1107
import gc
import sys
import time
import framebuf
import array

spi1 = SPI(1, baudrate=1_000_000, sck=Pin(10), mosi=Pin(11), miso=None)
display = sh1107.SH1107_SPI(128, 64, spi1, Pin(8), Pin(12), Pin(9), rotate=0)
display.sleep(False)

key0 = Pin(15,Pin.IN,Pin.PULL_UP) 
key1 = Pin(17,Pin.IN,Pin.PULL_UP)
starttime=time.time()
tomato=0
tomatimes=0
tomac=300
while True:
    display.fill(0)
    display.fill_rect(5, 5, 60, 54, 15)
    display.text(f"{(round(tomatimes/60))}",12, 29, 0)
    display.text(f"min",12, 41, 0)
    
    if key0.value() == 0:
        while key0.value() == 0:pass
        if tomac!=300:
            tomatimes = tomatimes+(1500-tomato)
        starttime=time.time()
        if tomac==1500:tomac=300
        else: tomac=1500
        tomato=tomac
    else:
        if tomato >= 0:
            tomato=tomac-(time.time()-starttime)
        else:
            tomato=tomac-(time.time()-starttime)
            
            display.fill(15)
            display.text(f"OVER",40, 20, 0)
            display.text(f"{round((-tomato),1)}",40, 32, 0)
            display.show()
    
    tomtext = f"{round(tomato/60,1)}"
    tomx = round((66-len(tomtext)*8)/2)+66
    display.text(tomtext,tomx, 20, 255)
    display.text("min", 86, 32, 255)
    
    display.show()

display.poweroff()

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

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

相关文章

AndroidCompose Navigation导航精通1-基本页面导航与ViewPager

文章目录 前言基本页面导航库依赖导航核心部件简单NavHost实现ViewPagerPager切换逻辑图阐述Pager导航实战前言 在当今的移动应用开发中,导航是用户与应用交互的核心环节。随着 Android Compose 的兴起,它为开发者提供了一种全新的、声明式的方式来构建用户界面,同时也带来…

Node.js——body-parser、防盗链、路由模块化、express-generator应用生成器

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…

C语言指针专题四 -- 多级指针

目录 1. 多级指针的核心原理 1. 多级指针的定义 2. 内存结构示意图 3. 多级指针的用途 2. 编程实例 实例1:二级指针操作(修改一级指针的值) 实例2:动态二维数组(二级指针) 实例3:三级指…

深度学习的应用

目录 一、机器视觉 1.1 应用场景 1.2 常见的计算机视觉任务 1.2.1 图像分类 1.2.2 目标检测 1.2.3 图像分割 二、自然语言处理 三、推荐系统 3.1 常用的推荐系统算法实现方案 四、图像分类实验补充 4.1 CIFAR-100 数据集实验 实验代码 4.2 CIFAR-10 实验代码 深…

RabbitMQ 多种安装模式

文章目录 前言一、Windows 安装 RabbitMq1、版本关系2、Erlang2.1、下载安装 Erlang 23.12.2、配置 Erlang 环境变量 3、RabbitMQ3.1、下载安装 RabbitMQ 3.8.93.2、环境变量3.3、启动RabbitMQ 管理插件3.3、RabbitMQ3.4、注意事项 二、安装docker1、更新系统包:2、…

吴恩达深度学习——有效运作神经网络

内容来自https://www.bilibili.com/video/BV1FT4y1E74V,仅为本人学习所用。 文章目录 训练集、验证集、测试集偏差、方差正则化正则化参数为什么正则化可以减少过拟合Dropout正则化Inverted Dropout其他的正则化方法数据增广Early stopping 归一化梯度消失与梯度爆…

DDD - 微服务架构模型_领域驱动设计(DDD)分层架构 vs 整洁架构(洋葱架构) vs 六边形架构(端口-适配器架构)

文章目录 引言1. 概述2. 领域驱动设计(DDD)分层架构模型2.1 DDD的核心概念2.2 DDD架构分层解析 3. 整洁架构:洋葱架构与依赖倒置3.1 整洁架构的核心思想3.2 整洁架构的层次结构 4. 六边形架构:解耦核心业务与外部系统4.1 六边形架…

数据结构与算法之二叉树: LeetCode LCP 10. 二叉树任务调度 (Ts版)

二叉树任务调度 https://leetcode.cn/problems/er-cha-shu-ren-wu-diao-du/description/ 描述 任务调度优化是计算机性能优化的关键任务之一。在任务众多时,不同的调度策略可能会得到不同的总体执行时间,因此寻求一个最优的调度方案是非常有必要的 通…

玩转大语言模型——配置图数据库Neo4j(含apoc插件)并导入GraphRAG生成的知识图谱

系列文章目录 玩转大语言模型——使用langchain和Ollama本地部署大语言模型 玩转大语言模型——ollama导入huggingface下载的模型 玩转大语言模型——langchain调用ollama视觉多模态语言模型 玩转大语言模型——使用GraphRAGOllama构建知识图谱 玩转大语言模型——完美解决Gra…

计算机毕业设计Python+CNN卷积神经网络考研院校推荐系统 考研分数线预测 考研推荐系统 考研爬虫 考研大数据 Hadoop 大数据毕设 机器学习

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

OpenCV:闭运算

目录 1. 简述 2. 用膨胀和腐蚀实现闭运算 2.1 代码示例 2.2 运行结果 3. 闭运算接口 3.1 参数详解 3.2 代码示例 3.3 运行结果 4. 闭运算的应用场景 5. 注意事项 相关阅读 OpenCV:图像的腐蚀与膨胀-CSDN博客 OpenCV:开运算-CSDN博客 1. 简述…

智云-一个抓取web流量的轻量级蜜罐-k8s快速搭建教程

智云-一个抓取web流量的轻量级蜜罐-k8s快速搭建教程 github地址 https://github.com/xiaoxiaoranxxx/POT-ZHIYUN k8s搭建教程 首先下载代码文件 git clone https://github.com/xiaoxiaoranxxx/POT-ZHIYUN.git cd POT-ZHIYUN编译镜像 代码相关文件在github https://github.com/x…

万物皆有联系:驼鸟和布什

布什?一块布十块钱吗?不是,大家都知道,美国有两个总统,叫老布什和小布什,因为两个布什总统(父子俩),大家就这么叫来着,目的是为了好区分。 布什总统的布什&a…

< OS 有关 > 阿里云:轻量应用服务器 的使用 :轻量化 阿里云 vpm 主机

原因: < OS 有关 > 阿里云:轻量应用服务器 的使用 :从新开始 配置 SSH 主机名 DNS Tailscale 更新OS安装包 最主要是 清除阿里云客户端这个性能杀手-CSDN博客 防止 I/O 祸害系统 操作: 查看进程&#x…

SOME/IP--协议英文原文讲解3

前言 SOME/IP协议越来越多的用于汽车电子行业中,关于协议详细完全的中文资料却没有,所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块: 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 Note: Thi…

unity学习24:场景scene相关生成,加载,卸载,加载进度,异步加载场景等

目录 1 场景数量 SceneManager.sceneCount 2 直接代码生成新场景 SceneManager.CreateScene 3 场景的加载 3.1 用代码加载场景,仍然build setting里先加入配置 3.2 卸载场景 SceneManager.UnloadSceneAsync(); 3.3 同步加载场景 SceneManager.LoadScene 3.3.…

四.4 Redis 五大数据类型/结构的详细说明/详细使用( zset 有序集合数据类型详解和使用)

四.4 Redis 五大数据类型/结构的详细说明/详细使用( zset 有序集合数据类型详解和使用) 文章目录 四.4 Redis 五大数据类型/结构的详细说明/详细使用( zset 有序集合数据类型详解和使用)1. 有序集合 Zset(sorted set)2. zset 有序…

S4 HANA税码科目确定(OB40)

本文主要介绍在S4 HANA OP中税码科目确定(OB40)相关设置。具体请参照如下内容: 税码科目确定(OB40) 在以上界面维护“Transaction Key”的记账码。 在以上界面进一步维护“Transaction Key”确定科目的规则。 Chart of Account:用于明确该规则适用于什么科目表。 …

vim的特殊模式-可视化模式

可视化模式:按 v进入可视化模式 选中 y复制 d剪切/删除 可视化块模式: ctrlv 选中 y复制 d剪切/删除 示例: (vim可视化模式的进阶使用:vim可视化模式的进阶操作-CSDN博客)

UE5制作视差图

双目深度估计开源数据集很多都是用UE制作的,那么我们自己能否通过UE制作自己想要的场景的数据集呢。最近花了点时间研究了一下,分享给需要的小伙伴。 主要使用的是UnrealCV插件,UnrealCV是一个开源项目,旨在帮助计算机视觉研究人…