Arduino爱好者

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: eagler8

[经验] 【Arduino】108种传感器模块系列实验(122)---micro:bit 开发板

[复制链接]
 楼主| 发表于 2019-9-21 21:21 | 显示全部楼层
5、读取红外线键值:按下遥控器上面的按键,在LED点阵屏上显示的数值就是该按键的键值。

43.jpg
44.jpg
 楼主| 发表于 2019-9-21 22:00 | 显示全部楼层
6、红外线遥控:遥控小车前进、左转、右转、后退,以及前灯的亮暗。

45.jpg
 楼主| 发表于 2019-9-21 22:21 | 显示全部楼层
7、超声波避障:当小车与障碍物的距离<=35cm时,左转,当距离<=10cm时,后退再右转。

46.jpg
 楼主| 发表于 2019-9-22 09:59 | 显示全部楼层
[mw_shl_code=arduino,true]/*
【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();
}
[/mw_shl_code]
 楼主| 发表于 2019-9-22 10:02 | 显示全部楼层
8、点阵屏、环境灯与红外遥控:遥控小车前进、左转、右转,配置了音乐与转向灯

47.jpg
 楼主| 发表于 2019-9-22 11:03 | 显示全部楼层
[mw_shl_code=arduino,true]/*
【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);
        }
}[/mw_shl_code]
 楼主| 发表于 2019-9-22 11:10 | 显示全部楼层
48.jpg
 楼主| 发表于 2019-9-22 11:12 | 显示全部楼层
49.jpg
 楼主| 发表于 2019-9-22 13:08 | 显示全部楼层
10、使用makecode控制micro:bit小车(超声波避障)

50.jpg
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino爱好者

GMT+8, 2023-2-4 16:24 , Processed in 0.070884 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表