电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

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

3天内不再提示
电子发烧友网>电子资料下载>电子资料>使用atTiny85从湿度传感器读取模拟数据

使用atTiny85从湿度传感器读取模拟数据

2022-12-05 | zip | 0.00 MB | 次下载 | 2积分

资料介绍

描述

在检查我拥有的所有电子产品时,我发现了一个土壤湿度传感器,我决定将它用于简单的项目只是为了刷新我的基本 Arduino 知识。

这个想法是检查植物的土壤水分,并在需要水时在 Twitter 上发送消息。

我有很多想法来实现这一点,我确信这不是可选的解决方案,但我有一些担忧。最简单的解决方案是将湿度传感器连接到 Raspberry Pi Zero 并在湿度低于某个水平时读取数字触发器。但是,我想以模拟方式读取湿度水平,以便能够将其保存在数据库或物联网云中。这就是为什么我需要一个我不拥有的 ADC 转换器这就是我使用 atTiny85 作为 ADC 的原因。

所以我想出了这个解决方案:使用 atTiny85 从湿度传感器读取模拟数据,通过串行连接将此值发送到 Raspberry Pi Zero,以便 Raspberry Pi Zero 上的 Python 脚本可以将此值保存到数据库并发送推文。同样,我使用 atTiny85 作为 ADC 转换器,因为我没有。

这是此解决方案的草图:

poYBAGOJhKqAWux5AAENB1QFef8080.png
 

首先,我必须记住如何通过 Arduino Uno 对 Tiny85 进行编程

快速说明:本文中的所有内容只有在开始时将 Arduino Uno 编程为 ISP 时才能正常工作。

atTiny85 几乎没有什么可做的,这就是为什么它有一个非常简单的代码。它只是读取湿度传感器模拟输入值并将该值发送到串行连接,该串行连接转到 Raspberry Pi Zero:

#include #define RX 1 // D1,引脚 6 #define TX 2 // D2,引脚 7 #define sensorPin 3 // D3,引脚 3
SoftwareSerial toRaspberry(RX, TX);
无效设置(){ pinMode(sensorPin,输入);toRaspberry.begin(9600); }
无效循环(){ int sensorValue = analogRead(sensorPin);toRaspberry.println(sensorValue); 延迟(10000);}

 

要设置 Raspberry Pi 零迷你 UART(可在 GPIO 引脚上使用),我遵循了本文档的“使用迷你 UART 端口”部分:https ://www.abelectronics.co.uk/kb/article/1035/raspberry-pi- 3--4-and-zero-w-serial-port-usage

我发现发送推文的最简单方法是命令行程序twidge 它有一个非常简单的设置和易于使用的命令行界面:https ://jgoerzen.github.io/twidge/twidge-html/twidge.html

这是在 Raspberry Pi Zero 上运行的 Python 脚本,它从来自 atTiny85 的 GPIO 引脚读取串行输入值(值在 0-1023 之间,它代表土壤的水分——值越大意味着水分越少),将其保存到嵌入式sqlite数据库并使用twidge命令行发送推文:

#!/usr/bin/env python import time import serial import os import random import sqlite3 as sl
def main(): ser = serial.Serial(port='/dev/serial0', baudrate = 9600, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, timeout=1) x = ser.读线();while (x == ''): x = ser.readline(); 打印 x checkSituation(x.rstrip());
def checkSituation(x): waterLevel = 1024 - int(x); tweetText = '{} --水位:{}'; if (waterLevel < 200): tweetText = tweetText.format(getHelpTweet(), waterLevel); 否则:tweetText = tweetText.format(getFineTweet(), waterLevel); 推文(推文);日志(水位);
def log(waterLevel): con = sl.connect('plant.db'); sql = 'INSERT INTO PLANT_DATA (water_level, timestamp) values(?, ?)'; 数据 = (水位, int(time.time())); con.execute(sql, 数据); con.commit(); con.close();
def tweet(text): command = 'twidge update "{}"'.format(text); os.system(命令);打印(命令);
def getFineTweet(): fines = ["我今天过得很好 :)", "这是美好的一天 ;)", "我爱我的锅 :)"]; 返回随机选择(罚款);
def getHelpTweet(): help = ["我需要水!!:(", "请给我水", "有人给我浇水吗?:("] return random.choice(helps);
如果 __name__ == "__main__": main()

 

我已经设置了一个 cron 作业,每天在 Raspberry Pi Zero 上运行这个脚本,我收到了关于我的工厂幸福的推文。

 


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费