创作

完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>

3天内不再提示

Arduino天气时钟的制作教程

39度创意研究所 来源:工程师吴畏 2019-08-01 11:13 次阅读

在本文中,我们将制作Arduino天气时钟,它将告诉我们时间,日期和温度。 LM35传感器将为我们提供温度,DS3231将告诉我们日期和时间,我们将使用OLED显示温度,日期和时间。

电路

首先,将OLED与Arduino连接。 OLED通过SPII2C通信与Arduino配合使用,但我们使用SPI通信连接它。 Arduino上的SPI引脚分别为引脚8,9,10,11和13. OLED与Arduino的连接如下:

连接CS将OLED连接到Arduino的10个。

将OLED的DC连接到Arduino的第9针。

Connect OLED的RES到Arduino的第8针。

将OLED的D1连接到Arduino的第11针。

将OLED的D0连接到Arduino的引脚13.

将OLED的VCC连接到Arduino的5V引脚。

将OLED的GND连接到Arduino的GND引脚。

然后,将DS3231模块与Arduino连接。 DS3231模块通过I2C通信与Arduino配合使用。 Arduino上用于I2C通信的引脚是SDA和SCL。按如下方式将DS3231模块连接到Arduino:

将DS3231的GND连接到Arduino的GND引脚。

将DS3231的VCC连接到Arduino的5V引脚。

将OLED的SDA连接到Arduino上的A4。

将OLED上的SCL连接到Arduino上的A5引脚。

最后,将LM35传感器与Arduino连接。将LM35的左侧引脚连接到Arduino上的5V,中间引脚连接到Arduino上的A0,左侧引脚连接到Arduino上。

代码说明

首先,我们为DS3231模块和OLED添加了库。与用于OLED的其他库相比,OLED的Adafruit库具有更多功能。

#include#包括接下来,我们定义了连接DS3231模块和OLED的引脚。 DS3231模块通过I2C通信与Arduino配合使用,因此我们使用了Arduino的SDA和SCL引脚。

OLED通过SPI通信与Arduino配合使用。因此,我们初始化了用于SPI通信的引脚8,9,10,11,13。之后,我们初始化了LM35传感器引脚和其他变量。

DS3231 rtc(SDA,SCL);

#define OLED_MOSI 11

#define OLED_CLK 13

#define OLED_DC 9

#define OLED_CS 10

#define OLED_RESET 8Adafruit_SSD1306显示(OLED_MOSI,OLED_CLK,OLED_DC,OLED_RESET,OLED_CS);

const int sensor_pin = A0;

float temp;

float output;

在设置功能中,我们将LM35传感器引脚声明为输入,因为Arduino将从传感器获取输入。然后我们将命令发送到DS3231和OLED以开始与Arduino通信。

pinMode(sensor_pin,INPUT); rtc.begin(); display.begin(SSD1306_SWITCHCAPVCC); 以下行在代码中进行了注释,但如果您是第一次使用DS3231模块并且想要设置日期,日期和时间,则取消注释这些行并进行设置。

//rtc.setDOW(星期三);//将星期设置为星期日//rtc.setTime(19,02,0);//将时间设置为12:00:00(24小时格式)//rtc.setDate(7,12,1917);//将日期设置为2017年6月6日然后我们在OLED上打印“天气时钟”5秒钟。

display.clearDisplay(); display.setTextColor(WHITE); display。 setTextSize(2); display.setCursor(0,0); display.print(“Weather”); display.setCursor(0,17); display.print(“Clock”); display.display(); delay(5000 ); 在循环函数中,我们从LM35读取并计算温度。然后我们得到时间和日期并打印在OLED上。

output = analogRead(sensor_pin); temp =(output * 500)/1023; display.clearDisplay(); display.setTextSize(2); display .setCursor(20,0); display.print(rtc.getTimeStr()); display.setTextSize(1); display.setCursor(0,15); display.print(rtc.getDateStr()); display.setTextSize( 1); display.setCursor(70,15); display.print(rtc.getDOWStr());

