電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用atTiny85從濕度傳感器讀取模擬數(shù)據(jù)

使用atTiny85從濕度傳感器讀取模擬數(shù)據(jù)

2022-12-05 | zip | 0.00 MB | 次下載 | 2積分

資料介紹

描述

在檢查我擁有的所有電子產(chǎn)品時(shí),我發(fā)現(xiàn)了一個(gè)土壤濕度傳感器,我決定將它用于簡單的項(xiàng)目只是為了刷新我的基本 Arduino 知識(shí)。

這個(gè)想法是檢查植物的土壤水分,并在需要水時(shí)在 Twitter 上發(fā)送消息。

我有很多想法來實(shí)現(xiàn)這一點(diǎn),我確信這不是可選的解決方案,但我有一些擔(dān)憂。最簡單的解決方案是將濕度傳感器連接到 Raspberry Pi Zero 并在濕度低于某個(gè)水平時(shí)讀取數(shù)字觸發(fā)器。但是,我想以模擬方式讀取濕度水平,以便能夠?qū)⑵浔4嬖跀?shù)據(jù)庫或物聯(lián)網(wǎng)云中。這就是為什么我需要一個(gè)我不擁有的 ADC 轉(zhuǎn)換器。這就是我使用 atTiny85 作為 ADC 的原因。

所以我想出了這個(gè)解決方案:使用 atTiny85 從濕度傳感器讀取模擬數(shù)據(jù),通過串行連接將此值發(fā)送到 Raspberry Pi Zero,以便 Raspberry Pi Zero 上的 Python 腳本可以將此值保存到數(shù)據(jù)庫并發(fā)送推文。同樣,我使用 atTiny85 作為 ADC 轉(zhuǎn)換器,因?yàn)槲覜]有。

這是此解決方案的草圖:

poYBAGOJhKqAWux5AAENB1QFef8080.png
?

首先,我必須記住如何通過 Arduino Uno 對(duì) Tiny85 進(jìn)行編程,

快速說明:本文中的所有內(nèi)容只有在開始時(shí)將 Arduino Uno 編程為 ISP 時(shí)才能正常工作。

atTiny85 幾乎沒有什么可做的,這就是為什么它有一個(gè)非常簡單的代碼。它只是讀取濕度傳感器模擬輸入值并將該值發(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 。它有一個(gè)非常簡單的設(shè)置和易于使用的命令行界面:https ://jgoerzen.github.io/twidge/twidge-html/twidge.html

這是在 Raspberry Pi Zero 上運(yùn)行的 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(命令);打?。睿?;
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)于我的工廠幸福的推文。

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)