回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

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

头像 驴友花雕 2023.07.25 74 1

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

 

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

0.jpg

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

 

34.jpg
35.jpg
36.jpg
37.jpg

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

43.jpg
44.jpg

6、红外线遥控:遥控小车前进、左转、右转、后退,以及前灯的亮暗。

 

45.jpg

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

46.jpg

【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、点阵屏、环境灯与红外遥控:遥控小车前进、左转、右转,配置了音乐与转向灯
 

47.jpg

【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);
        }
}

48.jpg

49.jpg

10、使用makecode控制micro:bit小车(超声波避障)

 

50.jpg

评论

user-avatar
  • hacker_

    hacker_2023.08.02

    66666666

    0
    icon 他的勋章
      展开更多