资料介绍
描述
在检查我拥有的所有电子产品时,我发现了一个土壤湿度传感器,我决定将它用于简单的项目只是为了刷新我的基本 Arduino 知识。
这个想法是检查植物的土壤水分,并在需要水时在 Twitter 上发送消息。
我有很多想法来实现这一点,我确信这不是可选的解决方案,但我有一些担忧。最简单的解决方案是将湿度传感器连接到 Raspberry Pi Zero 并在湿度低于某个水平时读取数字触发器。但是,我想以模拟方式读取湿度水平,以便能够将其保存在数据库或物联网云中。这就是为什么我需要一个我不拥有的 ADC 转换器。这就是我使用 atTiny85 作为 ADC 的原因。
所以我想出了这个解决方案:使用 atTiny85 从湿度传感器读取模拟数据,通过串行连接将此值发送到 Raspberry Pi Zero,以便 Raspberry Pi Zero 上的 Python 脚本可以将此值保存到数据库并发送推文。同样,我使用 atTiny85 作为 ADC 转换器,因为我没有。
这是此解决方案的草图:
首先,我必须记住如何通过 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 上运行这个脚本,我收到了关于我的工厂幸福的推文。
- 带有ATtiny85的电池供电土壤湿度计
- 将ATtiny85与Arduino IDE结合使用
- 基于Attiny85的macropad
- ATtiny85供电高压AVR编程器开源
- 带蓝牙的Attiny85/84
- 基于ATtiny85的AVR编程器 0次下载
- 编程ATTINY85芯片开源分享
- DIY ATtiny85 Roomba墙
- ATtiny85 EMF检测器开源分享
- 带有ATTINY85的迷你Arduino
- ATtiny85微控制器开源项目
- ATtiny85突破开源项目
- Attiny85 Mosfet Gelistirme卡丁车
- 用Attiny85控制水泵浇花
- Digispark ATtiny85 ADC采样 analogRead()
- 学习笔记|如何用Go程序采集温湿度传感器数据 408次阅读
- 湿度传感器的选择_湿度传感器发展趋势 1230次阅读
- 湿度传感器的主要误差来源 4080次阅读
- 湿度传感器安装说明 3373次阅读
- 湿度传感器怎么接线_湿度传感器接线方法 3.1w次阅读
- 土壤湿度传感器设计方案汇总(三款湿度传感器设计电路原理图详细) 6.4w次阅读
- 湿度传感器好坏检测_湿度传感器的工作原理_湿度传感器应用 2w次阅读
- 湿度传感器维修技巧 1.3w次阅读
- 电阻式湿度传感器_电阻式与电容式温湿度传感器哪个好 2.6w次阅读
- 土壤湿度传感器yl69如何使用 6.4w次阅读
- 树莓派土壤湿度传感器 2.5w次阅读
- 土壤湿度传感器的原理介绍 7.6w次阅读
- 土壤湿度传感器怎么用_土壤湿度传感器种类 3.5w次阅读
- 电容式湿度传感器_电容式湿度传感器工作原理 2.6w次阅读
- 湿度传感器的原理、分类、特点特性、参数及其应用 2w次阅读
下载排行
本周
- 1普中科技HC6800-EM3使用操作手册
- 21.69 MB | 3次下载 | 2 积分
- 2PCB板EMC/EMI的设计技巧
- 0.20 MB | 3次下载 | 免费
- 32024PMIC市场洞察
- 2.23 MB | 2次下载 | 免费
- 4MSP430™闪存器件引导加载程序(BSL)
- 1.45MB | 2次下载 | 免费
- 5PL4807单节锂离子电池充电器中文手册
- 1.36 MB | 2次下载 | 免费
- 6LTH7充电电路和锂电池升压5V输出电路原理图
- 0.04 MB | 1次下载 | 免费
- 7HT2120两节锂电池保护板电路
- 0.22 MB | 1次下载 | 免费
- 8BQ77207EVM用户指南
- 865.23KB | 1次下载 | 免费
本月
- 1XL4015+LM358恒压恒流电路图
- 0.38 MB | 151次下载 | 1 积分
- 2PCB布线和布局电路设计规则
- 0.40 MB | 33次下载 | 免费
- 3智能门锁原理图
- 0.39 MB | 13次下载 | 免费
- 4GB/T4706.1-2024 家用和类似用途电器的安全第1部分:通用要求
- 7.43 MB | 11次下载 | 1 积分
- 5JESD79-5C_v1.30-2024 内存技术规范
- 2.71 MB | 10次下载 | 免费
- 6elmo直线电机驱动调试细则
- 4.76 MB | 9次下载 | 6 积分
- 7WIFI智能音箱原理图完整版
- 0.09 MB | 7次下载 | 10 积分
- 8PC1013三合一快充数据线充电芯片介绍
- 1.03 MB | 7次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935115次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420061次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183332次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73806次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65985次下载 | 10 积分
评论
查看更多