【雕爷学编程】Arduino动手做(171)---micro:bit 开发板3

news2024/12/23 17:22:38

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来—小小的进步或是搞不定的问题,希望能够抛砖引玉。

【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
实验一百七十一: BBC microbit micro:bit,bit go,bit club python图形编程开发板

在这里插入图片描述
幸运拿到了micro:bit麦昆编程机器人小车评测套件,这个相关实验准备继续做下去…

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、读取红外线键值:按下遥控器上面的按键,在LED点阵屏上显示的数值就是该按键的键值。

在这里插入图片描述
在这里插入图片描述
6、红外线遥控:遥控小车前进、左转、右转、后退,以及前灯的亮暗。

在这里插入图片描述

7、超声波避障:当小车与障碍物的距离<=35cm时,左转,当距离<=10cm时,后退再右转。

在这里插入图片描述
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百七十一: BBC microbit micro:bit,bit go,bit club python图形编程开发板

项目:点阵屏、环境灯与红外遥控:遥控小车前进、左转、右转,配置了音乐与转向灯

Arduino参考开源代码

/*
【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
实验一百二十二: BBC microbit micro:bit,bit go,bit club python图形编程开发板
项目:点阵屏、环境灯与红外遥控:遥控小车前进、左转、右转,配置了音乐与转向灯
*/

#include <DFRobot_IRremote_dal.h>
#include <Maqueen_Motor.h>
#include <Microbit_Sound.h>
#include <Microbit_Matrix.h>
#include <DFRobot_NeoPixel.h>

DFROBOT_IRremote_Receive remote(16);
Maqueen_Motor motor;
const uint8_t bitmap_CC1T[5] = {B01010,B11111,B11111,B01110,B00100};
DFRobot_NeoPixel  rgb_display_15;

void onIRReceive(uint8_t data_IR)
{
        if ((data_IR == 157)) {
                motor.motorRun(motor.LEFT,motor.CW,68);
                motor.motorRun(motor.RIGHT,motor.CW,68);
                MSound.play(0, RINGTONE, OnceInBackground);
                MMatrix.show(MMatrix.ARROW_N);
                digitalWrite(12,HIGH);
                digitalWrite(8,HIGH);
        }
        if ((data_IR == 87)) {
                motor.motorStop(motor.LEFT);
                motor.motorStop(motor.RIGHT);
                MSound.play(0, POWER_DOWN, OnceInBackground);
                MMatrix.show(MMatrix.BUTTERFLY);
                digitalWrite(12,LOW);
                digitalWrite(8,LOW);
        }
        if ((data_IR == 221)) {
                motor.motorRun(motor.LEFT,motor.CW,0);
                motor.motorRun(motor.RIGHT,motor.CW,42);
                digitalWrite(12,LOW);
                digitalWrite(8,HIGH);
                MMatrix.show(MMatrix.ARROW_E);
        }
        if ((data_IR == 61)) {
                motor.motorRun(motor.LEFT,motor.CW,40);
                motor.motorRun(motor.RIGHT,motor.CW,0);
                digitalWrite(8,LOW);
                digitalWrite(12,HIGH);
                MMatrix.show(MMatrix.ARROW_W);
        }
        if ((data_IR == 253)) {
                MMatrix.show(bitmap_CC1T);
                delay(1000);
                MMatrix.show(MMatrix.HEART_SMALL);
        }
        if ((data_IR == 151)) {
                MMatrix.show(MMatrix.PACMAN);
        }
        if ((data_IR == 79)) {
                MMatrix.show(MMatrix.TARGET);
        }
        if ((data_IR == 103)) {
                MMatrix.print("hello world");
        }
}


void setup() {
        remote.begin();
        remote.setCallback(onIRReceive);
        rgb_display_15.begin(15, 4, 255);
}

void loop() {
        rgb_display_15.setRangeColor(0, 0, 0xff0000);
        delay(1000);
        rgb_display_15.rotate(1);
        delay(1000);
        rgb_display_15.rotate(1);
        delay(1000);
        rgb_display_15.rotate(1);
        delay(1000);
        rgb_display_15.clear();
        delay(1000);
        rgb_display_15.setRangeColor(0, 0, 0x00ff00);
        delay(1000);
        rgb_display_15.rotate(1);
        delay(1000);
        rgb_display_15.rotate(1);
        delay(1000);
        rgb_display_15.rotate(1);
        delay(1000);
        rgb_display_15.clear();
        delay(1000);
        rgb_display_15.setRangeColor(0, 0, 0x0000ff);
        delay(1000);
        rgb_display_15.rotate(1);
        delay(1000);
        rgb_display_15.rotate(1);
        delay(1000);
        rgb_display_15.rotate(1);
        delay(1000);
        rgb_display_15.clear();
}

8、点阵屏、环境灯与红外遥控:遥控小车前进、左转、右转,配置了音乐与转向灯

在这里插入图片描述
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百七十一: BBC microbit micro:bit,bit go,bit club python图形编程开发板

