Arduino设计 有害气体检测小车

2023-05-16

有害气体检测小车

在这里插入图片描述
从代码已经可以看得出电路应该怎么接了, 具体电路就不放上来了

Arduino控制部分代码

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F, 16, 2);
#define RightGo 6
#define RightBack 7
#define LeftGo 5
#define LeftBack 4
#define LEFT '3'
#define RIGHT '4'
#define GO '1'
#define BACK '2'
#define STOP '0'
#define mq2 A0
#define buzzPin 3
#define ledPin 2

void setup() {
    Serial.begin(9600);
    pinMode(RightGo, OUTPUT);
    pinMode(RightBack, OUTPUT);
    pinMode(LeftGo, OUTPUT);
    pinMode(LeftBack, OUTPUT);
    pinMode(ledPin, OUTPUT);
    initCar();
    lcd.init();
    lcd.backlight();
    lcd.setCursor(0, 0);
    lcd.print("Initializing");
}

void loop() {
    lcd.setCursor(0, 0);
    lcd.print("Group 3:      ");
    lcd.setCursor(4, 1);
    lcd.print("Gas:");
    lcd.print(map(analogRead(mq2), 0, 1023, 0, 100));
    lcd.print("%  ");
    if (analogRead(mq2) > 200) {
        digitalWrite(buzzPin, HIGH);
        digitalWrite(ledPin, HIGH);
        delay(500);
        digitalWrite(buzzPin, LOW);
        digitalWrite(ledPin, LOW);
    }
    Serial.print("Gas:");
    Serial.println(map(analogRead(mq2), 0, 1023, 0, 100));
    Serial.print("%");
    if(Serial.available() > 0) {
        char ch = Serial.read();
        if(ch == GO)
            go();
        else if(ch == BACK)
            back();
        else if(ch == LEFT)
            turnLeft();
        else if(ch == RIGHT)
            turnRight();
        else if(ch == STOP)
            stopCar();
    }
    delay(500);
}

void initCar() {
    digitalWrite(RightGo, LOW);
    digitalWrite(RightBack, LOW);
    digitalWrite(LeftGo, LOW);
    digitalWrite(LeftBack, LOW);
}

void turnLeft() {
    digitalWrite(RightGo, HIGH);
    digitalWrite(RightBack, LOW);
    digitalWrite(LeftGo, LOW);
    digitalWrite(LeftBack, LOW);
}

void turnRight() {
    digitalWrite(RightGo, LOW);
    digitalWrite(RightBack, LOW);
    digitalWrite(LeftGo, HIGH);
    digitalWrite(LeftBack, LOW);
}

void go() {
    digitalWrite(RightGo, HIGH);
    digitalWrite(RightBack, LOW);
    digitalWrite(LeftGo, HIGH);
    digitalWrite(LeftBack, LOW);
}

void back() {
    digitalWrite(RightGo, LOW);
    digitalWrite(RightBack, HIGH);
    digitalWrite(LeftGo, LOW);
    digitalWrite(LeftBack, HIGH);
}

