mixly红外避障程序
时间: 2023-05-14 18:03:01 浏览: 157
mixly是一款基于Arduino的图形化编程软件,它极大地降低了编程的门槛,非常适合初学者学习和开发基础的电子控制程序。在mixly中,我们可以利用红外避障模块和Arduino,编写一段简单的红外避障程序。
首先,我们需要导入红外避障模块的库文件。在mixly的程序编辑器中,我们可以通过拖拽模块的方式,导入并调用红外避障模块的库文件。在程序头部,我们通常会导入开发板引脚、红外避障库文件等信息。
然后,我们可以利用mixly提供的“when...do”块,编写主循环程序。主循环程序中,我们首先读取红外避障模块的数据,判断是否有障碍物的存在。如果检测到障碍物,则输出提示信息。如果未检测到障碍物,则输出正常信息。
最后,我们可以调用Arduino的串口通信模块,将程序的输出信息打印到串口监视器中。这样我们就可以在Arduino开发板周边设置红外避障模块,并通过串口监视器实时观察障碍物检测的状态。
总之,mixly红外避障程序的核心思想就是通过红外避障模块检测周围环境的变化,判断是否有障碍物的存在,然后通过串口通信模块将检测信息输出到Arduino开发板的串口监视器中,从而完成红外避障控制的功能。
相关问题
mixly小车避障循迹代码
Mixly小车避障循迹代码,是用于控制小车进行避障和循迹的代码。以下是一个简单的代码示例,仅供参考:
```
#include <MsTimer2.h>
int enA = 6;
int in1 = 7;
int in2 = 8;
int enB = 11;
int in3 = 9;
int in4 = 10;
int sensorPin1 = A0;
int sensorPin2 = A1;
int sensorPin3 = A2;
int sensorPin4 = A3;
int sensorPin5 = A4;
int leftSpeed, rightSpeed;
void setup() {
pinMode(enA, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(enB, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
pinMode(sensorPin1, INPUT);
pinMode(sensorPin2, INPUT);
pinMode(sensorPin3, INPUT);
pinMode(sensorPin4, INPUT);
pinMode(sensorPin5, INPUT);
MsTimer2::set(20, control);
MsTimer2::start();
}
void loop() {
}
void control() {
int sensorValue1 = digitalRead(sensorPin1);
int sensorValue2 = digitalRead(sensorPin2);
int sensorValue3 = digitalRead(sensorPin3);
int sensorValue4 = digitalRead(sensorPin4);
int sensorValue5 = digitalRead(sensorPin5);
leftSpeed = 200;
rightSpeed = 200;
if (sensorValue3 == LOW) {
leftSpeed = -100;
rightSpeed = -100;
delay(300);
leftSpeed = -100;
rightSpeed = 100;
delay(500);
} else if (sensorValue2 == LOW) {
leftSpeed = -100;
rightSpeed = -100;
delay(300);
leftSpeed = -100;
rightSpeed = 100;
delay(500);
} else if (sensorValue4 == LOW) {
leftSpeed = -100;
rightSpeed = -100;
delay(300);
leftSpeed = 100;
rightSpeed = -100;
delay(500);
} else if (sensorValue1 == LOW) {
leftSpeed = -100;
rightSpeed = -100;
delay(300);
leftSpeed = 100;
rightSpeed = -100;
delay(500);
} else if (sensorValue5 == LOW) {
leftSpeed = -100;
rightSpeed = -100;
delay(300);
leftSpeed = -100;
rightSpeed = -100;
delay(500);
} else {
leftSpeed = 200;
rightSpeed = 200;
}
analogWrite(enA, abs(leftSpeed));
digitalWrite(in1, leftSpeed > 0 ? HIGH : LOW);
digitalWrite(in2, leftSpeed > 0 ? LOW : HIGH);
analogWrite(enB, abs(rightSpeed));
digitalWrite(in3, rightSpeed > 0 ? HIGH : LOW);
digitalWrite(in4, rightSpeed > 0 ? LOW : HIGH);
}
```
这段代码的功能是通过5个红外线传感器读取地面的黑线情况,根据读取结果实现小车的避障和循迹。如果传感器检测到了黑线,小车会做出相应的避障或者循迹动作。
超声波避障小车mixly程序
以下是一个简单的超声波避障小车的 Mixly 程序:
<img src="https://img-blog.csdnimg.cn/20211103160727855.png" width="600" />
程序的思路如下:
1. 设置两个电机的驱动引脚;
2. 设置超声波模块的触发引脚和接收引脚;
3. 定义两个变量用于存储电机的速度;
4. 在主循环中,先发送超声波信号,然后等待接收到信号并计算距离;
5. 如果距离小于一定值,说明前方有障碍物,需要后退并向左转;
6. 如果距离大于一定值,说明前方没有障碍物,直行;
7. 根据计算出的速度值控制两个电机的转动。
需要注意的是,具体的距离判断和速度值的计算需要根据自己的实际情况进行调整。