Arduino语言注解Arduino语言是建立在C/C++基础上的,其实也就是基础的C语言,Arduino语言只不过把AVR单片机(微控制器)相关的一些参数设置都函数化,不用我们去了解他的底层,让我们不了解AVR单片机(微控制器)的朋友也能轻松上手。

相比Arduino,也许我们更熟悉“集成电路”这一概念。集成电路是为了实现某种特定功能的计算而设计的微小芯片。对于普通人来说,传统的集成电路应用比较繁琐,一般需要具有一定电子知识基础,并懂得如何进行相关的程序设计的工程师才能熟练使用。但是Arduino的出现让曾经只有专业人士才能使用的集成电路变为平易近人的电子设计工具,即使没有程序设计基础,也可以通过简单的学习,掌握使用Arduino的方法。为了实现这一目标,Arduino从两方面进行了努力与改进。首先,在硬件方面,Arduino本身是一款非常容易使用的印刷电路板。电路板上装有专用集成电路,并将集成电路的功能引脚引出方便我们外接使用。同时,电路板还设计有USB接口方便与电脑连接。其次,在软件方面,Arduino提供了专门的程序开发环境Arduino IDE。其界面设计简洁,对于没有接触过程序设计的“小白”也可以轻松上手。

Arduino--UNO主板

Arduino--IDE

实验一  Hello world

目标效果:打印“Hello world” 字体

硬件准备:Arduino UNO 主板

软件准备:Arduino--IDE

电路连接:Arduino主板——电脑

代码

void setup() {

// put your setup code here, to run once:

Serial.begin(115200);

}

void loop() {

// put your main code here, to run repeatedly:

Serial.println("Hello world !");

delay(1000);

}

实验二 动态显示屏实验

目标效果:显示屏显示打印的文字

硬件准备

Arduino UNO一块

IIC1602显示模块一个

Arduino UNO底板一块

杜邦线若干

软件准备:Arduino--IDE

电路连接

GND——GND

VCC——5V

SDA——A4

SCL——A5

代码

#include <Wire.h>

#include <LCD.h>

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7); // 0x27 is the I2C bus address for an unmodified backpack

void setup() { // activate LCD module

lcd.begin (16,2); // for 16 x 2 LCD module 设置LCD的列和行数

lcd.setBacklightPin(3,POSITIVE);

lcd.setBacklight(HIGH);

}

void loop() {

lcd.home (); // set cursor to 0,0   将光标设置为第0列第1行

lcd.print("  KeywishRobot");

delay(1000);

lcd.setCursor (0,1); // go to start of 2nd line

lcd.print("    ");

lcd.print(millis());

delay(1000);

lcd.setBacklight(LOW); // Backlight off delay(250);

lcd.setBacklight(HIGH); // Backlight on delay(1000);

}

实验三 温湿度传感器

目标效果:屏幕显示当前的温度和湿度

硬件准备

Arduino UNO一块

IIC1602显示模块一个

DHT11 温湿度传感器一个

杜邦线若干

软件准备:Arduino--IDE

电路连接

IIC1602:

GND——GND

VCC——5V

SDA——A4

SCL——A5
DHT11:

VCC — 3.3V

GND — GND

DAT — pin8

代码

/*

* 使用温湿度传感器检测信息并显示在 LCD 上

*/

#include <Wire.h>  // 导入驱动 LCD 需要的库

#include "LCD.h"

#include"dht11.h"  // 导入 dht 库,用于温湿度传感器

#include "LiquidCrystal_I2C.h"

#define DHT11PIN  8  // 将温湿度传感器的数据端口接至 A0

dht11 DHT11;

LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7);    // 0x27 是 I2C 总线的地址

void setup() {

pinMode(DHT11PIN,OUTPUT);

lcd.begin (16,2); // for 16 x 2 LCD module 初始横16列、竖2行

lcd.setBacklightPin(3,POSITIVE);

lcd.setBacklight(HIGH);

}

