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

ops/2025/2/1 8:46:23/

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 arrayspi1 = 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:passif tomac!=300:tomatimes = tomatimes+(1500-tomato)starttime=time.time()if tomac==1500:tomac=300else: tomac=1500tomato=tomacelse: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)+66display.text(tomtext,tomx, 20, 255)display.text("min", 86, 32, 255)display.show()display.poweroff()

http://www.ppmy.cn/ops/154697.html

相关文章

Windows中本地组策略编辑器gpedit.msc打不开/微软远程桌面无法复制粘贴

目录 背景 解决gpedit.msc打不开 解决复制粘贴 剪贴板的问题 启用远程桌面剪贴板与驱动器 重启RDP剪贴板监视程序 以上都不行?可能是操作被Win11系统阻止 最后 背景 远程桌面无法复制粘贴,需要查看下主机策略组设置,结果按WinR输入…

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

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

计算机毕业设计Django+Tensorflow音乐推荐系统 机器学习 深度学习 音乐可视化 音乐爬虫 知识图谱 混合神经网络推荐算法 大数据毕设

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

科家多功能美发梳:科技赋能,重塑秀发新生

在繁忙的都市生活中,头皮健康与秀发养护成为了现代人不可忽视的日常课题。近日,科家电动按摩梳以其卓越的性能和创新设计,赢得了广大消费者的青睐。这款集科技与美学于一身的美发梳,不仅搭载了2亿负离子、6000次/分钟的声波振动等前沿技术,更融入了650nm聚能环红光与415nm强劲蓝…

蓝桥杯python语言基础(1)——编程基础

目录 一、python开发环境 二、python输入输出 (1)print输出函数 print(*object,sep,end\n,......) (2)input输入函数 input([prompt]), 输入的变量均为str字符串类型! input()会读入一整行的信息 ​编…

JVM_程序计数器的作用、特点、线程私有、本地方法的概述

①. 程序计数器 ①. 作用 (是用来存储指向下一条指令的地址,也即将要执行的指令代码。由执行引擎读取下一条指令) ②. 特点(是线程私有的 、不会存在内存溢出) ③. 注意:在物理上实现程序计数器是在寄存器实现的,整个cpu中最快的一个执行单元 ④. 它是唯一一个在java虚拟机规…

axios如何利用promise无痛刷新token

目录 需求 需求解析 实现思路 方法一: 方法二: 两种方法对比 实现 封装axios基本骨架 instance.interceptors.response.use拦截实现 问题和优化 如何防止多次刷新token 同时发起两个或以上的请求时,其他接口如何重试 最后完整代…

EXCEL教程:如何打开Excel隐藏部分?

在Excel文件中,数据表格的制作是日常工作中不可或缺的一部分。然而,有时候,我们可能会遇到一些数据不方便直接显示但又不能删除的情况。这时,隐藏数据就成为了一个常见的解决方案。但隐藏之后,如何再次打开隐藏部分&am…