项目:点阵屏箭头、声音提示、转向灯与超声波避障小车

Arduino参考开源代码

/*
【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
实验一百二十二: BBC microbit micro:bit,bit go,bit club python图形编程开发板
项目:点阵屏箭头、声音提示、转向灯与超声波避障小车
*/


#include <Maqueen_Motor.h>
#include <Microbit_Matrix.h>
#include <DFRobot_URM10.h>
#include <Microbit_Sound.h>

double mind_n_my_variable;

Maqueen_Motor motor;
const uint8_t bitmap_dQ99[5] = {B01010,B11111,B11111,B01110,B00100};
DFRobot_URM10 urm10(1,2);

void setup() {
}

void loop() {
        motor.motorRun(motor.LEFT,motor.CW,50);
        motor.motorRun(motor.RIGHT,motor.CW,50);
        MMatrix.show(bitmap_dQ99);
        digitalWrite(8,HIGH);
        digitalWrite(12,HIGH);
        mind_n_my_variable = (urm10.getDistanceCM());
        if ((mind_n_my_variable <= 35)) {
                motor.motorRun(motor.LEFT,motor.CW,0);
                motor.motorRun(motor.RIGHT,motor.CW,50);
                digitalWrite(8,HIGH);
                digitalWrite(12,LOW);
                MMatrix.show(MMatrix.ARROW_E);
                MSound.playTone(0, 131, BEAT_1_4);
                MSound.playTone(0, 349, BEAT_1_4);
                delay(1000);
        }
        if ((mind_n_my_variable <= 10)) {
                motor.motorRun(motor.LEFT,motor.CCW,50);
                motor.motorRun(motor.RIGHT,motor.CCW,50);
                delay(1000);
                motor.motorRun(motor.LEFT,motor.CW,50);
                motor.motorRun(motor.RIGHT,motor.CW,0);
                digitalWrite(8,LOW);
                digitalWrite(12,HIGH);
                MMatrix.show(MMatrix.ARROW_W);
                MSound.playTone(0, 988, BEAT_1_4);
                delay(1000);
        }
}

在这里插入图片描述
在这里插入图片描述
10、使用makecode控制micro:bit小车(超声波避障)

在这里插入图片描述

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

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

相关文章

Jmeter 如何并发执行 Python 脚本

目录 1. 前言 2. Python 实现文件上传 3. Jmeter 并发执行 4. 最后 1. 前言 JMeter 是一个开源性能测试工具&#xff0c;它可以帮助我们更轻松地执行性能测试&#xff0c;并使测试结果更加可靠。Python 是一种广泛使用的编程语言&#xff0c;它可以用于开发各种软件和应用…

ResultMap结果集映射

为了解决属性名和字段名不相同的问题 example&#xff1a;MyBatis-CRUD: Mybatis做增删改查 使用resultmap前查询password时为空&#xff0c;因为属性名与字段名不相同 做结果集映射&#xff1a; <?xml version"1.0" encoding"UTF-8" ?> <!…

自己动手写一个编译器

一、概述 本文将参考《自己动手写编译器这本书》&#xff0c;自己写一个编译器&#xff0c;但是因为本人水平有限。文章中比较晦涩的内容&#xff0c;自己也没弄明白。因此&#xff0c;本文仅在实践层跑一遍流程。具体的原理还需要大家自行探索。 TinyC 编译器可将 TinyC 源程序…

JavaScript 判断先后两个数组增加和减少的元素

&#x1f468;&#x1f3fb;‍&#x1f4bb; 热爱摄影的程序员 &#x1f468;&#x1f3fb;‍&#x1f3a8; 喜欢编码的设计师 &#x1f9d5;&#x1f3fb; 擅长设计的剪辑师 &#x1f9d1;&#x1f3fb;‍&#x1f3eb; 一位高冷无情的编码爱好者 大家好&#xff0c;我是 DevO…

错误解决:Failed to create Spark client for Spark session

错误解决&#xff1a;Failed to create Spark client for Spark session "Failed to create Spark client for Spark session"的错误通常表示无法为Spark会话创建Spark客户端。这可能是由于以下一些常见问题导致的&#xff1a; Spark配置错误&#xff1a;请检查Spar…

SAMStable-Diffusion集成进化!分割、生成一切!AI绘画新玩法

自SAM「分割一切」模型推出之后&#xff0c;二创潮就开始了&#xff0c;有想法有行动&#xff01;飞桨AI Studio开发者会唱歌的炼丹师就创作出SAM进化版&#xff0c;将SAM、Stable Diffusion集成&#xff0c;实现「分割」、「生成」能力二合一&#xff0c;并部署为应用&#xf…

vue项目入口和个文件之间的关系

vue项目入口和个文件之间的关系 1、代码的执行顺序和引入关系 1、代码的执行顺序和引入关系

新星计划打卡学习:VUE3引入element-plus