void loop() {

// 读取温湿度传感器的数据

int chk = DHT11.read(DHT11PIN);

// LCD 显示采集的温湿度数据

lcd.setCursor(0, 0);

lcd.print("Tep: ");

lcd.print((float)DHT11.temperature, 2);

lcd.print("C");

lcd.setCursor(0, 1);

lcd.print("Hum: ");

lcd.print((float)DHT11.humidity, 2);

lcd.print("%");

delay(200);

}

延伸--图形编程软件:Scratch、mBlock

Scratch是一款由麻省理工学院(MIT) 设计开发的一款面向少年的简易编程工具,scratch已经是少儿编程行业的基础软件。

mBlock 是一款面向 STEAM 教育领域的图形化编程学习软件,基于 Scratch 3.0 开发。它不仅能让用户创作有趣的故事、游戏、动画等作品,并且支持 Makeblock 主板和其他 Arduino 硬件的编程。

语法常用参数

1、pinMode(接口名称,OUTPUT或INPUT)将——接口定义为输入或输出接口,用在setup()函数里。

2、digitalWrite(接口名称, HIGH或LOW)——将数字接口值至高或低。

3、digitalRead(接口名称)——读出数字接口的值。

4、analogWrite(接口名称, 数值)——给一个接口写入模拟值(PWM波)。对于 ATmega168芯片的Arduino(包括Mini或BT),该函数可以工作于 3, 5, 6, 9, 10和 11号接口。老的 ATmega8芯片的USB和 serial Arduino仅仅支持 9, 10和1 1号接口。

5、analogRead(接口名称)——从指定的模拟接口读取值,Arduino对该模拟值进行10-bit的数字转换,这个方法将输入的0-5电压值转换为 0到1023间的整数值。

6、delay()——延时一段时间,delay(1000)为一秒。

7、Serial.begin(波特率)——设置串行每秒传输数据的速率(波特率)。在同计算机通讯时,使用下面这些值:300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600或 115200。你也可以在任何时候使用其它的值,比如,与0号或1号插口通信就要求特殊的波特率。用在setup()函数里

8、Serial.read()——读取持续输入的数据。

Arduino+温度、湿度传感器的更多相关文章

  1. 【.NET 与树莓派】温度/湿度传感器——SHT30

    SHT3XX 系列的传感,常见的有三种:SHT 30.SHT 31.SHT 35.其中,比较便宜性价比较愉快的是 SHT 30. DHT 11 模块也是检测温度.湿度的,但SHT 11 使用的不是我们 ...

  2. Arduino IDE 开发ESP-01/ESP8266-01读取DHT11温度湿度传感器

    引脚接线: DHT11---ESP8266-01 Singnal--IO2, GND----GND, VCC----VCC DHT11引脚说明: ESP8266-01/ESP8266-01S引脚说明: ...

  3. 【Raspberry Pi】DHT11 温度湿度传感器数据读取

    时序图参考厂家说明书:DHT11数字湿温度传感器的原理和应用范例 四个阵脚连接:VCC接3.3伏电源,Dout接GPIO口,我接的是物理12针脚,NC留空,GND接地. 波折1:电阻被错接进了VCC, ...

  4. 树莓派从 DHT11 温度湿度传感器读取数据

    时序图参考厂家说明书:DHT11数字湿温度传感器的原理和应用范例 四个阵脚连接:VCC接3.3伏电源,Dout接GPIO口,我接的是物理12针脚,NC留空,GND接地. 波折1:电阻被错接进了VCC, ...

  5. Arduino IDE 开发 ESP-01S/ESP-01物联网实战检测温度湿度上传MQTT服务器

    一.硬件准备 USB转ESP8266两块.DHT11温度湿度传感器.ESP8266-01/ESP8266-01一块(如果学习的话多买几块,ESP-01/ESP-01S的区别) USB转ESP8266 ...

  6. 单片机DIY制作-基于STM32单片机甲醛二氧化碳温度湿度采集系统

    基于STM32单片机甲醛二氧化碳温度湿度采集系统 实践制作DIY-GC008-甲醛二氧化碳温度湿度采集系统 一.功能说明: 基于STM32单片机设计-甲醛二氧化碳温度湿度采集系统 二.功能介绍: 1. ...

  7. 「雕爷学编程」Arduino动手做(8)——湿度传感器模块

    37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...

  8. Arduino I2C + 温湿度传感器AM2321

    (2015.5.17:本日志的内容有所更新,参见<使用Arduino Wire Library读取温湿度传感器AM2321>.) AM2321是广州奥松电子生产的数字式温湿度传感器.虽是国 ...

  9. Arduino I2C + 温湿度传感器Si7021

      Si7021是Silicon Labs生产的温湿度传感器芯片.其主要特性: 湿度精度:误差典型值+/-2%RH,最大值+/-3%RH(0~80%RH),出厂已校正 温度精度:误差典型值+/-0.3 ...

