Sisukord:
Video: Arduino 1-juhtmeline üldine kliendi-/alamseade (andur): 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Olukorra ja saadaolevate teekide kohta lisateabe saamiseks lugege palun minu juhendi sissejuhatust ja 2. sammu Arduino 1-juhtmelise ekraani (144 tähemärki) ehitamise kohta. Nagu seal selgitatud, kasutame orgua OneWire-Hubi raamatukogu (OneWire alamseadme emulaator) (pange tähele, et ümber on ka teisi kahvleid), et ehitada Arduino abil üldisi 1-juhtmelisi seadmeid (nt andureid).
Samm: tarkvara
Kõige tähtsam on valmistada seade, mis suudab lihtsal viisil tagastada põhimõtteliselt mis tahes väärtuse. See tähendab, et standardset tarkvara saab kasutada kõigi väärtuste otse lugemiseks (pole vaja vestlust ega binaarset manipuleerimist). Selleks vajame väga lihtsat 1-juhtmelist vaikeseadet, mis suudab ujukeid tagastada ja mida laialdaselt toetatakse. Ainus valik, mida ma tean, on DS18B20 termomeeter (DS2438 aku monitor on samuti huvitav ja kasulik, kuid üsna keeruline ja seega teiste puuduste hulgas aeglane). OneWire-Hubi teek sisaldab näidet DS18B20_asInterface, mis teeb täpselt seda, mida vajame. See loob hunniku DS18B20, millest igaüks tähistab ühte ujuvväärtust, mida tahame oma andurilt tagasi saata. Piiranguteks on siin eraldusvõime ja väärtused peavad olema vahemikus -55, 0… 125, 0. Seda on lihtne saavutada - halvemal juhul skaleerida - ja see on tegelikult parem kui väärtused, mida saab esitada nt. DS2438 väärtused (1,5 kuni 10 V). Teise võimalusena saab määrata suurema väärtuste vahemiku, kasutades järgmist:
setTemperatureRaw (static_cast (väärtus * 16.0f));
kuid nende väärtuste lugemist ja töötlemist ei pruugi kõik tarkvara toetada, kuna need on spetsifikatsioonidest väljas.
Peate teadma, et esialgu on orjade maksimaalne arv piiratud 8 -ga, kuid seda saab muuta jaotises „OneWireHub_config.h”, suurendades HUB_SLAVE_LIMIT kuni 32 -ni. Samuti peate olema kindel, et kasutate vajadusel ONEWIRE_TIME_MSG_HIGH_TIMEOUT 1-juhtmeline võrk (nt x10), nagu on selgitatud Arduino 1-juhtmelise ekraani 2. etapis (144 märki). Ja kasutada IDE versiooni> = 1.8.3 koodi koostamiseks ja Arduinole üleslaadimiseks.
Siin on näitena hiljuti koostatud seadme kood. Kuna ma eeldan, et te ei kasuta sama andurite kombinatsiooni, mida mina, siis ma ei hakka siin üksikasju lähemalt uurima, kontrollige koodi ja küsige abi, kui vajate abi.
Samm: riistvara
Põhimõtteliselt saab teie valitud andurina kasutada kõike, mida saate Arduinoga ühendada. Ainus piirang on see, et anduri lugemine peaks olema võimalikult kiire, et 1-juhtmeliseks suhtlemiseks jääks palju aega (andke minu juhendi 2. samm Arduino 1-juhtmelise ekraani (144 tähemärki) kohta) näite saamiseks).
Võimaliku riistvara näide võib olla ilmajaam, näiteks:
https://shop.boxtec.ch/wetter-messer-p-41289.html
Lisaks või teie asemel võiksite lihtsalt kasutada andurina Arduinot ennast. Selle kohta saate rohkem lugeda minu juhendist Arduino vähem tuntud funktsioonide kohta - võimalikud väärtused on allikapinge ja sisetemperatuur.
Siin on näitena pilt hiljuti ehitatud seadmest. Kuna ma eeldan, et te ei kasuta sama andurite kombinatsiooni, mida mina, siis ma ei hakka siin üksikasju lähemalt uurima, kontrollige koodi ja küsige abi, kui vajate abi.
Samm: testige seadet
Ühendage see oma võrguga ja kontrollige oma tarkvara, kas kõik ROM -id on olemas ja väärtused, mis need temperatuurina tagastavad.
Samm 4: Lisa: ATtiny85
Üksikuid seadmeid (mälu piiramine) saab teha ka ATtiny85 -ga. See nõuab mõningaid samme, kuna programmeerime ATtiny85, kasutades Arduino Uno Interneti -teenuse pakkujana Arduino IDE abil:
-
Lingid
- 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
- kasuta Arduino IDE> = 1.8.3
-
installige ATtiny võimalus IDE -sse
- Fail> Eelistused> Täiendavate tahvlite halduri URL -id:
- Tööriistad> Juhatus: ??? > Juhatuse liige…
- otsige: "tiny" ja installige
-
laadige ISP visand üles Uno -le
Fail> Näited> ArduinoISP> ArduinoISP
-
sisestage ATtiny85 programmeerimispesasse (nulljõud) ja ühendage see juhtmega:
- Arduino pin MOSI D11 kuni ATtiny Pin 5
- Arduino tihvt MISO D12 kuni ATtiny Pin 6
- Arduino tihvt SCK D13 kuni ATtiny Pin 7
- Arduino pin lähtestage D10 ATtiny pin 1 -le
- Arduino Pin GND kuni ATtiny Pin 4
- Arduino Pin VCC kuni ATtiny Pin 8
- (> = 10uF kork Arduino Uno RESET nööpnõelel võib olla vajalik)
-
valige ATtiny85 (vt pilti):
- Tahvel: "ATtiny25/45/85"
- Taimeri 1 kell: "CPU"
- B. O. D.: "B. O. D. puudega"
- LTO (ainult 1.6.11 +): „puudega”
- Kiip: "ATtiny85"
- Kell: "8 MHz (sisemine)" (ühilduvad ATtiny85 ja ATtiny84)
- Kell: "16 MHz (PLL)" (alternatiivne seade ainult ATtiny85 jaoks)
- Sadam: ???
-
Valige programmeerija:
Tööriistad> Programmeerija: "Arduino kui ISP" (EI "ArduinoISP"!)
-
määrake kaitsmete sätted (kell jne):
Tööriistad> Boot Bootloader
- laadige see kood üles (programmeerija vea LED peab olema kustunud, muidu lähtestage see)
-
ATtinyX5 tihvtide paigutus (ATtiny85):
- Pin 1: PB5 (RST)
- Tihvt 2: PB3 (A3) - valikuliselt ühendatud 220 oomi kaudu 1 <-TX -ga
- Pin 3: PB4 (A2) - ühendatud 1 -juhtmeliste andmetega
- Pin 4: GND - ühendatud GND -ga
- Pin 5: PB0 (PWM) - ühendatud anduriga I2C SDA
- Tihvt 6: PB1 (PWM) - ühendatud LED -iga 4,7k GND -ga
- Pin 7: PB2 (A1) - ühendatud anduriga I2C SCL
- Pin 8: VCC - ühendatud 5V -ga
Töötamine ATTiny85 -ga vajab natuke rohkem tööd, kuna peate hankima täiendavaid teeke I2C comm (adafruit/TinyWireM) ja jadaväljundi (TinyDebugSerial) jaoks. Lisaks, kuna mälu on üsna piiratud, võiksite palju töötada #define'iga, nt seeria silumise eemaldamiseks. Näites näete seda kõike koos.
Testimiseks tuleb kõigepealt kontrollida, kas LED vilgub õige sagedusega (0,5 Hz). Seejärel ühendage see 1 juhtmega siiniga ja kontrollige uue seadme olemasolu.
Soovitan:
Arduino päikeseenergial töötav temperatuuri ja niiskuse andur kui 433 MHz Oregoni andur: 6 sammu
Arduino päikeseenergiaga töötava temperatuuri ja niiskuse andur kui 433 MHz Oregoni andur: see on päikeseenergial töötava temperatuuri ja niiskuse anduri konstruktsioon. Andur jäljendab 433 MHz Oregoni andurit ja on nähtav Telldus Net-lüüsis. Vajalik: 1x 10-LED Päikeseenergia liikumisandur " Ebayst. Veenduge, et see ütleb 3,7 V taigna
IOT123 - D1M BLOCKS - üldine kokkupanek: 7 sammu
IOT123 - D1M BLOCKS - üldine kokkupanek: kui teete oma projektide jaoks prototüüpe või loote vooluahelaid, kui komponendid on joodetud trükkplaadile, on piirang, kui palju neid taaskasutada muudes vooluahelates kahjustuste eemaldamise tõttu. Siit tulevad sisse D1M BLOCKS. Need on korpuse-/virnastamissüsteem
Üldine lüliti kaaperdaja: 3 sammu
Üldine lüliti kaaperdaja: Selles artiklis kirjeldatakse, kuidas ehitada tahkis -mikrokontrolleri seade, mis juhib füüsilisi lüliteid. Seda on väga odav teha (umbes 4 dollarit), eeldades, et teil on mikrokontrolleri programmeerija. Ahel ise on triviaalse keerukusega. See p
Õhukese kliendi nuumamine: 7 sammu
Õhukese kliendi nuumamine: mul oli juurdepääs mõnele õhukesele kliendile, nii et otsustan selle oma isiklikuks otstarbeks nuumata
HP T5700 õhukese kliendi kasutamine video vaatamiseks võrgu kaudu: 9 sammu
HP T5700 õhukese kliendi kasutamine video vaatamiseks võrgu kaudu: selles juhendis näitan teile, kuidas teha väike digiboks, mis võimaldab teil vaadata teie võrgus juurdepääsetavaid videofaile. Laadides VLC HP T5700 õhukese kliendi alalisse mälupulka vaid mõne minutiga