目录 1、安装element-plus 2、安装按需导入插件 3、修改配置文件 4、添加页面内容 5、保存并重启项目 1、安装element-plus 官网说要想使用element-plus需要先进行安装&#xff0c;并给出了三种安装方式&#xff0c;我选择了第三种。 报错了&#xff1a; 解决的办法&…

PostgreSQL 设置时区,时间/日期函数汇总

文章目录 前言查看时区修改时区时间/日期操作符和函数时间/日期操作符日期/时间函数&#xff1a;extract&#xff0c;date_part函数支持的field 数据类型格式化函数用于日期/时间格式化的模式&#xff1a; 扩展 前言 本文基于 PostgreSQL 12.6 版本&#xff0c;不同版本的函数…

人才公寓水电表改造解决方案

随着社会经济的不断发展&#xff0c;人才公寓作为吸引和留住人才的重要配套设施&#xff0c;其水电表改造问题越来越受到人们的关注。本文将从以下几个方面探讨人才公寓水电表改造解决方案。 一、现状分析 目前&#xff0c;人才公寓的水电表普遍存在以下几个问题&#xff1a; …

Jenkins从配置到实战(二) - Jenkins如何在多台机器上自动化构建

前言 jenkins除了支持在本机上进行项目构建&#xff0c;还可以将构建任务分发到其他远程服务器上去执行&#xff0c;可以实现在不同平台和架构的机器上来完成项目的自动化构建任务&#xff0c;也能减轻jenkins服务器的压力。本文章就主要介绍下此流程。 准备工作 准备两台机…

2.02 分类功能实现后台实现

三级分类效果图&#xff1a; 一 实现一级分类查询 步骤1&#xff1a;使用逆向工程生成创建实体类和对应的mapper 实体类&#xff1a;Categorymapper: CategoryMapper和CategoryMapper.xml步骤2&#xff1a; import com.one.pojo.Category; import java.util.List; public int…

视频讲解Codeforces Round 887 (Div. 2)(A--C)

文章目录 A. Desorting1、板书2、代码 B. Fibonaccharsis1、板书2、代码 C. Ntarsis Set1、板书2、代码 视频讲解Codeforces Round 887 (Div. 2)&#xff08;A–C&#xff09; A. Desorting 1、板书 2、代码 #include<bits/stdc.h> #define endl \n #define INF 0x3f…

Linux6.13 Docker LNMP项目搭建

文章目录 计算机系统5G云计算第四章 LINUX Docker LNMP项目搭建一、项目环境1.环境描述2.容器ip地址规划3.任务需求 二、部署过程1.部署构建 nginx 镜像2.部署构建 mysql 镜像3.部署构建 php 镜像4.验证测试 计算机系统 5G云计算 第四章 LINUX Docker LNMP项目搭建 一、项目…

功能测试也可以发现数据库相关的性能问题

很多同学认为功能测试和性能测试是严格分开的&#xff0c;功能测试人员无法发现性能问题。其实不是这样的&#xff0c;功能测试人员在验证功能时也可以发现性能问题&#xff1b;一些功能反而在功能测试环境不好验证&#xff0c;需要在性能环境上测试。 今天咱们就说一下测试涉及…

Spring Security 身份验证的基本类/架构

目录 1、SecurityContextHolder 核心类 2、SecurityContext 接口 3、Authentication 用户认证信息接口 4、GrantedAuthority 拥有权限接口 5、AuthenticationManager 身份认证管理器接口 6、ProviderManager 身份认证管理器的实现 7、AuthenticationProvider 特定类型的…

西北乱跑娃 -- CSS动态旋转果冻效果

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>旋转果冻</title> <style> #myDIV {margin: 250px;width: 250px;height: 250px;background: orange;position: relative;font-size: 20px;animation: anima…

【前缀和】LeetCode 560. 和为k的字数组

文章目录 题目描述方法1 暴力方法2 暴力优化方法3 前缀和方法4 前缀和优化 题目描述 力扣560题&#xff0c;链接&#xff1a;https://leetcode.cn/problems/subarray-sum-equals-k 方法1 暴力 暴力法&#xff0c;三重for循环&#xff0c;时间复杂度 O ( N 3 ) O(N^3) O(N3)&a…

[回馈]ASP.NET Core MVC开发实战之商城系统(二)

经过一段时间的准备&#xff0c;新的一期【ASP.NET Core MVC开发实战之商城系统】已经开始&#xff0c;在之前的文章中&#xff0c;讲解了商城系统的整体功能设计&#xff0c;页面布局设计&#xff0c;环境搭建&#xff0c;系统配置&#xff0c;及首页商品类型&#xff0c;bann…

一百三十五、Azkaban——AzkabanWebServer服务开启后秒退

一、问题 Azkaban的AzkabanWebServer服务开启后秒退&#xff0c;造成Azkaban的页面登录不上 AzkabanWebServer服务开启后&#xff0c;第一个jps里面有AzkabanWebServer&#xff0c;随后第二个jps里面没有AzkabanWebServer 二、问题原因 MySQL中azkaban数据库的表executors的…