提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、单片机简介
  • 二、系统实现
    • 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实现的蓝牙自动开关灯相关推荐

  1. Arduino毕业设计——基于Arduino+PID+AI的自动驾驶小车控制系统设计与实现(毕业论文+程序源码)——自动驾驶小车控制系统

    基于Arduino+PID+AI的自动驾驶小车控制系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Arduino+PID+AI的自动驾驶小车控制系统设计与实现,文章末尾附有本毕业设计的 ...

  2. 基于Arduino的草缸自动控制系统

    [智能草缸-哔哩哔哩] https://b23.tv/Pxea9NK 很早之前就想要实现一个全自动控制的草缸,当时是19年刚研究生入学,正好在本科毕业的暑假时间,有在培训机构教学Micro bit的硬 ...

  3. 基于Arduino UNO可蓝牙操控、避障、循迹、鸣笛的四驱智能小车

    采用 Arduino Uno单片机作为主控单元,采用四轮式移动平台,四轮均可驱动,可以通过蓝牙控制小车前进.后退.原地转向等操作,可调节车速,可鸣笛警报,可自动识别并躲避障碍物,可遵循特定轨道自动行驶 ...

  4. 实践 基于Arduino 的 HC06蓝牙 控制 TB6612FNG 驱动电机

    一.实践目的 通过蓝牙模块控制电机的转动 这里用的是Arduino UNO 做主控版,最后搞定是这样的 二.HC06 蓝牙模块 HC06是常用的蓝牙从机模块,串口9600波特率,他有4个接口接入Ard ...

  5. 基于Arduino开发的智能蓝牙小车

    基于Arduino的智能蓝牙小车 材料准备: Arduino开发板一块.四驱小车底板及相关配件一套.L298N驱动模块一个.HC-05/06蓝牙模块一块,九伏电源一块(用于主板供电).12V锂电池一块 ...

  6. 基于Arduino项目案例

    从初见到痴迷,十大方案带你感受Arduino的灵活多变 Arduino是一款便捷灵活.方便上手的开源电子原型平台,受到了国内外工程师们的追捧.Arduino能通过各种各样的传感器来感知环境,通过控制灯 ...

  7. 基于Arduino的无接触式智能门锁(RFID和蓝牙开锁)

    一.简单介绍 本项目基于Arduino开发,支持刷卡(复旦卡)和蓝牙串口密码发送两种方式,支持舵机和继电器(可接电磁锁等)两种开锁方式.详情见代码,代码注释很全的. 文章末尾附源程序.库文件.3D打印 ...

  8. arduino智能浇花系统_基于Arduino的远程自动浇花系统设计

    基于 Arduino 的远程自动浇花系统设计 陈培东 ; 姚玉环 ; 李祖鹏 ; 周艺轩 [期刊名称] <电子世界> [年 ( 卷 ), 期] 2017(000)006 [摘要] 设计了一 ...

  9. diy 单片机 自动浇花_自动浇花系统的设计及制作 基于Arduino

    对于家里有养花草的人来说,一旦到外地出差或者出门远游,他们会纠结一个问题:家里的植物交给谁来打理呢?外出期间没有人浇水,它们很有可能会枯死.如果真的找不到别人来帮忙的话,可以试着按照下面的教程DIY一 ...

最新文章

  1. 再见了Spring Cloud!这个架构有点厉害,甚至干掉了Dubbo!
  2. JavaScript里面三个等号和两个等号的区别
  3. apache shiro 如何升级_Shiro登录认证
  4. TCP/IP详解学习笔记(2)-数据链路层
  5. 5.3 个体条件期望(Individual Conditional Expectation, ICE)
  6. For in 详解
  7. Linux命令解释之find
  8. LVS+KeepAlived,RabbitMQ高可用负载均衡
  9. mysql语言是数据的行数据_自己总结的一些my sql数据库的知识,需要的可以看一看...
  10. 【Hive】实战之电商平台销售数据探索分析案例(含数据)
  11. 2021年影响会计人员的十大信息技术榜单出炉,RPA再次登榜
  12. 邹博机器学习代码分析(1)-线性回归
  13. layui 前端分页 后端分页
  14. 旁路电容和去偶电容Bypass and Decouple
  15. 在线学习编程网站收集
  16. 微信小程序地图实现标记多个位置
  17. 7.7.4 积分卡管理系统示例
  18. mysql截取两个括弧中间的字符_mysql 截取指定的两个字符串之间的内容
  19. oracle导入失败后怎样删除已导入数据,Oracle数据的导入、导出、插入、更新及删除总结...
  20. 什么是长尾词,长尾关键词的SEO秘密有哪些?

热门文章

  1. windows系统自备垃圾清理工具
  2. 数仓中的口径及常用口径
  3. 模块WOODWARD EASYGEN-2500-5 8440-1884
  4. 微软官方U盘安装win7工具
  5. 10-209 在订单表中查询运费的最大值和最小值
  6. lodop指定打印机打印_使用Lodop实现打印机列表
  7. 天刀服务器维护中,天涯明月刀12月16日服务器维护公告 天刀12月16日更新内容介绍...
  8. Acwing C++语法基础
  9. Ember 翻译——教程十二:部署
  10. 透明漂亮的桌面天气预报工具-中国农历天气预报1.6.1