void stopCar() {
    initCar();
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Arduino设计 有害气体检测小车 的相关文章

  • ADXL345 与 ESP32 I2C 垃圾值问题

    我已根据以下教程使用 I2C 接口将 ESP32 与 ADXL345 连接起来Tutorial http www esp32learning com code esp32 and adxl345 sensor example php 但是
  • Windows IoT 和 DS3231 RTC 时钟

    对于我的项目 我需要当前时间和日期 不幸的是 当 RP2 关闭时 它就会失去一切 接下来的事情是 我将没有互联网连接来使用 NTP 为此 我需要实现 DS3231 RTC 模块 所有设备的通信都通过 I2C 运行 Raspberry Ard
  • android BluetoothChat 使用来自另一个类的发送接收方法

    您好 我使用 BluetoothChat 示例来与 arduino 进行通信 到目前为止 一切正常 现在我想访问 sendMessage 方法 以便能够不从主类发送数据 而是从我创建的另一个类发送数据 这是BluetoothChat jav
  • 将 Arduino RGB LED 从一种颜色渐变为另一种颜色?

    目前 我已成功让 LED 灯循环显示我选择的八种颜色 一切都工作正常 除了我想要一种更自然的感觉 并且想要从一种颜色褪色 过渡到下一种颜色 而不是让它们互相替换 到目前为止 这是我的代码 int redPin 11 int greenPin
  • 如何使用 PHP 读取串口 [重复]

    这个问题在这里已经有答案了 如何使用 php 从连接到我的服务器 运行 kali linux 的旧笔记本电脑 上的 COM 端口的 arduino 读取串行数据 以便我可以在网页上显示数据 我读过有关同一问题的其他问题 所有这些问题要么超级
  • 使用 pySerial 等待 Arduino 自动重置

    我正在尝试在 Linux 上使用非常简单的代码 为了展示问题 从 Arduino 板上读取行 Python代码 arduino py import serial arduino serial Serial dev ttyACM0 with
  • Arduino Nano 上的 WiFi

    我无法找到的虚拟问题 我用来将 WiFi 802 11b g n 添加到 Raspberry Pi 的扩展板也可以在 Nano 上使用吗 换句话说 向 Arduino Nano 板添加 WiFi 有多容易 可行 Thanks Arduino
  • 如何在观察者中处理具有不同状态值类型的 Observables

    首先是上下文和问题 框架代码在帖子底部 我们正在创建并实现一个 C 框架 以便在 Arduino 等环境中使用 为此 我想使用观察者模式 其中任何对传感器状态变化感兴趣的组件 Observables 可以注册自己 并且它将通过 Observ
  • 蓝牙 HC-05 发送错误 1F 仅适用于 INQ 命令

    我的新蓝牙 HC 05 模块有问题 在 AT 模式下 它可以与我需要的所有命令完美配合 除了 INQ 我已经尝试事先发送一大堆其他命令 AT INIT OK AT ORGL OK AT ROLE 1 OK AT CLASS 0 OK 他们都
  • 如何将 char 数组定义为常量?

    这里是 C C 菜鸟 我已经在头文件中定义了它 typedef unsigned char BitChar 9 8 data bytes chars and one width byte char extern BitChar BitFon
  • Python自动选择串口(适用于Arduino)

    目前 Python 程序必须知道设备 Arduino 位于哪个端口 然后 Python 才能与设备进行通信 Problem 每当设备拔出并重新插入时 其 COM 端口都会发生变化 因此必须再次向 Python 提供正确的串行端口 以便它找到
  • 同时使用 GPRS 和 GSM

    我正在尝试使用 GSM GPRS 调制解调器的 GPRS 功能将数据发送到远程服务器 但我无法这样做 我在 Arduino 论坛上发布了一个问题 但没有得到任何回复 这是问题的链接 https robotics stackexchange
  • ESP32 Arduino-ide如何获取唯一id

    我试图自动为每个 esp32 设置一个唯一的 id 在我使用提供该方法的 ESP IDF 框架对设备进行编程之前esp efuse mac get default 这将返回一个 8 字节值 该值在我手上的所有设备上都是唯一的 在arduin
  • Arduino从SD卡读取最后一行

    我对 Arduino 业务还很陌生 如何从 SD 卡读取最后一行 通过以下代码片段 我可以读取第一行 n 之前的所有字符 现在我想添加一个 向后 声明 或其他内容 到目前为止我的代码 include
  • 为什么使用 libnfc 和 PN532 SHIELD 时“找不到 NFC 设备”

    我在 ArchLinux 上安装了 libnfc 并通过我的 Adafruit PN532 arduino SHIELD 使用它 nfc list返回消息 未找到 NFC 设备 我在 etc nfc devices d pn532 conf
  • 如何使用GSM模块SIM800和Arduino Uno发送短信?

    我正在尝试通过 SIM800 GSM 模块从 Arduino 发送短信 消息到达给定号码 但格式不正确 它显示 消息格式不支持 我在这里添加了我的代码 非常感谢您的快速回复 include
  • 是否可以在 Arduino 上运行 ZeroMQ

    我想知道是否可以通过 ZeroMQ 与 Arduino 进行通信 我想使用 Arduino 来控制一些设备 并希望将大部分应用程序放在计算机上 为此 如果 Arduino 和控制器可以通过 Zeromq 以及 WiFi 或以太网扩展板进行通
  • 通过iPhone音频插孔读取数据

    我正在寻找一种方法来读取通过 iPhone 的音频插孔从 Arduino 发送的原始数据 我搜索了很多并发现this https github com sanjibahmad Is Headphone Plugged In tree mas
  • Arduino串口数据解析

    我正在编写一个应用程序 通过蓝牙用我的 Android 手机控制我的机器人 一切都很顺利 数据得到回显和验证 但我在协议方面遇到了一些问题 特别是我希望我的机器人的轮子在我发送时转动一个命令 例如s 10 100 or s 30 10 数值
  • 在链接时合并全局数组/从多个编译单元填充全局数组

    我想定义一系列的东西 比如事件处理程序 的内容 该数组在编译时是完全已知的 但定义在 多个编译单元 分布在多个库中 至少在最终 静态 链接之前是相当解耦的 我想要 也保持这种方式 因此添加或删除编译单元将 还可以自动管理事件处理程序 而无需

随机推荐

  • 基于深度学习的知识追踪研究进展 Research Advances in the Knowledge Tracing Based on Deep Learning

    8 基于深度学习的知识追踪研究进展 Research Advances in the Knowledge Tracing Based on Deep Learning 摘要 xff1a 知识追踪是教育数据挖掘领域的一个重要研究方向 xff0
  • Tomcat控制台弱密码漏洞

    文章目录 一 漏洞介绍1 1 漏洞原理1 2 影响版本1 3 触发条件 二 环境搭建2 1 环境信息2 2 tomcat配置2 3 配置漏洞环境 三 攻击过程3 1 控制台弱密码3 2 冰蝎控制 四 漏洞修复 一 漏洞介绍 1 1 漏洞原理
  • linux(debian11)系统安装那些事儿--没有无线网需要安装无线网卡驱动双显卡等问题

    linux在日常的工作和生活中是经常用到的 xff0c 在安装的时候 xff0c 和windows不太一样 xff0c 有些驱动是需要我们自己手动安装的 xff0c 但是也并不麻烦 这里记录一下 xff0c 一种很简单的安装intel无线网
  • java线程编排CompletableFuture

    在开发中偶尔也会需要用到线程编排 比如查询商品数据 查询商品规格信息和商品图片耗时分别是1 2s和5s 如果是异步执行 那么就可以使用5s完成查询了 而不是6 2s 这里记录一下 CompletableFuture完成线程编排 import
  • dump数据库导表线上服务无响应

    有时候 有些场景下 我们需要拷贝线上的数据 进行本地测试 如果你用的是dbeaver工具操作数据库 在拷贝数据库的时候容易导致服务器没响应 看服务正常运行 但是前端访问就是没反应 服务器也没欠费 这是什么情况呢 就是mysql在进行dump
  • 多线程之如何设计线程数量

    创建多少线程合适 xff0c 要看多线程具体的应用场景 一般来说 xff0c 我们可以将程序分为 xff1a CPU密集型程序和I O密集型程序 xff0c 而针对于CPU密集型程序和I O密集型程序 xff0c 其计算最佳线程数的方法是不
  • P1825 [USACO11OPEN]Corn Maze S 题解

    这道题就是一道普通的搜索题 xff0c 非常非常普通 xff0c 普通的不能再普通那种 xff0c 和以前的bfs一样 xff0c 不过这个bfs要注意一个特判 xff0c 当弹出的那个元素的是大写字母的时候 xff0c 要窜梭到对应的大写
  • 向CentOS7虚拟机中复制文件报错error when getting information

    xff08 安装过程中 xff0c 所有询问 xff0c 都是 yes 或者按 Enter 同意默认路径 xff0c 其中的一个要注意的见下图 xff09
  • 程序设计思维与实践week12作业

    文章目录 A 必做题 1 HDU 1029描述输入输出样例想法代码 B 必做题 2 POJ 2251描述输入输出样例想法代码 C 必做题 3 HDU 1024描述东东每个学期都会去寝室接受扫楼的任务 xff0c 并清点每个寝室的人数 输入输
  • nginx安装时/ngx_murmurhash.c:37:11: error: this statement may fall through [-Werror=implicit-fallthroug

    nginx安装时 ngx murmurhash c 37 11 error this statement may fall through Werror 61 implicit fallthroug如图报错 nginx 1 8 objs M
  • vmware如何把虚拟机和本地主机如何设置在同一网段

    我的本地系统是win10系统 xff0c 其它系统方法没试过 xff0c 应该差不多 一 前提是你此时已经安装好了vmware与操作系统了 二 首先在本地系统上操作 xff1a 1 2 3 4 右键该选择查看属性 ip4 不用做其它操作 5
  • 树莓派3B+指南(十五)omxplayer的安装与使用

    omxplayer的安装与使用 需要用python来控制播放视频 xff0c 所以就找到了这个播放器 xff0c 很好用 看了官网文档 xff0c 安装使用都写的比较明白了 官网地址 xff1a https python omxplayer
  • 使用ffmpeg将实时流保存为AVI

    项目中需要将编码器编码出的H264数据保存为avi格式文件 使用ffmpeg接口进行实现 ffmpeg一般是直接打开本地视频文件 如avi mp4等 或者网络视频流 如 xff1a rtmp流媒体等 xff0c 只需要直接将本地视频文件名或
  • 电脑发热严重:禁用独立显卡(Nvidia)/ TLP解决cpu占用率大

    引言 CPU温度经常居高不下 xff0c 每天风扇嗡嗡响 xff0c 尝试过许多办法都没有解决 xff0c 最后用了一个工具 xff0c 并禁用独显 xff0c 明显改善 xff01 1 禁用独立显卡 参考 xff08 真正帮我解决问题的方
  • 网易云音乐网络问题修复 (加载失败)

    问题 网易云一切网络功能正常 xff0c 唯有在线播放时出现问题 xff0c 提示加载失败 问题解决 查看log xff0c 发现是不能建立到m7 music 126 net 原因不知道 联系舍友问能不能听歌 xff0c 舍友说可以 xff
  • ibus-setup-sunpinyin 打不开

    ibus setup sunpinyin 打不开 提示 Traceback most recent call last File 34 usr share ibus sunpinyin setup main py 34 line 42 in
  • 编译原理 Tiny编译器和TM虚拟机

    编译器与解释器的设计流程 编译器前端部分 词法分析 字符流 gt 记号流 词法分析也称作扫描 xff0c 是编译器的第一个步骤 xff0c 词法分析器读入组成源程序的字符流 xff0c 并且将它们组织成为有意义的词素的序列 xff0c 对于
  • Markdown emoji 收藏

    表情符的使用 人物 syntaxpreviewsyntaxpreviewsyntaxpreview bowtie bowtie smile x1f604 laughing x1f606 blush x1f60a smiley x1f603
  • Powershell中解决win10无法打开设置等应用问题

    在powershell中 选择run as administer 输入 Get AppxPackage AllUsers Foreach Add AppxPackage DisableDevelopmentMode Register spa
  • Arduino设计 有害气体检测小车

    有害气体检测小车 从代码已经可以看得出电路应该怎么接了 具体电路就不放上来了 Arduino控制部分代码 span class token macro property span class token directive keyword