Sisällysluettelo:
Video: Arduino 1-johtiminen yleinen asiakas-/orjalaite (anturi): 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Lue ohjeet ja johdanto-osan vaihe 2 oppaasta Arduino 1-johtiminen näyttö (144 merkkiä), jotta saat lisätietoja tilanteesta ja käytettävissä olevista kirjastoista. Kuten siellä on selitetty, käytämme orguan OneWire-Hub-kirjastoa (OneWire-orjalaiteemulaattoria) (huomioi, että ympärillä on muitakin haarukoita) yleisten 1-johdinlaitteiden (esim. Anturien) rakentamiseksi Arduinon avulla.
Vaihe 1: Ohjelmisto
Tärkeintä on tehdä laite, joka voi palauttaa periaatteessa kaikenlaisen arvon yksinkertaisella tavalla. Tämä tarkoittaa, että vakio -ohjelmistoa voidaan käyttää kaikkien arvojen lukemiseen suoraan (keskustelua tai binaarista käsittelyä ei tarvita). Tätä varten tarvitsemme erittäin yksinkertaisen oletusarvoisen 1-johdinlaitteen, joka voi palauttaa kellukkeita ja jota tuetaan laajasti. Ainoa vaihtoehto, jonka tiedän, on DS18B20 -lämpömittari (DS2438 -akkumonitori on myös mielenkiintoinen ja hyödyllinen, mutta melko monimutkainen ja siten hidas muiden haittojen joukossa). OneWire-Hub-kirjasto sisältää esimerkin DS18B20_asInterface, joka tekee juuri sen, mitä tarvitsemme. Se luo joukon DS18B20, joista jokainen edustaa yhtä kelluvaa arvoa, jonka haluamme palauttaa anturiltamme. Rajoituksia ovat tarkkuus ja arvojen on oltava välillä -55, 0… 125, 0. Tämä voidaan helposti saavuttaa - pahimmassa tapauksessa skaalata uudelleen - ja se on itse asiassa parempi kuin arvot, joita voidaan esittää esim. DS2438 -arvot (1,5 - 10 V). Vaihtoehtoisesti voidaan asettaa suurempi arvoalue käyttämällä:
setTemperatureRaw (staattinen_lähetys (arvo * 16,0f));
mutta kaikki ohjelmistot eivät ehkä tue näiden arvojen lukemista ja käsittelyä, koska ne ovat teknisten tietojen ulkopuolella.
Sinun on tiedettävä, että aluksi orjien enimmäismäärä on rajoitettu 8: een, mutta sitä voidaan muuttaa kohdassa "OneWireHub_config.h" lisäämällä HUB_SLAVE_LIMIT -arvoa 32: een. Sinun on myös otettava käyttöön ONEWIRE_TIME_MSG_HIGH_TIMEOUT, jos 1-johtiminen verkko (esim. X10), kuten Arduinon 1-johtimen näytön (144 merkkiä) vaiheessa 2 selitetään. Ja käyttää IDE -versiota> = 1.8.3 koodin kokoamiseen ja lataamiseen Arduinoosi.
Tässä on esimerkki äskettäin rakentamani laitteen koodi. Koska oletan, ettet käytä samaa anturikombinaatiota kuin minä, en mene tähän tarkemmin, tarkista koodi ja kysy kysymyksiä, jos tarvitset apua.
Vaihe 2: Laitteisto
Pohjimmiltaan mitä tahansa, jonka voit liittää Arduinoon, voidaan käyttää valitsemana anturina. Ainoa rajoitus on, että anturin lukemisen tulee olla mahdollisimman nopeaa, jotta 1-johtimisella kommunikoinnilla on riittävästi aikaa jäljellä (anna ohjeeni Arduino 1-johtiminen näyttö (144 merkkiä) vaihe 2 saadaksesi esimerkin).
Esimerkki mahdollisesta laitteistosta voisi olla sääasema, esim.
https://shop.boxtec.ch/wetter-messer-p-41289.html
Lisäksi tai sen sijaan haluat ehkä käyttää itse Arduinoa anturina. Voit lukea lisää siitä oppaastani Arduinon vähemmän tunnetuista ominaisuuksista - mahdollisia arvoja ovat lähdejännite ja sisäinen lämpötila.
Tässä esimerkkinä kuva laitteesta, jonka olen hiljattain rakentanut. Koska oletan, ettet käytä samaa anturikombinaatiota kuin minä, en mene tähän tarkemmin, tarkista koodi ja kysy kysymyksiä, jos tarvitset apua.
Vaihe 3: Testaa laite
Liitä se verkkoon ja tarkista ohjelmistostasi, ovatko kaikki ROM -tunnukset läsnä ja arvot, jotka ne palauttavat lämpötilassa.
Vaihe 4: Liite: ATtiny85
Yksittäiset laitteet (muistin rajoitus) voidaan tehdä myös ATtiny85 -laitteella. Tämä vaatii muutaman askeleen, kun ohjelmoimme ATtiny85: n käyttämällä Arduino Unoa Internet -palveluntarjoajana Arduino IDE: n avulla:
-
Linkit
- 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
- käytä Arduino IDE> = 1.8.3
-
asenna ATtiny -vaihtoehto IDE: hen
- Tiedosto> Asetukset> Lisätaulujen hallinnan URL -osoitteet:
- Työkalut> Hallitus: ??? > Hallituksen johtaja…
- hae: "tiny" ja asenna
-
lataa Internet -palveluntarjoajan luonnos Unoon
Tiedosto> Esimerkit> ArduinoISP> ArduinoISP
-
työnnä ATtiny85 ohjelmointipistorasiaan (nollavoima) ja kytke se:
- Arduino Pin MOSI D11 - ATtiny Pin 5
- Arduino Pin MISO D12 - ATtiny Pin 6
- Arduino Pin SCK D13 - ATtiny Pin 7
- Arduino Pin Reset D10 to ATtiny Pin 1
- Arduino Pin GND - ATtiny Pin 4
- Arduino Pin VCC - ATtiny Pin 8
- (> = 10uF -korkki Arduino Uno RESET -nastalla saattaa olla tarpeen)
-
valitse ATtiny85 (katso kuva):
- Alusta: "ATtiny25/45/85"
- Ajastimen 1 kello: "CPU"
- B. O. D.: "B. O. D. vammainen"
- LTO (vain 1.6.11 +): Ei käytössä
- Siru: "ATtiny85"
- Kello: "8 MHz (sisäinen)" (ATtiny85- ja ATtiny84 -yhteensopiva)
- Kello: "16 MHz (PLL)" (vaihtoehtoinen asetus vain ATtiny85: lle)
- Portti: ???
-
valitse ohjelmoija:
Työkalut> Ohjelmoija: "Arduino ISP" (EI "ArduinoISP"!)
-
aseta sulakeasetukset (kello jne.):
Työkalut> Polta käynnistyslatain
- lataa tämä koodi (ohjelmoijavirheen merkkivalon on sammuttava, muuten nollaa se)
-
ATtinyX5 -nastainen asettelu (ATtiny85):
- Nasta 1: PB5 (RST)
- Nasta 2: PB3 (A3) - valinnaisesti kytketty 220 ohmin kautta 1 <-TX: ään
- Nasta 3: PB4 (A2) - kytketty 1 -johdin -DATA: han
- Nasta 4: GND - kytketty GND: hen
- Nasta 5: PB0 (PWM) - kytketty anturiin I2C SDA
- Nasta 6: PB1 (PWM) - kytketty LEDiin 4.7k GND: llä
- Nasta 7: PB2 (A1) - kytketty anturiin I2C SCL
- Nasta 8: VCC - kytketty 5 V: iin
Työskentely ATTiny85: n kanssa vaatii hieman enemmän työtä, koska sinun on hankittava lisäkirjastoja I2C comm (adafruit/TinyWireM) ja sarjalähtö (TinyDebugSerial). Lisäksi, koska muisti on melko rajallinen, saatat haluta työskennellä paljon #define -ohjelman kanssa, esim. sarjamuotoisen virheenkorjauksen poistamiseksi. Esimerkissä voit nähdä kaiken tämän yhdistettynä.
Testauksessa ensimmäinen askel on tarkistaa, vilkkuuko LED oikealla, 0,5 Hz: n taajuudella. Liitä se sitten 1 -johdinväylään ja tarkista uusi laite.
Suositeltava:
Yleinen USB -näppäimistö RGB -kytkimillä: 6 vaihetta
Yleinen USB -näppäimistö RGB -kytkimillä: Tässä ohjeessa näytän sinulle, kuinka rakentaa oma mukautettu USB -näppäimistö, joka toimii aivan kuten tavallinen tietokoneen näppäimistö. Voit määrittää minkä tahansa näppäinyhdistelmän tai näppäinsarjan, jota painetaan samalla kun painat vain yhtä painiketta. Voit käyttää sitä
12v: n yleinen vilkkupiiri: 3 vaihetta
12v: n yleinen vilkkupiiri: Kun ostimme käytetyn auton, auton sarveen oli kiinnitetty vilkku. minulle oli niin ärsyttävää, että minulla oli vilkkuva torvi, joten poistin vilkkukameran ja tallensin sen toiseen tarkoitukseen
Aina PÄÄLLÄ Raspberry Pi DLNA -palvelin ja Torrent -asiakas, jossa tila -LEDit: 6 vaihetta
Aina PÄÄLLÄ Raspberry Pi DLNA -palvelin ja Torrent -asiakas, joiden tila -LEDit: Yritin tehdä sellaisen itselleni ja se toimii täydellisesti. Se pystyy suoratoistamaan HD -videoita ilman viivettä, ja tilan merkkivalot antavat minulle sen nopean tilan
Yleinen Arduino -ohjain: 5 vaihetta (kuvilla)
Yleinen Arduino -ohjain: Muutama viikko koulun jälkeen pääsin rakentamaan pienen Arduino -robotin. Halusin siirtyä seuraavaan vaiheeseen ja tarvitsin ohjaimen. Aloin etsiä ohjainta, joka antoi minun valita käytettävän signaalin, mutta ei onnistunut. Joten tein oman. Minä
Internet -radio, jossa on Evo T20 -ohjaava asiakas, joka ei tarvitse Moniter -näppäimistöä tai -hiiriä!: 7 vaihetta
Internet -radio, jossa on ohut Evo T20 -asiakas, joka ei tarvitse Moniter -näppäimistöä tai -hiiriä!: Tässä on ohjeet Evo T20 -ohjattavan asiakkaan käyttämiseen itsenäisenä Internet -radiovastaanottimena: Miksi tehdä se No, tein sen kolmesta syystä 1], koska se oli haaste 2] Saada äänetön matalan kulutuksen yksikkö vain 20 wattia huipulla sen sijaan, että käytettäisiin meluisaa