想要了解Seeeduino V3/Arduino UNO?

下面介绍一下我的seeeduino v3/arduino uno玩板经验,供大家学习参考,通过下面四个小项目从浅入深介绍seeeduino v3在生活中的应用
使用lcd1602液晶屏显示文字
使用dht11温湿度传感器测量温湿度并在lcd1602液晶屏显示环境温湿度
使用hc-sr04超声波模块测距并在lcd1602液晶屏显示物体间距
使用rtc模块ds1307和dht11温湿度传感器在lcd1602液晶屏显示时间日期工作日和环境温湿度数据
开发环境搭建:
seeeduino v3/arduino uno需要下载arduino ide来编程和烧写到开发板,到官网根据操作系统下载安装arduino ide即可,
安装好arduino ide后打开程序按下图选择开发板类型
然后将seeeduino v4.2用手机usb线连接到电脑的usb口,安装下面驱动
然后会在设备管理器里面看出usb串行设备记下串口号
在arduino ide里面修改串口号为上面串口号
这样就完成了开发环境的配置
一、使用lcd1602液晶屏显示文字
下面从最简单的使用lcd1602液晶屏显示文字开始学习,为了减少连接线,使用i2c方式连接lcd1602
硬件连接方法:
lcd1602的vcc gnd sda scl分别连接到seeed红版(arduino uno r3)增强板的5v gnd a4 a5,然后使用数据线连接seeed红版(arduino uno r3)增强板和电脑
查看lcd1602的i2c地址:
首先打开arduino ide,输入下面sketch扫描i2c地址
#include void setup(){ wire.begin(); serial.begin(115200); serial.println(i2c scanner);}void loop(){ byte error, address; int ndevices; serial.println(scanning...); ndevices = 0; for(address = 1; address < 127; address++ ) { wire.begintransmission(address); error = wire.endtransmission(); if (error == 0) { serial.print(i2c device found at address 0x); if (address<16) serial.print(0); serial.print(address,hex); serial.println( !); ndevices++; } else if (error==4) { serial.print(unknow error at address 0x); if (address<16) serial.print(0); serial.println(address,hex); } } if (ndevices == 0) serial.println(no i2c devices found); else serial.println(done); delay(5000);}
然后上传开发板运行
然后打开串口检测
查看串口信息如下
可知液晶屏i2c地址3f,然后打开库管理,搜索liquid crystal i2c库并安装
然后创建一个新sketch,输入下面
#include #include liquidcrystal_i2c lcd(0x3f,16,2);void setup(){lcd.init();// print a message to the lcd.lcd.backlight();lcd.print(www.ickey.cc);}void loop(){}上传后效果如下
二、使用dht11温湿度传感器测量温湿度并在lcd1602液晶屏显示环境温湿度
硬件连接方法:
lcd1602连接方法和之前一样,使用i2c连接方法,将vcc gnd sda scl分别连接开发板的5v gnd a4 a5
dht11的vcc gnd data连接开发板的3v3 gnd d7
软件配置方法:
需要安装的库liquidcrystal_i2c、dht11,dht11库可以按下图安装
然后加入选择下面文件即可安装dht11库
然后创建一个sketch
然后上传到开发板运行效果如下
三、使用hc-sr04超声波模块测距并在lcd1602液晶屏显示物体间距
硬件连接方法:
将lcd1602使用i2c连接到开发板,sda scl分别连接开发板上sda scl,lcd1602的vcc gnd连接到开发板jp3的vcc gnd
将hc-sr04超声波传感器的vcc gnd trig echo分别连接到开发板的5v gnd d0 d1
软件配置方法:
打开arduino ide,确认安装liquidcrystal_i2c库后新建sketch,输入下面代码
#include #include #define trig 0#define echo 1 float cm;float range; liquidcrystal_i2c lcd(0x3f,16,2); void setup() { pinmode(trig, output); pinmode(echo, input); lcd.init(); lcd.backlight();} void loop() { digitalwrite(trig, low); delaymicroseconds(2); digitalwrite(trig,high); delaymicroseconds(10); digitalwrite(trig, low); range = float(pulsein(echo, high)); cm = range*0.034/2; lcd.setcursor(0,0); lcd.print(d = ); lcd.print(cm); lcd.setcursor(0,1); lcd.print(distance in cm); delay(500); }
上传后运行如下图
四、使用rtc模块ds1307和dht11温湿度传感器在lcd1602液晶屏显示时间日期工作日和环境温湿度数据
硬件连接方法:
lcd1602的sda scl分别连接到开发板a4 a5,lcd1602的vcc gnd连接开发板jp3的vcc gnd
ds1307模块的vcc gnd sda scl连接开发板的5v gnd sda scl
dht11温湿度传感器的vcc gnd data连接开发板的3v3 gnd d7
软件配置方法:
打开arduino ide安装rtclib库、liquidcrystal_i2c库、dht sensor library by adafruit库、adafruit unified sensor库
新建sketch输入下面代码
#include #include #include dht.h#include #define dhtpin 7#define dhttype dht11dht dht(dhtpin, dhttype);float hum;float temp;liquidcrystal_i2c lcd(0x3f,16,2);rtc_ds1307 rtc;char daysoftheweek[7][12] = {sun, mon, tue, wed, thu, fri, sat};void setup () { serial.begin(9600); lcd.init(); lcd.backlight(); dht.begin(); wire.begin(); rtc.begin(); rtc.adjust(datetime(__date__, __time__)); }void loop () { int h = dht.readhumidity(); int t = dht.readtemperature(); datetime now = rtc.now(); serial.print(now.year(), dec); serial.print('-'); serial.print(now.month(), dec); serial.print('-'); serial.print(now.day(), dec); serial.print(' '); serial.print(now.hour(), dec); serial.print(':'); serial.print(now.minute(), dec); serial.print(':'); serial.print(now.second(), dec); serial.print(' '); serial.print(daysoftheweek[now.dayoftheweek()]); serial.println(); lcd.setcursor(0,0); lcd.print(now.year(), dec); lcd.print('-'); lcd.print(now.month(), dec); lcd.print('-'); lcd.print(now.day(), dec); lcd.print(' '); lcd.print(daysoftheweek[now.dayoftheweek()]); delay(1000); lcd.setcursor(0,1); lcd.print(now.hour(), dec); lcd.print(':'); lcd.print(now.minute(), dec); lcd.print(':'); lcd.print(now.second(), dec); lcd.print(' '); lcd.setcursor(9,1); lcd.print(t); lcd.print(c); lcd.print( ); lcd.print(h); lcd.print(%);}效果如下

基于PIC16C63单片微机和模糊控制器实现新型电机调速系统的设计
梯度提升算法
接线端子有几种,接线端子规格大全型号
FSK调制器
高通联手恩智浦:NFC市场大口夺食
想要了解Seeeduino V3/Arduino UNO?
“互联网+”与物联网云计算大数据工业4.0的关系
多肉室内过冬阳光不够,试试LED植物补光灯
基于光敏单层MoS₂忆阻晶体管的仿生视觉触觉神经元
阜石路上空将跑直线电机磁悬浮列车
伊朗黑客组织开始部署针对社交平台LinkedIn的网络钓鱼活动
与价值链共同合作 共同构筑高质量和可持续发展
AWR软件的ACE技术的PCB仿真简介与选择
奥迪e-tron8月亮相:电池+充电,技术构造带你提前看
互联网发明者发言:当今的网络需要的是修复
常用的电子开关ic汇总大全_常用开关电源芯片大全
安防经理人应该如何赋能企业 是企业转型升级的关键因素
三星GalaxyZFlip3 5G奥运纪念版开售 购机享好礼
马斯克称已将大脑上传到云端
Solas OLED提出337调查申请,指控苹果、三星等企业侵权OLED设备