完整的Arduino代码

#include #include DS3231 rtc(SDA,SCL); #define OLED_MOSI 11 #define OLED_CLK 13 #define OLED_DC 9 #define OLED_CS 10#define OLED_RESET 8Adafruit_SSD1306 display(OLED_MOSI,OLED_CLK,OLED_DC,OLED_RESET,OLED_CS); const int sensor_pin = A0; float temp; float output; void setup(){pinMode(sensor_pin,INPUT); rtc.begin(); display.begin(SSD1306_SWITCHCAPVCC);//rtc.setDOW(WEDNESDAY);//将星期设置为星期日//rtc.setTime(19,02,0);//将时间设置为12:00:00(24小时格式)//rtc.setDate(7,12,1917);//将日期设置为6月6日,2017display.clearDisplay(); display.setTextColor(WHITE); display.setTextSize(2); display.setCursor(0,0); display.print(“Weather”); display.setCursor (0,17); display.print(“Clock”); display.display(); delay(5000);} void loop(){output = analogRead(sensor_pin); temp =(output * 500)/1023; display .clearDisplay(); display.setTextSize(2); display.setCursor(20,0); display.print(rtc.getTimeStr()); display.setTextSize(1); display.setCursor(0,15);显示。打印(rtc.getDateStr()); display.setTextSize(1); display.setCursor(70,15); display.print(rtc.getDOWStr()); display.setTextSize(1); display.setCursor(20,25 ); display.print(“Temp:”); display.print(temp); display.print(“C”); display.display();延迟(1000);}

  • Arduino
    +关注

    关注

    168

    文章

    2332

    浏览量

    174123
