資料介紹
描述
在檢查我擁有的所有電子產(chǎn)品時,我發(fā)現(xiàn)了一個土壤濕度傳感器,我決定將它用于簡單的項目只是為了刷新我的基本 Arduino 知識。
這個想法是檢查植物的土壤水分,并在需要水時在 Twitter 上發(fā)送消息。
我有很多想法來實現(xiàn)這一點,我確信這不是可選的解決方案,但我有一些擔憂。最簡單的解決方案是將濕度傳感器連接到 Raspberry Pi Zero 并在濕度低于某個水平時讀取數(shù)字觸發(fā)器。但是,我想以模擬方式讀取濕度水平,以便能夠?qū)⑵浔4嬖跀?shù)據(jù)庫或物聯(lián)網(wǎng)云中。這就是為什么我需要一個我不擁有的 ADC 轉(zhuǎn)換器。這就是我使用 atTiny85 作為 ADC 的原因。
所以我想出了這個解決方案:使用 atTiny85 從濕度傳感器讀取模擬數(shù)據(jù),通過串行連接將此值發(fā)送到 Raspberry Pi Zero,以便 Raspberry Pi Zero 上的 Python 腳本可以將此值保存到數(shù)據(jù)庫并發(fā)送推文。同樣,我使用 atTiny85 作為 ADC 轉(zhuǎn)換器,因為我沒有。
這是此解決方案的草圖:

首先,我必須記住如何通過 Arduino Uno 對 Tiny85 進行編程,
快速說明:本文中的所有內(nèi)容只有在開始時將 Arduino Uno 編程為 ISP 時才能正常工作。
atTiny85 幾乎沒有什么可做的,這就是為什么它有一個非常簡單的代碼。它只是讀取濕度傳感器模擬輸入值并將該值發(fā)送到串行連接,該串行連接轉(zhuǎn)到 Raspberry Pi Zero:
#include#define RX 1 // D1,引腳 6 #define TX 2 // D2,引腳 7 #define sensorPin 3 // D3,引腳 3
SoftwareSerial toRaspberry(RX, TX);
無效設(shè)置(){ pinMode(sensorPin,輸入);toRaspberry.begin(9600); }
無效循環(huán)(){ int sensorValue = analogRead(sensorPin);toRaspberry.println(sensorValue); 延遲(10000);}
?
要設(shè)置 Raspberry Pi 零迷你 UART(可在 GPIO 引腳上使用),我遵循了本文檔的“使用迷你 UART 端口”部分:https ://www.abelectronics.co.uk/kb/article/1035/raspberry-pi- 3--4-and-zero-w-serial-port-usage
我發(fā)現(xiàn)發(fā)送推文的最簡單方法是命令行程序twidge 。它有一個非常簡單的設(shè)置和易于使用的命令行界面:https ://jgoerzen.github.io/twidge/twidge-html/twidge.html
這是在 Raspberry Pi Zero 上運行的 Python 腳本,它從來自 atTiny85 的 GPIO 引腳讀取串行輸入值(值在 0-1023 之間,它代表土壤的水分——值越大意味著水分越少),將其保存到嵌入式sqlite數(shù)據(jù)庫并使用twidge命令行發(fā)送推文:
#!/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(?, ?)'; 數(shù)據(jù) = (水位, int(time.time())); con.execute(sql, 數(shù)據(jù)); con.commit(); con.close();
def tweet(text): command = 'twidge update "{}"'.format(text); os.system(命令);打?。睿?/font>
def getFineTweet(): fines = ["我今天過得很好 :)", "這是美好的一天 ;)", "我愛我的鍋 :)"]; 返回隨機選擇(罰款);
def getHelpTweet(): help = ["我需要水!!:(", "請給我水", "有人給我澆水嗎?:("] return random.choice(helps);
如果 __name__ == "__main__": main()
?
我已經(jīng)設(shè)置了一個 cron 作業(yè),每天在 Raspberry Pi Zero 上運行這個腳本,我收到了關(guān)于我的工廠幸福的推文。
?
- 帶有ATtiny85的電池供電土壤濕度計
- 將ATtiny85與Arduino IDE結(jié)合使用
- 基于Attiny85的macropad
- ATtiny85供電高壓AVR編程器開源
- 帶藍牙的Attiny85/84
- 編程ATTINY85芯片開源分享
- DIY ATtiny85 Roomba墻
- ATtiny85 EMF檢測器開源分享
- 帶有ATTINY85的迷你Arduino
- ATtiny85電子負載開源設(shè)計
- ATtiny85微控制器開源項目
- ATtiny85突破開源項目
- Attiny85 Mosfet Gelistirme卡丁車
- 用Attiny85控制水泵澆花
- Digispark ATtiny85 ADC采樣 analogRead()
- 學習筆記|如何用Go程序采集溫濕度傳感器數(shù)據(jù) 763次閱讀
- 濕度傳感器的選擇_濕度傳感器發(fā)展趨勢 1303次閱讀
- 濕度傳感器的主要誤差來源 4312次閱讀
- 濕度傳感器安裝說明 3706次閱讀
- 濕度傳感器怎么接線_濕度傳感器接線方法 3.1w次閱讀
- 土壤濕度傳感器設(shè)計方案匯總(三款濕度傳感器設(shè)計電路原理圖詳細) 6.6w次閱讀
- 濕度傳感器好壞檢測_濕度傳感器的工作原理_濕度傳感器應用 2w次閱讀
- 濕度傳感器維修技巧 1.4w次閱讀
- 電阻式濕度傳感器_電阻式與電容式溫濕度傳感器哪個好 2.7w次閱讀
- 土壤濕度傳感器yl69如何使用 6.4w次閱讀
- 樹莓派土壤濕度傳感器 2.5w次閱讀
- 土壤濕度傳感器的原理介紹 7.7w次閱讀
- 土壤濕度傳感器怎么用_土壤濕度傳感器種類 3.6w次閱讀
- 電容式濕度傳感器_電容式濕度傳感器工作原理 2.6w次閱讀
- 濕度傳感器的原理、分類、特點特性、參數(shù)及其應用 2.1w次閱讀
下載排行
本周
- 1DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費
- 2AD庫封裝庫安裝教程
- 0.49 MB | 1次下載 | 免費
- 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
- 1.12 MB | 1次下載 | 免費
- 4網(wǎng)絡安全從業(yè)者入門指南
- 2.91 MB | 1次下載 | 免費
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費
- 6海川SM5701規(guī)格書
- 1.48 MB | 次下載 | 免費
- 7H20PR5電磁爐IGBT功率管規(guī)格書
- 1.68 MB | 次下載 | 1 積分
- 8IP防護等級說明
- 0.08 MB | 次下載 | 免費
本月
- 1貼片三極管上的印字與真實名稱的對照表詳細說明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開發(fā)包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設(shè)計指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費
- 8蘋果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191390次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評論