【Mind+】掌控板入门教程01 “秀”出我创意
我们的好朋友麦乐佳即将举办一场派对,她要求每个参加派对的人都要佩戴一个可以彰显自己独特创意的装置。可以是会发光的帽子,可以是复古的电子表,还可以是其他有创意的作品。而现在,我们的手边刚好有一块掌控板,它自带一块显示屏,可以显示文字、图案,甚至是视频。
所以接下来,我们将利用掌控板,一起来做出一个可以展现自己创意的作品吧。

*所需元件
■ 1 X 掌控板
■ 1 X 数据线
* 每个项目中,掌控板和数据线都是必不可少的,之后的项目中将不再重复罗列以上两个元件。
*连接掌控板
通过以下3步完成掌控板在Mind+中的连接设置。
■ 将掌控板通过数据线连接到电脑;
■ 打开Mind+软件,选择“上传模式”
;
■ 单击“扩展”
,弹出如下窗口,选择“主控板”后,单击“掌控板”。
* 每个项目编程之前都要进行连接设置,之后的项目中将不再复述连接步骤。
*项目示例
以在掌控板上显示文字为例,我们将学习如何做出视频的效果。其实视频可以理解为动态显示的文字或图案。从这个角度出发,让我们一起来学习如何动态显示文字。
可以通过以下两个小任务进行实践:
■ 任务一:显示文字
■ 任务二:动态显示文字
任务一:显示文字
输入以下程序,并将程序上传。
* 右图为坐标X、Y值对应的屏幕位置。
运行结果:
上面程序中点击“屏幕显示文字”指令中的“预览”,可以预览文字在屏幕中位置。预览效果如下图。
* 预览窗口仅支持位置预览,暂不支持文本内容预览。
小试牛刀:
尝试修改坐标值,通过使用“预览”使“Mind+”分别显示在屏幕的四个角,效果如下图。
任务二:动态显示文字
以让文字上下滚动显示为例,让我们一起学习如何动态显示文字。
输入以下程序,并将程序上传。
运行结果:文字内容会上下滚动显示。
观察上面程序可以发现,只需要改变文字的坐标X、Y的值,配合清屏效果,就可以让文字动态显示。
文字还可以做出更多的动态效果,比如勾勒出图案、做出闪屏效果等等。打开自己的脑洞吧!
掌握了动态显示文字的方法,再加入自己更多的脑洞,相信你在参加麦乐佳的派对的时候,就可以使用掌控板做出彰显自己创意的独特装置了。
将它别在衣服上,这样每一个靠近你的人,一眼就会看到你的独特呀。
*知识拓展
一、硬件知识
1、OLED显示屏
掌控板自带1.3英寸OLED显示屏。什么是OLED显示屏?显示屏,也称屏幕,用于显示图像。OLED显示屏是时下比较主流的一种显示屏。
OLED(Organic Light-Emitting Diode),又称为有机电激光显示,由美籍华裔教授邓青云于1979年在实验室中发现。它是一种非常薄的有机材料涂层,具有自发光特性,换句话说,当有电流通过时,这些有机材料就会发光。
OLED相比于传统显示屏幕,在技术优势上可以说是划时代的。OLED是广视角,具有几乎无穷高的对比度、较低的功耗、非常高的反应速度,全彩化并且制程简单等优点。OLED材料可以自发光,不需要增加背光源,可以大大简化工艺,缩减体积。
基于以上种种优异特性,OLED被认为是下一代的平面显示器新兴应用技术。
2、分辨率
掌控板OLED显示屏的分辨率128x64。分辨率指屏幕显示的像素个数。那什么是像素呢?
首先,你在屏幕上可以看到一张图片,但实际上,你贴在屏幕边上看就会发现你的屏幕实际上是由无数个小点点组成的,因为每个点比较小,所以你的眼睛会误以为这是一张完整的图片。
一个像素就可以理解为屏幕上的一个点。屏幕正是由多个像素点组成。
分辨率128x64的意思是水平方向含有128个像素,垂直方向含有64个像素。屏幕上一共有128x64个像素点。
通过“画点”指令,我们可以看到屏幕中的任意一个像素点。示例程序和运行结果如下图。
二、软件知识
1、认识坐标
前面讲过,坐标X、Y值即对应屏幕横向、纵向位置。其实这样的X、Y在屏幕上就构成了一个直角坐标系。接下来,我们将通过一个简单的程序,去认识什么是直角坐标系。
输入以下程序,观察运行结果。
运行结果:
观察程序中坐标值的变化,不难发现:
■ 当X、Y值对应为0、0的时候,文字显示在屏幕的左上角;
■ 当Y值不变、X的值增加,文字垂直高度不变,水平向右移动;
■ 当X值不变、Y的值增加,文字水平位置不变,垂直向下移动。
文字移动的这两个方向即构成了如下图所示的X、Y直角坐标系。水平方向用X轴表示,垂直方向用Y轴表示。
在数学中,是这样定义直角坐标系的:在平面内画两条互相垂直,并且有公共原点的数轴,其中横轴为X轴,纵轴为Y轴,这样我们就说在平面上建立了平面直角坐标系,简称直角坐标系。
* 掌控板屏幕分辨率为128x64,所以X轴的数值为0-127,Y轴的数值为0-63。
怎么样,现在你明白直角坐标系是怎么回事了吧?
2、指令汇总
*项目小结
■ 掌握掌控板上文字动态显示的方法
■ 了解OLED显示屏
■ 学习坐标系,了解掌控板上的坐标系是如何建立的
*挑战一下
1、利用掌控板做一个5秒倒计时,倒计时完成后,在屏幕中央显示文字“游戏开始”。
2、Mind+中还有很多简单又好玩的指令,尝试探索一下,使文字随机显示在屏幕中的任意位置。提示:
3、尝试在屏幕中显示一颗爱心的图案。提示
文本参考:
官方教程
https://mc.dfrobot.com.cn/misc.php?mod=tag&id=3395
mindplus官方
https://mc.dfrobot.com.cn/misc.php?mod=tag&id=3309
掌控板
https://mc.dfrobot.com.cn/misc.php?mod=tag&id=3184
相关文章:
【Mind+】掌控板入门教程01 “秀”出我创意
我们的好朋友麦乐佳即将举办一场派对,她要求每个参加派对的人都要佩戴一个可以彰显自己独特创意的装置。可以是会发光的帽子,可以是复古的电子表,还可以是其他有创意的作品。而现在,我们的手边刚好有一块掌控板,它自带…...
操作系统篇--八股文学习第十一天|进程调度算法你了解多少,进程间有哪些通信方式,解释一下进程同步和互斥,以及如何实现进程同步和互斥
进程调度算法你了解多少? 答: 先来先服务:按照请求的顺序进行调度。 这种调度方式简单,但是能导致较长作业阻塞较短作业。最短作业优先:非抢占式的调度算法,按估计运行时间最短的顺序进行调度。 但是如果…...
慢慢欣赏arm64内核启动6 primary_entry之el2_setup代码第三部分
分析代码 解析完虚拟化部分,我们继续分析启动过程中,对中断控制器的处理 #ifdef CONFIG_ARM_GIC_V3/* GICv3 system register access */mrs x0, id_aa64pfr0_el1ubfx x0, x0, #ID_AA64PFR0_GIC_SHIFT, #4cbz x0, 3fmrs_s x0, SYS_ICC_SRE_EL2orr x0, x…...
初谈Linux多线程--线程控制
文章目录 线程的概述理解线程Linux中的线程重新理解的进程Windows的线程线程的优点线程的缺点理解线程调度成本低 进程VS线程 线程控制创建线程等待线程线程函数传参线程的返回值新线程的返回值新线程返回值错误返回值为类对象 创建多线程线程的终止线程的分离pthread_detach 线…...
文件工具类 - FileUtils
Slf4j Component public class FileUtils {/*** 文件夹复制到指定的文件夹*/SneakyThrowspublic static void copyDir(File source, File target) {if (!target.exists()) {boolean mkdirs target.mkdirs();}if (source.isDirectory()) {File[] files source.listFiles();if …...
Kafka源码剖析-Producer基于内存缓存池分配ByteBuffer
文章目录 在将消息发送到内存缓中区之前做的准备工作发送消息前的准备工作代码示例源码分析1. **消息序列化**2. **元数据准备**3. **分区选择**4. **批处理准备**总结大致浏览一下源码中将消息写入内存缓冲的运行流程源码分析1. **消息序列化和创建记录批次**2. **确定分区**3…...
实习十九:学习笔记
上午 1、构建vue发行版本 [rootserver ~]# cd eleme_web/ [rootserver eleme_web]# npm run buid //项目未执行时运行该命令,创建发行版本 [rootserver eleme_web]# cd dist/ //dist中包含发行版本的所有文件 [rootserver dist]# ls css favicon.ico i…...
OrionX:革新GPU资源管理,助力AI开发团队高效运作
您的AI开发团队是否经常陷入这样的窘境: 人多卡少,GPU资源难以满足每个成员的需求? 当开发环境中需要变更GPU卡配置时,流程繁琐不堪,不得不关闭容器、重新配置再重启? 是否曾因GPU卡分配后未被充分利用而…...
RabbitMQ发送者重连、发送者确认
RabbitMQ发送者重连、发送者确认 一、发送者重连 spring:rabbitmq:connection-timeout: 1s #设置MQ的连接超时时间template:retry:enabled: true #开启超时重试机制initial-interval: 1000ms #失败后的初始等待时间multiplier: 1 #失败后下次的等待时长倍数,下次等…...
请转告HPC计算AI计算单位,选对存储事半功倍
U.2 NVMe全闪混合统一存储GS 5000U是Infortrend产品中一款高性能机型。得益于搭载强劲的第五代IntelXeon处理器,以及支持PCIe 5.0、NVMe-oF、100GbE等多种特点,GS 5000U单台块级性能可达50 GB/s的读、20 GB/s的写,以及1300K的IOPS;…...
[GYCTF2020]Blacklist1
打开题目 判断注入类型,输入1试试 输入2 输入1 判断为字符型注入 堆叠查询2;show databases;# 然后来输入2; show tables;#来查看数据库的表 然后我们通过FlagHere表来查看列输入2;show columns from FlagHere;# 来查看列 、 重新构造payload:0;HAND…...
Blackcat V2.2付费会员制WordPress资源站主题
Blackcat-付费会员制WordPress资源站主题,该主题是基于简约实用的主题选项框架 Codestar Framework 进行开发的功能强大的付费会员制主题,该主题尤其适合用于搭建付费下载资源网站,比如素材站、软件站、视频教程站等付费资源下载网站。 集成…...
动手学强化学习 第 18 章 离线强化学习 训练代码
基于 https://github.com/boyu-ai/Hands-on-RL/blob/main/%E7%AC%AC18%E7%AB%A0-%E7%A6%BB%E7%BA%BF%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0.ipynb 理论 离线强化学习 修改了警告和报错 运行环境 Debian GNU/Linux 12 Python 3.9.19 torch 2.0.1 gym 0.26.2 运行代码 CQL.…...
Python笔试面试题AI答之面向对象常考知识点
Python面向对象面试题面试题覆盖了Python面向对象编程(OOP)的多个重要概念和技巧,包括元类(Metaclass)、自省(Introspection)、面向切面编程(AOP)和装饰器、重载…...
面试经典算法150题系列-数组/字符串操作之买卖股票最佳时机
买卖股票最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易…...
安装jdk和tomcat
安装nodejs 1.安装nodejs,这是一个jdk一样的软件运行环境 yum -y list installed|grep epel yum -y install nodejs node -v 2.下载对应的nodejs软件npm yum -y install npm npm -v npm set config .....淘宝镜像 3.安装vue/cli command line interface 命令行接…...
mongodb 备份还原
### 加入 MongoDB 官方 repositoryecho [mongodb-org-4.4] nameMongoDB Repository baseurlhttps://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/ gpgcheck1 enabled1 gpgkeyhttps://www.mongodb.org/static/pgp/server-4.4.asc| tee /etc/yum.repos.d/mo…...
day27——homework
1、使用两个线程完成两个文件的拷贝,分支线程1拷贝前一半,分支线程2拷贝后一半,主线程回收两个分支线程的资源 #include <stdio.h> #include <stdlib.h> #include <pthread.h> #include <fcntl.h> #include <uni…...
shell脚本自动化部署
1、自动化部署DNS [rootweb ~]# vim dns.sh [roottomcat ~]# yum -y install bind-utils [roottomcat ~]# echo "nameserver 192.168.8.132" > /etc/resolv.conf [roottomcat ~]# nslookup www.a.com 2、自动化部署rsync [rootweb ~]# vim rsync.sh [rootweb ~]# …...
C语言| 文件操作详解(二)
目录 四、有关文件的随机读写函数 4.1 fseek 4.2 ftell 4.3 rewind 五、判定文件读取结束的标准与读写文件中途发生错误的解决办法 5.1 判定文件读取结束的标准 5.2 函数ferror与feof 5.2.1 函数ferror 5.2.2 函数feof 在上一章中,我们主要介绍了文件类型…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...
windows系统MySQL安装文档
概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…...
pycharm 设置环境出错
pycharm 设置环境出错 pycharm 新建项目,设置虚拟环境,出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...