收藏 人收藏

    评论

    相关推荐

    使用最少引脚的多设备通信

      虽然这个简短的概述应该让您开始您的 I2C 之旅,但仍有大量的设备和技术可供探索。I2C 是一种....
    的头像 星星科技指导员 发表于 06-27 15:37 5次 阅读
    使用最少引脚的多设备通信

    晶心科技ADP-Corvette-T1开发板试用体验 脑电波检测拓朴结构以及泰凌微IDE安装使用

    本次试用的重点是使用晶心科技ADP-Corvette-T1开发板来和脑电波采集模块通讯,处理完后送到液晶屏或者PC端图1是拓朴图 ...
    发表于 06-25 18:22 2078次 阅读
    晶心科技ADP-Corvette-T1开发板试用体验  脑电波检测拓朴结构以及泰凌微IDE安装使用

    【晶心科技ADP-Corvette-T1开发板试用体验】安装arduino并点灯测试

    本来arduino的安装以及测试应该是超级简单的,但是因为不为人知的原因,第一是搜不到板子的安装链接,另外一个是用工具找到链接后...
    发表于 06-25 17:48 2197次 阅读
    【晶心科技ADP-Corvette-T1开发板试用体验】安装arduino并点灯测试

    晶心科技ADP-Corvette-T1开发板试用体验 开箱体验

    晶心科技的这块开发板收到有一段时间了,在安装arduino以及搭建开发环境方面遇到了一些困难, 不过都已经解决了.现从开箱视频开始和...
    发表于 06-25 16:55 2211次 阅读
    晶心科技ADP-Corvette-T1开发板试用体验  开箱体验

    【晶心科技ADP-Corvette-T1开发板试用体验】使用GyverOLED库,驱动基于I2C的SSD1306显示屏

    ADP-Corvette-T1开发板兼容Arduino开发环境,完成基础的测试后,就想着点个屏幕玩玩。 通过官方的资料了解到,官方有一个...
    发表于 06-25 09:36 2697次 阅读

    使用Arduino UNO开发板和L293D马达驱动器的遥控车设计

    本项目使用Arduino UNO开发板和L293D马达驱动器,制作了一个可由任何IR控制器进行控制的....
    发表于 06-24 09:32 43次 阅读
    使用Arduino UNO开发板和L293D马达驱动器的遥控车设计

    使用TEF-GTK用户界面控制的TEF6686 Arduino Radio最简单的pcb

    描述 用于 TEF6686 和 TEF-GTK 的 PCB 使用 TEF-GTK 用户界面控制的 TEF6686 Arduino Radio 最简单的...
    发表于 06-24 07:11 41次 阅读

    基于arduino的超级无尾卡丁车操纵杆

    描述 超级无尾卡丁车操纵杆 这是我为在 2021 年的 arduino 日玩 Super Tux Kart 而创建的 arduino 操纵杆的演变。您可以在...
    发表于 06-24 06:52 38次 阅读

    一个CNC GRBL V1.1 Arduino控制器

    描述 CNC GRBL V1.1 Arduino控制器 这是一个CNC GRBL V1.1 Arduino控制器,设计时没有Arduino板,因此非...
    发表于 06-24 06:40 68次 阅读

    制作一个simon say游戏

    描述 西蒙说Arduino Uno Shield 这个项目是我一直想做的PCB。当我开始学习 arduino 时,我决定制作一个 simon say 游戏...
    发表于 06-24 06:02 31次 阅读

    制作一个简单的智能轮椅

    这是一个简单的智能轮椅原型。轮椅是多功能的,人们可以将这款轮椅用于各种目的。这把椅子可以用作恐慌警报....
    的头像 科技观察员 发表于 06-23 17:18 280次 阅读
    制作一个简单的智能轮椅

    资深大佬带你快速上手ESP8266玩转物联网实战篇

    学习单片机、嵌入式开发时,我们会经常听到别人说起ESP8266。今天就跟大伙们聊聊ESP8266。乐....
    的头像 电子发烧友论坛 发表于 06-23 17:08 669次 阅读

    为Arduino项目进行无线蓝牙控制和编程

      通过 Arduino 的 RX 和 TX 引脚进行蓝牙控制既简单又有效,但如果您想通过 USB ....
    的头像 星星科技指导员 发表于 06-23 15:46 150次 阅读

    基于Arduino的SD卡模块设计项目

    描述 Arduino的DIY SD卡模块 微型 SD 卡适配器模块 微型 SD 卡适配器模块 Micro SD 卡适配器模...
    发表于 06-23 07:24 54次 阅读

    制作一个Lillypad Arduino主板

    描述 Diy Lillypad Arduino LilyPad Arduino 主板基于 ATmega168V(ATmega168 的低功耗版本)或 ATmega328V。...
    发表于 06-23 06:40 35次 阅读

    使用Raspberry Pi进行PWM控制

      可以通过 匹配 Raspberry Pi 和 Arduino 平台的形式找到具有强大的 PWM ....
    的头像 星星科技指导员 发表于 06-22 14:22 94次 阅读
    使用Raspberry Pi进行PWM控制

    使用Arduino控制马达的旋转和停止、转向

    马达是一种机电产品,可用来驱动各种设备,例如无人机和汽车。将马达连接到电源,就会产生旋转运动,用来推....
    发表于 06-20 10:05 108次 阅读
    使用Arduino控制马达的旋转和停止、转向

    Arduino Leonardo的电路原理图

    Arduino Leonardo的电路原理图
    发表于 06-17 14:51 74次 阅读

    UnoArduSim的使用方法介绍

    UnoArduSim 由加拿大安大略省皇后大学的 Simmons 教授开发。他利用该平台为电气与计算....
    的头像 科技观察员 发表于 06-14 17:23 379次 阅读
    UnoArduSim的使用方法介绍

    首款适用于Arduino的蓝牙家庭自动化扩展板

    电子发烧友网站提供《首款适用于Arduino的蓝牙家庭自动化扩展板.zip》资料免费下载
    发表于 06-14 14:22 33次 阅读
    首款适用于Arduino的蓝牙家庭自动化扩展板

    如何制作一个健身运动手环

    这个项目将为您介绍一款智能运动手环 GetFit,您的终极健康和锻炼伙伴。GetFit 是一款易于使....
    的头像 科技观察员 发表于 06-13 15:39 319次 阅读
    如何制作一个健身运动手环

    Arduino Portenta X8上Python程序和Arduino程序之间的通信

    随着互联网技术以及嵌入式技术(包括人工智能与边缘计算技术)的发展,我们正在创建一个万物互联的世界,这....
    的头像 Linux阅码场 发表于 06-13 11:57 324次 阅读

    如何对便宜又紧凑的Arduino Pro Mini进行编程

      如果您确实需要 USB 接口,另一个非常好的选择是“Arduino” Pro Micro。它的大....
    的头像 星星科技指导员 发表于 06-10 07:48 293次 阅读
    如何对便宜又紧凑的Arduino Pro Mini进行编程

    RF-Nano Arduino/NRF24L01+组合入门

      由于无线已经预先配置到 RF-Nano 板中,您不必担心电源或接地,并且知道通信引脚应该可以使用....
    的头像 星星科技指导员 发表于 06-10 07:12 221次 阅读
    RF-Nano Arduino/NRF24L01+组合入门

    如何DIY一个带遥控器的红外 (IR) 遥控车

    该项目是科学博览会、机器人竞赛和大学项目的理想选择。该设计适应性强,您可以轻松修改并添加自己的组件。....
    的头像 科技观察员 发表于 06-09 15:20 2917次 阅读
    如何DIY一个带遥控器的红外 (IR) 遥控车

    如何才能让机器人在预先定义的路径上精确移动

    该项目旨在让机器人在预先定义的路径上精确移动,无需使用GPS或WiFi或蓝牙进行定位,甚至无需地图或....
    的头像 科技观察员 发表于 06-07 11:24 915次 阅读
    如何才能让机器人在预先定义的路径上精确移动

    使用Arduino UNO开发板制作家用PIR防盗警报器

    本项目BOM很简单,只有PIR传感器、蜂鸣器、LED和按钮开关几个元件,按下按钮就可关闭蜂鸣声。
    发表于 06-07 08:33 106次 阅读
    使用Arduino UNO开发板制作家用PIR防盗警报器

    使用工业Pi SMARC套件加速原型设计和开发

      凌华科技的 I-Pi SMARC 开发套件支持多种部署场景。例如,已经使用 Arduino 或 ....
    的头像 星星科技指导员 发表于 06-06 15:55 359次 阅读
    使用工业Pi SMARC套件加速原型设计和开发

    基于ARDUINO+ENC j28j60 Modbus TCP通信

    主要基于ARDUINO+ENC j28j60 Modbus TCP通信
    发表于 06-06 10:01 35次 阅读

    ESP8266简易WIFI天气时钟

    本篇介绍了http获取网络天气的基本原理,并通过实践,使用ESP8266连网获取网络天气和网络时间,....
    的头像 码农爱学习 发表于 06-06 09:31 3591次 阅读
    ESP8266简易WIFI天气时钟

    【实例演示】ESP8266+U8g2库,玩转OLED显示

    本篇介绍了ESP8266的引脚定义以及U8g2库在OLED的使用基础,并重点介绍了U8g2库的各种画....
    的头像 码农爱学习 发表于 06-06 09:30 4240次 阅读
    【实例演示】ESP8266+U8g2库,玩转OLED显示

    ESP8266开发教程-Arduino IDE安装、配置与使用以及Arduino编程

    本篇介绍了Arduino IDE的安装、ESP8266开发包的安装以及Arduino编程的快速入门来....
    的头像 码农爱学习 发表于 06-06 09:24 3535次 阅读
    ESP8266开发教程-Arduino IDE安装、配置与使用以及Arduino编程

    Arduino_Profibus_DP-master下载

    Arduino_Profibus_DP-master下载,主要用于,DP通信
    发表于 06-06 09:23 23次 阅读

    I-Pi SMARC套件可加速工业应用的原型开发

      当您准备从原型过渡到生产时,I-Pi Carrier的开源规范可以作为希望创建自己的载体的开发人....
    的头像 星星科技指导员 发表于 06-02 16:39 1045次 阅读
    I-Pi SMARC套件可加速工业应用的原型开发

    什么是Arduino,新手程序员的最佳选择

    Arduino提供的廉价板和免费编程环境是市场上许多其他评估平台的一个很好的替代方案,例如由微控制器....
    的头像 要长高 发表于 06-01 15:25 421次 阅读
    什么是Arduino,新手程序员的最佳选择

    Arduino简介与arduino IDE软件安装步骤说明

    Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软....
    的头像 嵌入式技术 发表于 06-01 09:05 3584次 阅读
    Arduino简介与arduino IDE软件安装步骤说明

    如何利用超声波传感器制作一个轮式自平衡机器人

    这是一个轮式自平衡机器人。由 Arduino UNO 供电并由超声波传感器平衡,同时它能够自我保持垂....
    的头像 科技观察员 发表于 05-25 17:16 1204次 阅读
    如何利用超声波传感器制作一个轮式自平衡机器人

    究竟该选择Arduino还是树莓派?

    树莓派发明于英国。发明者埃本·厄普顿和他在剑桥大学计算机实验室的同事们为了更好的吸引学生,以及提高学....
    的头像 STM32嵌入式开发 发表于 05-23 10:19 405次 阅读

    使用Arduino板和Maxim IC创建COVID-19监控设备

      在大流行中,接触者追踪是减少病毒传播的有用技术。细致的过程包括识别和隔离可能接触过感染者的人。为....
    的头像 星星科技指导员 发表于 05-23 09:15 353次 阅读

    arduino开发版和51单片机的区别是什么

    很多初次学习arduino和单片机的同学都会问同一个问题,那就是arduino与51单片机有什么区别....
    的头像 创客生活 发表于 05-18 15:48 1262次 阅读
    arduino开发版和51单片机的区别是什么

    采用Cortex-M0的一体化蓝牙LE模块

      开始开发的最快和最简单的方法是获取STEVAL-IDB007V1M评估板,其中包括 SPBTLE....
    的头像 星星科技指导员 发表于 05-18 14:50 2608次 阅读
    采用Cortex-M0的一体化蓝牙LE模块

    STM32 Power Shield用于IoT设备的超低功耗监控板

      独立模式提供了目标器件的第一印象,如果一个新的电路板,它也是了解 STM32 Power Shi....
    的头像 星星科技指导员 发表于 05-18 14:27 327次 阅读

    集成STM8微控制器的Nucleo-64板的应用

      我们还有一个新的存储库,它将对Arduino 平台的支持添加到 STM8 架构中,开发人员可以使....
    的头像 星星科技指导员 发表于 05-16 17:20 428次 阅读

    Arduino编程从零开始(电子版)

    从易学易用的实例学Arduino编程:本书揭示了Arudino的软件特性,介绍了如何在Arduino....
    发表于 05-16 15:14 108次 阅读

    arduino的L298N电机驱动模块

    arduino的L298N电机驱动模块和直流电机接线具体步骤如下: 1.第一步,将数字3、4脚接L....
    发表于 05-16 14:27 97次 阅读

    如何利用Arduino制作一个时钟蓝牙IOT音响

    我做了一个带时钟的蓝牙音箱。它显示日期、时间、温度和湿度,并每隔 15 分钟从互联网上更新。它还具有....
    的头像 科技观察员 发表于 05-14 15:34 826次 阅读
    如何利用Arduino制作一个时钟蓝牙IOT音响

    如何创建一个由时间开关电池供电的太阳能充电电路

    本文展示了如何创建一个由时间开关电池供电的太阳能充电电路,用于为 Arduino Uno 和一些外围....
    的头像 科技观察员 发表于 05-14 15:27 846次 阅读
    如何创建一个由时间开关电池供电的太阳能充电电路

    如何利用Arduino UNO设计无RTC模块简单时钟

    它只是一个由Arduino控制的简单数字时钟,无需使用任何RTC模块(实时时钟)。每次打开此时钟时,....
    的头像 科技观察员 发表于 05-14 15:16 753次 阅读
    如何利用Arduino UNO设计无RTC模块简单时钟

    如何利用红外温度传感器设计一个口罩消毒装置

    本方案是用于冠状病毒(SARS-CoV-2)的UV-C/热、Arduino控制的面罩消毒装置。
    的头像 科技观察员 发表于 05-13 16:54 646次 阅读
    如何利用红外温度传感器设计一个口罩消毒装置

    如何构建一个低成本的Arduino MiniCNC绘图仪

    在这个项目中,我将向您展示如何轻松构建自己的低成本ArduinoMiniCNC绘图仪!
    的头像 科技观察员 发表于 05-12 17:47 533次 阅读
    如何构建一个低成本的Arduino MiniCNC绘图仪

    利用GT511C3指纹传感器模块的指纹扫描仪设计

    本项目利用GT511C3指纹传感器(FPS)模块,在Aduino开发板上实现了一个高精度、快速响应的....
    发表于 05-12 10:51 174次 阅读
    利用GT511C3指纹传感器模块的指纹扫描仪设计

    如何利用Arduino DUE实现家用计算机的设计

     这个项目开始于2021年一个多雨的夏天,在疫情期间,我开始从头开始为Arduino编写BASIC解....
    的头像 科技观察员 发表于 05-11 17:11 697次 阅读
    如何利用Arduino DUE实现家用计算机的设计

    DIY一个太阳能检测器

    太阳能跟踪器可以在LightDependentResistor(LDR)传感器的帮助下自动控制,也可....
    的头像 科技观察员 发表于 05-11 17:05 568次 阅读
    DIY一个太阳能检测器

    如何使用ESP8266制作可配置的Web服务器

    在这个项目中,我们首先研究如何在 Arduino IDE 中安装 ESP8266 插件,然后使用 E....
    的头像 科技观察员 发表于 05-10 15:18 1642次 阅读
    如何使用ESP8266制作可配置的Web服务器

    适合小白入门arduino的文档教程

    适合小白入门arduino的一个文档教程PDF版,文档内有相关的代码 第一课-LED闪烁 第二课....
    发表于 05-09 17:04 58次 阅读

    如何设置Arduino IoT将消息发送到云板显示器

    该项目将向您展示如何设置 Arduino IoT 将消息发送到云板显示器(LCD)。
    的头像 科技观察员 发表于 05-06 15:58 447次 阅读
    如何设置Arduino IoT将消息发送到云板显示器

    基于Arduino Nano的万能电视遥控器设计

    遥控器是LCD智能电视的开机必备,如果家里的电视遥控器坏了,那就只能错过好节目了,这时有个备品那该多....
    的头像 芯情观察猿 发表于 05-06 09:20 601次 阅读
    基于Arduino Nano的万能电视遥控器设计

    Arduino使用教程 基于UNO PLUS的例程 Arduino OLED教程

    Arduino使用教程 提供基于UNO PLUS的例程 硬件连接 我们提供的例程是基于UNO PLU....
    的头像 嵌入式应用开发 发表于 05-05 18:46 5960次 阅读
    Arduino使用教程 基于UNO PLUS的例程 Arduino OLED教程

    基于Arduino系统拉线墙画机器人设计制作

    基于Arduino系统拉线墙画机器人设计及制作资料分享。
    发表于 05-05 17:32 83次 阅读

    工业级智能停车系统设计方案

    本项目是一个采用Traffic LED模块、Arduino Uno/Nano,以及TOF10120飞....
    发表于 04-29 09:40 189次 阅读
    工业级智能停车系统设计方案