資料介紹
描述
在檢查我擁有的所有電子產(chǎn)品時(shí),我發(fā)現(xiàn)了一個(gè)土壤濕度傳感器,我決定將它用于簡(jiǎn)單的項(xiàng)目只是為了刷新我的基本 Arduino 知識(shí)。
這個(gè)想法是檢查植物的土壤水分,并在需要水時(shí)在 Twitter 上發(fā)送消息。
我有很多想法來實(shí)現(xiàn)這一點(diǎn),我確信這不是可選的解決方案,但我有一些擔(dān)憂。最簡(jiǎn)單的解決方案是將濕度傳感器連接到 Raspberry Pi Zero 并在濕度低于某個(gè)水平時(shí)讀取數(shù)字觸發(fā)器。但是,我想以模擬方式讀取濕度水平,以便能夠?qū)⑵浔4嬖跀?shù)據(jù)庫(kù)或物聯(lián)網(wǎng)云中。這就是為什么我需要一個(gè)我不擁有的 ADC 轉(zhuǎn)換器。這就是我使用 atTiny85 作為 ADC 的原因。
所以我想出了這個(gè)解決方案:使用 atTiny85 從濕度傳感器讀取模擬數(shù)據(jù),通過串行連接將此值發(fā)送到 Raspberry Pi Zero,以便 Raspberry Pi Zero 上的 Python 腳本可以將此值保存到數(shù)據(jù)庫(kù)并發(fā)送推文。同樣,我使用 atTiny85 作為 ADC 轉(zhuǎn)換器,因?yàn)槲覜]有。
這是此解決方案的草圖:
首先,我必須記住如何通過 Arduino Uno 對(duì) Tiny85 進(jìn)行編程,
快速說明:本文中的所有內(nèi)容只有在開始時(shí)將 Arduino Uno 編程為 ISP 時(shí)才能正常工作。
atTiny85 幾乎沒有什么可做的,這就是為什么它有一個(gè)非常簡(jiǎn)單的代碼。它只是讀取濕度傳感器模擬輸入值并將該值發(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ā)送推文的最簡(jiǎn)單方法是命令行程序twidge 。它有一個(gè)非常簡(jiǎn)單的設(shè)置和易于使用的命令行界面:https ://jgoerzen.github.io/twidge/twidge-html/twidge.html
這是在 Raspberry Pi Zero 上運(yùn)行的 Python 腳本,它從來自 atTiny85 的 GPIO 引腳讀取串行輸入值(值在 0-1023 之間,它代表土壤的水分——值越大意味著水分越少),將其保存到嵌入式sqlite數(shù)據(jù)庫(kù)并使用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(命令);打?。睿?;
def getFineTweet(): fines = ["我今天過得很好 :)", "這是美好的一天 ;)", "我愛我的鍋 :)"]; 返回隨機(jī)選擇(罰款);
def getHelpTweet(): help = ["我需要水?。?(", "請(qǐng)給我水", "有人給我澆水嗎?:("] return random.choice(helps);
如果 __name__ == "__main__": main()
?
我已經(jīng)設(shè)置了一個(gè) cron 作業(yè),每天在 Raspberry Pi Zero 上運(yùn)行這個(gè)腳本,我收到了關(guān)于我的工廠幸福的推文。
?
- 帶有ATtiny85的電池供電土壤濕度計(jì)
- 將ATtiny85與Arduino IDE結(jié)合使用
- 基于Attiny85的macropad
- ATtiny85供電高壓AVR編程器開源
- 帶藍(lán)牙的Attiny85/84
- 基于ATtiny85的AVR編程器 0次下載
- 編程ATTINY85芯片開源分享
- DIY ATtiny85 Roomba墻
- ATtiny85 EMF檢測(cè)器開源分享
- 帶有ATTINY85的迷你Arduino
- ATtiny85微控制器開源項(xiàng)目
- ATtiny85突破開源項(xiàng)目
- Attiny85 Mosfet Gelistirme卡丁車
- 用Attiny85控制水泵澆花
- Digispark ATtiny85 ADC采樣 analogRead()
- 學(xué)習(xí)筆記|如何用Go程序采集溫濕度傳感器數(shù)據(jù) 408次閱讀
- 濕度傳感器的選擇_濕度傳感器發(fā)展趨勢(shì) 1230次閱讀
- 濕度傳感器的主要誤差來源 4080次閱讀
- 濕度傳感器安裝說明 3373次閱讀
- 濕度傳感器怎么接線_濕度傳感器接線方法 3.1w次閱讀
- 土壤濕度傳感器設(shè)計(jì)方案匯總(三款濕度傳感器設(shè)計(jì)電路原理圖詳細(xì)) 6.4w次閱讀
- 濕度傳感器好壞檢測(cè)_濕度傳感器的工作原理_濕度傳感器應(yīng)用 2w次閱讀
- 濕度傳感器維修技巧 1.3w次閱讀
- 電阻式濕度傳感器_電阻式與電容式溫濕度傳感器哪個(gè)好 2.6w次閱讀
- 土壤濕度傳感器yl69如何使用 6.4w次閱讀
- 樹莓派土壤濕度傳感器 2.5w次閱讀
- 土壤濕度傳感器的原理介紹 7.6w次閱讀
- 土壤濕度傳感器怎么用_土壤濕度傳感器種類 3.5w次閱讀
- 電容式濕度傳感器_電容式濕度傳感器工作原理 2.6w次閱讀
- 濕度傳感器的原理、分類、特點(diǎn)特性、參數(shù)及其應(yīng)用 2w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多