Përmbajtje:
Video: Arduino 1-wire Generic Client/Slave Device (Sensor): 4 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
Ju lutemi lexoni Hyrjen dhe Hapin 2 të udhëzimeve të mia se si të ndërtoni një ekran Arduino me 1 tela (144 Karaktere) në mënyrë që të merrni më shumë informacion në lidhje me situatën dhe bibliotekat në dispozicion. Siç shpjegohet atje, ne do të përdorim bibliotekën OneWire-Hub (emulatori i pajisjes së skllevërve OneWire) nga orgua (kushtojini vëmendje ka pirunë të tjerë përreth) për të ndërtuar pajisje të përgjithshme me 1 tela (p.sh. sensorë) duke përdorur një Arduino.
Hapi 1: Softuer
Gjëja më e rëndësishme është të krijoni një pajisje që mund të kthejë në thelb çdo lloj vlere në një mënyrë të thjeshtë. Do të thotë që softueri standard mund të përdoret për të lexuar drejtpërdrejt të gjitha vlerat (nuk nevojitet bisedë ose manipulim binar). Për këtë ne kemi nevojë për një pajisje shumë të thjeshtë të paracaktuar me 1 tela që mund të kthejë notat dhe është e mbështetur gjerësisht. Zgjedhja e vetme që di është Termometri DS18B20 (Monitori i Baterisë DS2438 është interesant dhe i dobishëm gjithashtu, por mjaft kompleks dhe kështu i ngadalshëm ndër të metat e tjera). Biblioteka OneWire-Hub përmban një shembull të quajtur DS18B20_asInterface që bën pikërisht atë që na nevojitet. Krijon një bandë DS18B20, nga të cilat secili përfaqëson një vlerë noti që duam të kthehemi nga sensorët (t) tanë. Kufizimet këtu janë zgjidhja dhe vlerat duhet të jenë në intervalin -55, 0… 125, 0. Kjo lehtë mund të arrihet - në rastin më të keq rishpërthimi - dhe në fakt është më e mirë se vlerat që mund të përfaqësohen me p.sh. vlerat DS2438 (1.5 deri në 10V). Përndryshe, një gamë më e madhe vlerash mund të vendoset duke përdorur:
setTemperatureRaw (transmetimi_statik (vlera * 16.0f));
por leximi dhe përpunimi i këtyre vlerave mund të mos mbështetet nga i gjithë softueri pasi është jashtë specifikimeve.
Ajo që duhet të jeni të vetëdijshëm është se fillimisht numri maksimal i skllevërve është i kufizuar në 8, por mund të ndryshohet në "OneWireHub_config.h" duke rritur HUB_SLAVE_LIMIT deri në 32. Gjithashtu duhet të jeni të sigurt që të miratoni ONEWIRE_TIME_MSG_HIGH_TIMEOUT nëse është e nevojshme nga ana juaj Rrjet me 1 tela (p.sh. x10), siç shpjegohet në Hapin 2 të Ekranit Arduino me 1 tela (144 Karaktere). Dhe për të përdorur Versionin IDE> = 1.8.3 për të përpiluar dhe ngarkuar kodin në Arduino tuaj.
Këtu si shembull kodi i pajisjes që kam ndërtuar kohët e fundit. Ndërsa supozoj që ju të mos përdorni të njëjtin kombinim të sensorëve që bëj unë, nuk do të hyj më tej në detaje këtu, kontrolloni kodin dhe bëni pyetje nëse keni nevojë për ndihmë.
Hapi 2: Pajisje kompjuterike
Në thelb çdo gjë që mund të lidheni me një Arduino mund të përdoret si sensori juaj i zgjedhur. Kufizimi i vetëm është që leximi i sensorit duhet të jetë sa më i shpejtë që të jetë e mundur në mënyrë që të ketë shumë kohë që të bëhet komunikimi me 1 tela (jepni hapin 2 të udhëzimit tim në lidhje me Arduino 1-wire Display (144 Chars) në rregull për të marrë një shembull).
Një shembull i pajisjeve të mundshme mund të jetë një stacion moti si p.sh.:
https://shop.boxtec.ch/wetter-messer-p-41289.html
Përveç kësaj ose në vend të jush thjesht mund të dëshironi të përdorni vetë Arduino si sensorin tuaj. Ju mund të lexoni më shumë në lidhje me atë në udhëzimet e mia për Karakteristikat më të Vogla të Arduino - vlerat e mundshme janë tensioni i burimit dhe temperatura e brendshme.
Këtu si shembull një imazh i pajisjes që kam ndërtuar kohët e fundit. Ndërsa supozoj që ju të mos përdorni të njëjtin kombinim të sensorëve që bëj unë, nuk do të hyj më tej në detaje këtu, kontrolloni kodin dhe bëni pyetje nëse keni nevojë për ndihmë.
Hapi 3: Testoni pajisjen
Lidheni atë me rrjetin tuaj dhe kontrolloni softuerin tuaj që të gjitha ID -të e ROM -it të jenë të pranishme dhe vlerat që ato kthejnë si temperaturë.
Hapi 4: Shtojca: ATtiny85
Pajisjet e vetme (kufizimi i kujtesës) gjithashtu mund të bëhen në një ATtiny85. Kjo kërkon disa hapa ndërsa programojmë ATtiny85 duke përdorur Arduino Uno si ISP me ndihmën e Arduino IDE:
-
Lidhjet
- https://playground.boxtec.ch/doku.php/arduino/att…
- https://sebastian.expert/could-not-find-usbtiny-d…
- https://learn.sparkfun.com/tutorials/tiny-avr-pro…
- https://forum.arduino.cc/index.php?topic=425532.0
- https://forum.arduino.cc/index.php?topic=128963.0
- përdorni Arduino IDE> = 1.8.3
-
instaloni opsionin ATtiny në IDE
- Skedar> Preferenca> URL shtesë të Menaxherit të Bordeve:
- Mjetet> Bordi: ??? > Menaxheri i bordeve…
- kërkoni për: "i vogël" dhe instaloni
-
ngarkoni skicën e ISP -së në një Uno
Skedar> Shembuj> ArduinoISP> ArduinoISP
-
futni ATtiny85 në prizën e programimit (me fuqi zero) dhe lidheni atë:
- Arduino Pin MOSI D11 në ATtiny Pin 5
- Arduino Pin MISO D12 në ATtiny Pin 6
- Arduino Pin SCK D13 në ATtiny Pin 7
- Arduino Pin Rivendos D10 në ATtiny Pin 1
- Arduino Pin GND në ATtiny Pin 4
- Arduino Pin VCC në ATtiny Pin 8
- (> = Kapaku 10uF në kunjin Arduino Uno RESET mund të jetë i nevojshëm)
-
zgjidhni ATtiny85 (shiko foton):
- Bordi: "ATtiny25/45/85"
- Ora e kohëmatësit 1: "CPU"
- B. O. D.: "B. O. D. me aftësi të kufizuara"
- LTO (vetëm 1.6.11 +): "Me aftësi të kufizuara"
- Çip: "ATtiny85"
- Ora: "8 MHz (e brendshme)" (në përputhje me ATtiny85 dhe ATtiny84)
- Ora: "16 MHz (PLL)" (cilësim alternativ vetëm për ATtiny85)
- Porti: ???
-
zgjidhni Programues:
Mjetet> Programuesi: "Arduino si ISP" (JO "ArduinoISP"!)
-
vendosni cilësimet e siguresave (ora, etj.):
Mjetet> Burn Bootloader
- ngarkoni këtë kod (gabimi i programuesit LED duhet të jetë i fikur, përndryshe rivendoseni atë)
-
Paraqitja e pinit ATtinyX5 (ATtiny85):
- Pin 1: PB5 (RST)
- Pin 2: PB3 (A3) - lidhet sipas dëshirës përmes 220ohm në 1 <-TX
- Pin 3: PB4 (A2) - i lidhur me DATA me 1 tela
- Pin 4: GND - i lidhur me GND
- Pin 5: PB0 (PWM) - i lidhur me sensorin I2C SDA
- Pin 6: PB1 (PWM) - i lidhur me LED me 4.7k në GND
- Pin 7: PB2 (A1) - i lidhur me sensorin I2C SCL
- Pin 8: VCC - i lidhur me 5V
Puna me ATTiny85 kërkon pak më shumë punë pasi keni nevojë për të marrë biblioteka shtesë për komunikimin I2C (adafruit/TinyWireM) dhe daljen serike (TinyDebugSerial). Për më tepër meqenëse kujtesa është mjaft e kufizuar ju mund të dëshironi të punoni shumë me #define p.sh. për të hequr korrigjimin e serive. Në shembullin ju mund të shihni të gjitha këto të hedhura së bashku.
Për testimin hapi i parë është të kontrolloni nëse LED ndizet me frekuencën e duhur, 0.5Hz. Pastaj lidheni atë me autobusin 1wire dhe kontrolloni për pajisjen e re.
Recommended:
Gjithmonë ON Raspberry Pi DLNA Server dhe Torrent Client Me Status LED: 6 hapa
Gjithmonë ON Raspberry Pi DLNA Server dhe Torrent Client Me Status LED: U përpoqa të bëja një për veten time dhe po funksionon në mënyrë perfekte. Ableshtë në gjendje të transmetojë video HD pa asnjë vonesë dhe LED -të e statusit më japin një status të shpejtë të tij. Unë kam shtuar hapat që kam ndërmarrë për ta bashkuar atë më poshtë. Ju lutemi kaloni nëpër të, nëse jeni intere
IOT123 - HUB SENSOR ASSIMILATE: ICOS10 GENERIC SHELL (IDC) ASAMBLE: 6 Hapa
IOT123 - ASUSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (IDC) ASAMBLE: SHETNIM Ky është një version i përmirësuar (i qëndrueshmërisë së qarkut) i ASUB -SENSOR HUB: Montimi ICOS10 GENERIC SHELL (WIRE HOOKUP). Ai mblidhet më shpejt dhe ka një qark me cilësi më të lartë, por kushton më shumë (10 dollarë shtesë nëse mbështetni 10 sensorë). Feja kryesore
IOT123 - I2C TURK PROTOTYPING SLAVE: 3 Hapa
IOT123 - I2C SLLAVE TT PROTOTIMIT T BR BRICK: Gjatë zhvillimit të aktorit më të fundit ASSIMILATE (KY -019 RELAY), një bord i përgjithshëm dev u hodh së bashku për të më kursyer ndonjë punë shtesë në tryezën time. Ka pinet standarde të TURA I2C IOT123, por lejon lidhje me porosi me sensorin nga ATT
Slave Trigger Flash Mark II: 6 hapa (me fotografi)
Slave Trigger Flash Mark II: Në këtë udhëzues unë do të shpjegoj se si të krijoj një flash të vërtetë (optik) të shkrepjes së skllevërve me një minimum përbërësish. Ka shumë dizajne komplekse që mund të gjeni në internet, ky dizajn është një shumë i thjeshtë dhe funksionon mirë në mjedis të ndriçuar me shkëlqim dhe zbehje
Rrëmbyesi Generic Switch: 3 Hapa
Rrëmbyesi Generic Switch: Ky artikull përshkruan se si të ndërtoni një pajisje mikrokontrolluese të gjendjes së ngurtë që kontrollon çelsat fizikë. Veryshtë shumë e lirë për tu bërë (4 dollarë ose më shumë), duke supozuar se keni një programues mikrokontrollues. Qarku në vetvete është i një kompleksiteti të parëndësishëm. Kjo p