基于Arduino实现的蓝牙自动开关灯
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、单片机简介
- 二、系统实现
- 1.系统组成
- 2.接线
- 3.代码实现
- 三、系统展示
- 1.蓝牙控制实现
- 2.成果图
- 总结
前言
例如:随着人工智能的不断发展,智能化越来越融入人们生活,很多人都开启了嵌入式学习,本文就介绍了如何用Arduino实现蓝牙自动开关灯。
提示:以下是本篇文章正文内容,下面案例可供参考
一、单片机简介
Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(ArduinoIDE)。由一个欧洲开发团队于2005年冬季开发。它构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。主要包含两个部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。对Arduino的编程是通过 Arduino编程语言 (基于 Wiring)和Arduino开发环境(基于 Processing)来实现的。基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,它们之间进行通信 (比如 Flash, Processing, MaxMSP)来实现。
二、系统实现
1.系统组成
本系统组成元器件包括:9g舵机、HC-06蓝牙模块、Arduino控制板、LCD1602显示屏、DHT11(感知温湿度)
2.接线
DHT11
DHT11 | ARDUINO UNO |
---|---|
DATA | 数字 7号口 |
VCC | 5V |
GND | GND |
LCD1602
LCD1602 | ARDUINO UNO |
---|---|
SDA | A4 |
VCC | 5V |
GND | GND |
SCL | A5 |
HC-06
HC-06 | ARDUINO UNO |
---|---|
TX | RX |
VCC | 5V |
GND | GND |
RX | TX |
9g舵机
9g舵机 | ARDUINO UNO |
---|---|
signal | 数字9号口 |
VCC | 5V |
GND | GND |
3.代码实现
代码如下(示例):
#include <dht.h>//库文件
#include <Servo.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h> LiquidCrystal_I2C lcd(0x27,16,2);
dht DHT;
Servo myservo;const int DHT11_PIN=7;//定义引脚
const int analogPin=A3;
const int digitalPin=7;
const int analogPin1=A2;
const int digitalPin1=8;
const int ledPin=13;
const int photocellPin = A5;
char serialData; int Astate=0;
boolean Dstate=0;
int Astate1=0;
boolean Dstate1=0;int outputValue = 0;//char array2[]="This is SUDA. "; //the string to print on the LCD
//char array1[]="Hello everybody. "; //the string to print on the LCDvoid setup()
{myservo.attach(10);//舵机引脚myservo.write(90);delay(1000);Serial.begin(9600);//波特率lcd.init(); lcd.backlight(); pinMode(ledPin,OUTPUT); pinMode(digitalPin,INPUT); pinMode (digitalPin1,INPUT);}void loop()
{Astate=analogRead(analogPin);Dstate=digitalRead(digitalPin); Astate1=analogRead(analogPin1);Dstate1=digitalRead(digitalPin1);outputValue = analogRead(photocellPin);if( Serial.available() > 0 ){ serialData = Serial.read();if ('m' == serialData) { Serial.print(serialData); Serial.println(": manual mode.");myservo.write(90);} else if('o' == serialData) { Serial.print(serialData); Serial.println(": The light opened successfully.");myservo.write(50);//初始仰角// myservo.write(720);delay(1000);//} else if( 'c' == serialData){ Serial.print(serialData); Serial.println(": The light closed successfully.");myservo.write(140);//初始仰角// myservo.write(180);delay(1000);//} else if('r' == serialData){ Serial.print(serialData); Serial.println(": rightTurn Command.");} else{ //do nothing. } }
D: int chk = DHT.read11(DHT11_PIN);switch (chk){case DHTLIB_OK: break;case DHTLIB_ERROR_CHECKSUM: break;case DHTLIB_ERROR_TIMEOUT: goto D;break;default: break;}lcd.setCursor(0, 0);lcd.print("Tem:");lcd.print(DHT.temperature,1); lcd.print(char(223));lcd.print("C");lcd.setCursor(0, 1);lcd.print("Hum:");lcd.print(DHT.humidity,1); lcd.print(" %"); delay(2000); //wait a while }
三、系统展示
1.蓝牙控制实现
使用应用商店蓝牙调试软件进行连接调试,发送O、C、M命令分别进行远程开、关、手动操作模式。
2.成果图
总结
以上就是今天要讲的内容,本文使用Arduino与蓝牙简单实现了自动开关灯,经测试效果良好,符合预期需求。
基于Arduino实现的蓝牙自动开关灯相关推荐
- Arduino毕业设计——基于Arduino+PID+AI的自动驾驶小车控制系统设计与实现(毕业论文+程序源码)——自动驾驶小车控制系统
基于Arduino+PID+AI的自动驾驶小车控制系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Arduino+PID+AI的自动驾驶小车控制系统设计与实现,文章末尾附有本毕业设计的 ...
- 基于Arduino的草缸自动控制系统
[智能草缸-哔哩哔哩] https://b23.tv/Pxea9NK 很早之前就想要实现一个全自动控制的草缸,当时是19年刚研究生入学,正好在本科毕业的暑假时间,有在培训机构教学Micro bit的硬 ...
- 基于Arduino UNO可蓝牙操控、避障、循迹、鸣笛的四驱智能小车
采用 Arduino Uno单片机作为主控单元,采用四轮式移动平台,四轮均可驱动,可以通过蓝牙控制小车前进.后退.原地转向等操作,可调节车速,可鸣笛警报,可自动识别并躲避障碍物,可遵循特定轨道自动行驶 ...
- 实践 基于Arduino 的 HC06蓝牙 控制 TB6612FNG 驱动电机
一.实践目的 通过蓝牙模块控制电机的转动 这里用的是Arduino UNO 做主控版,最后搞定是这样的 二.HC06 蓝牙模块 HC06是常用的蓝牙从机模块,串口9600波特率,他有4个接口接入Ard ...
- 基于Arduino开发的智能蓝牙小车
基于Arduino的智能蓝牙小车 材料准备: Arduino开发板一块.四驱小车底板及相关配件一套.L298N驱动模块一个.HC-05/06蓝牙模块一块,九伏电源一块(用于主板供电).12V锂电池一块 ...
- 基于Arduino项目案例
从初见到痴迷,十大方案带你感受Arduino的灵活多变 Arduino是一款便捷灵活.方便上手的开源电子原型平台,受到了国内外工程师们的追捧.Arduino能通过各种各样的传感器来感知环境,通过控制灯 ...
- 基于Arduino的无接触式智能门锁(RFID和蓝牙开锁)
一.简单介绍 本项目基于Arduino开发,支持刷卡(复旦卡)和蓝牙串口密码发送两种方式,支持舵机和继电器(可接电磁锁等)两种开锁方式.详情见代码,代码注释很全的. 文章末尾附源程序.库文件.3D打印 ...
- arduino智能浇花系统_基于Arduino的远程自动浇花系统设计
基于 Arduino 的远程自动浇花系统设计 陈培东 ; 姚玉环 ; 李祖鹏 ; 周艺轩 [期刊名称] <电子世界> [年 ( 卷 ), 期] 2017(000)006 [摘要] 设计了一 ...
- diy 单片机 自动浇花_自动浇花系统的设计及制作 基于Arduino
对于家里有养花草的人来说,一旦到外地出差或者出门远游,他们会纠结一个问题:家里的植物交给谁来打理呢?外出期间没有人浇水,它们很有可能会枯死.如果真的找不到别人来帮忙的话,可以试着按照下面的教程DIY一 ...
最新文章
- 再见了Spring Cloud!这个架构有点厉害,甚至干掉了Dubbo!
- JavaScript里面三个等号和两个等号的区别
- apache shiro 如何升级_Shiro登录认证
- TCP/IP详解学习笔记(2)-数据链路层
- 5.3 个体条件期望(Individual Conditional Expectation, ICE)
- For in 详解
- Linux命令解释之find
- LVS+KeepAlived,RabbitMQ高可用负载均衡
- mysql语言是数据的行数据_自己总结的一些my sql数据库的知识,需要的可以看一看...
- 【Hive】实战之电商平台销售数据探索分析案例(含数据)
- 2021年影响会计人员的十大信息技术榜单出炉,RPA再次登榜
- 邹博机器学习代码分析(1)-线性回归
- layui 前端分页 后端分页
- 旁路电容和去偶电容Bypass and Decouple
- 在线学习编程网站收集
- 微信小程序地图实现标记多个位置
- 7.7.4 积分卡管理系统示例
- mysql截取两个括弧中间的字符_mysql 截取指定的两个字符串之间的内容
- oracle导入失败后怎样删除已导入数据,Oracle数据的导入、导出、插入、更新及删除总结...
- 什么是长尾词,长尾关键词的SEO秘密有哪些?