随机推荐

  1. 教你如何开发一个完败Miracast的投屏新功能

      手机与电视,是陪伴在我们生活最常见,陪伴最长久的智能设备.迅猛发展的移动终端与通信技术,赋予了手机更广阔多元的应用生态,大屏电视则以大视野和震撼影音,弥补了手里方寸带来的视觉局限.而今,手机的延伸 ...

  2. Python之浅谈运算符

    目录 格式化输出的三种方式 第一种格式化方式(3.0) 第二种格式化方式(3.4) 第三种格式化方式(3.6) 基本运算符 逻辑运算符 相等运算符 比较运算符 算术运算符 位运算符 流程控制 if判断 ...

  3. spark | 手把手教你用spark进行数据预处理

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是spark专题的第七篇文章,我们一起看看spark的数据分析和处理. 过滤去重 在机器学习和数据分析当中,对于数据的了解和熟悉都是最基 ...

  4. nginx配置奇怪问题记录

    执行  nginx -t  检查配置报了如下错误: 下面是配置信息 遇到个很奇怪的问题,plm-api-stage 这么配置就可以正常校验过,但是改成 plm-stage-api,就会上面的警告信息: ...

  5. html5中contenteditable 光标_如何设置光标位置

    在js中,光标是一个对象,当你选中某个元素的时候才会出现光标对象.比如:我们点击一个输入框,实际会产生一个选中对象-selection,这个对象我们可以通过indow.getSelection()来获 ...

  6. VScode 配置c/c++环境(结合各大网站的blog和官方文档)

    第一步:下载mingw64 首先,在各大搜索引擎上搜索mingw64,进入其官网下载即可 需要注意的是,下载默认的是先从网页上下载下载器,再进行选择下载.但是在部分电脑上下载会出现什么mingw64. ...

  7. windows快速安装redis

    下载地址:https://github.com/microsoftarchive/redis/releases 下载解压,命令行:redis-server.exe redis.windows.conf

  8. UiAutomator源码学习(1)-- UiDevice

    UiDevice提供对设备状态信息的访问. 也可以使用此类来模拟设备上的用户操作,例如按键盘或按Home和Menu按钮.UiDevice类的完整源码 UiDevice.java 废话不多说,我们首先根 ...

  9. 简单了解一下 Swagger

    一.Swagger 1.什么是 Swagger ? Swagger 是一个规范和完整的框架,用于生成.描述.调用以及可视化的 Restful 风格的 Web 服务. 简单的理解:是一款 REST AP ...

  10. CCNA-Part5 - 传输层 ,TCP 为什么是三次握手?

    传输层 传输层主要的作用就是建立端到端的连接.比如电脑的微信的通信,就需要跨越多个网络设备(交换机和录取)再和微信的服务器建立连接. 传输层需要具有以下的特点: 会话的多复用:如电脑上开启的多个应用, ...