Sisällysluettelo:
- Vaihe 1: Laitteet
- Vaihe 2: Mikro -ohjaimen asennus
- Vaihe 3: MATLAB -asennus
- Vaihe 4: Toiminnot
- Vaihe 5: Testaus
- Vaihe 6: Johtopäätös
Video: Arduinon ilmastointilaite: 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Osana demonstraatiota tiimimme kyvystä luoda malli älylaitelaitteesta markkinointitarkoituksiin tavoitteena oli luoda järjestelmä, jossa lämpötila -anturi lukee piirin tiedot ja muuntaa tiedot lämpötila -arvoksi, joka on sekä näytetään valaistulla näytöllä ja keskitytään siihen, kytkeytyykö tuuletin päälle vai pois. Tarkoituksena on auttaa mukautumaan matkustajien ajo -olosuhteisiin käyttämällä automaattista järjestelmää, joka myös näyttää lämpötilan välittömässä läheisyydessä.
Käyttämällä Arduino -mikrokontrollerisarjaa ja MATLAB -versioita 2016b ja 2017b pystyimme osoittamaan nämä tulokset suhteellisen menestyksekkäästi.
Vaihe 1: Laitteet
Mikro -ohjainsarja, jossa on seuraavat:
-Sparkfun Red Board
-Sparkfun Breadboard
-LCD -levy
-Potentiometri
-Lämpösensori
-Servo
-USB/Arduino -sovitin
-hyppyjohdot (vähintään 25)
Kannettava tietokone (Windows 10), jossa on USB -tulo
3D -tulostettu objekti (valinnainen)
Vaihe 2: Mikro -ohjaimen asennus
Ajattele tätä: koko järjestelmä koostuu yksittäisistä yksiköistä, joista jokainen soveltaa merkittävää tekijää lopputulokseen. Tästä syystä on erittäin suositeltavaa luoda piiristä kuva ennen johtojen kiinnittämistä mutkikkaaseen sotkuun.
Kunkin yksittäisen mallin kuvat ovat mikro -ohjaimen työkalusarjan käyttöoppaassa tai sen verkkosivustolla osoitteessa
Aloita kiinnittämällä lämpötila -anturi, potentiometri, servoliittimet ja LCD -levy levylle. On suositeltavaa, että nestekidenäytön koon ja sen johtojen lukumäärän vuoksi se asetetaan omalle leipälevyn puolelle ja muut osat toiselle puolelle ja että potentiometri on alueella, jossa joku voi kääntää nuppia helposti.
Viitteenä:
LCD: c1-16
Servo: i1-3 (GND + -)
Lämpötila-anturi: i13-15 (- GND +)
Potentiometri: g24-26 (- GND +)
Aloita seuraavaksi hyppyjohtojen yhdistäminen mikro -ohjainyksiköiden kuhunkin nastaan; Vaikka koko yleissuunnitelmassa mielivaltainen, malli luotiin seuraavilla tärkeillä yhteyksillä:
Potentiometrin liittäminen nestekidenäyttöön: f25 - e3
Servo GND -johto: j1 - digitaalitulo 9
Lämpötila -anturi GND: j14 - analogiatulo 0
LCD-tulot: e11-e15-digitaalitulo 2-5
e4 - Digitaalitulo 7
e6 - Digitaalitulo 6
(Huomautus: Jos onnistuu, LCD -näytön molempien valojen pitäisi vilkkua ja potentiometri voi auttaa säätämään kirkkauttaan, kun se saa virtansa verkkolaitteesta.)
Valinnainen: 3D -tulostettua esinettä käytettiin osana vaatimusta. Hauraammille osille mahdollisesti aiheutuvien vaurioiden välttämiseksi LCD -paneelin ympärille asetettiin pidempi kotelo. Nestekidenäytön mitat osoittautuivat noin 2-13/16 "x 1-1/16" x 1/4 ", joten vain korkeus muuttui merkittävästi. Jos 3D-tulostin on helposti saatavilla, harkitse henkilökohtaisen esineen lisäämistä Huomaa myös, että mitat voivat vaihdella.
Vaihe 3: MATLAB -asennus
Asenna MATLABin päivitetty versio (2016a ja siitä eteenpäin), joka on saatavana MathWorksin verkkosivustolta https://www.mathworks.com/products/matlab.html?s_tid=srchtitle. Kun olet avannut, siirry Aloitus-välilehden Lisäosat-kohtaan ja lataa "MATLAB Support Package for Arduino Hardware", jotta mikrokomentojen komennot ovat käytettävissä.
Kun olet valmis, voit tehdä testin löytääksesi mikro -ohjaimen yhteyden tietokoneeseen/kannettavaan tietokoneeseen. Kun olet liittänyt ne työkalusarjan USB -sovittimeen, kirjoita komento "fopen (serial ('nada'))."
Näyttöön tulee virhesanoma, jossa liitin on "COM#", jota tarvitaan arduino-objektin luomiseen niin kauan kuin se on aina sama tulo.
Koska nestekidenäytöllä ei ole suoraa yhteyttä Arduinon kirjastoon, viestien näyttämiseksi on luotava uusi kirjasto. Suositus on luoda LCDAddon.m -tiedosto MATLAB -ohjeikkunassa olevasta LCD -esimerkistä sen jälkeen, kun on tehty haku "Arduino LCD" ja sijoitettu +arduinoioaddons -kansioon, tai käytä liitettyä pakattua kansiota ja kopioi kaikki sen sisältö edellä mainittuun kansio.
Jos onnistuu, koodi Arduino -objektin luomiseksi MATLABissa on alla.
a = arduino ('com#', 'uno', 'Libraries', 'ExampleLCD/LCDAddon');
Vaihe 4: Toiminnot
Luo MATLAB -toiminto. Sisääntuloihin käytämme muuttujia "eff" ja "T_min"; tuotoksissa, vaikka ne olisivat tarpeettomia yleissuunnittelussa, käytimme muuttujaa "B" keinona sisällyttää tietoja tuloksista. Tulo "eff" mahdollistaa servon suurimman nopeuden hallinnan, ja tulo "T_min" ohjaa haluttua minimilämpötilaa. Arvon "B" pitäisi siis tuottaa matriisi, joka sisältää kolme saraketta puhaltimen ajan, lämpötilan ja tehokkuuden osalta. Lisäksi yksityiskohtaisena bonuksena alla luetellussa koodissa on if-lause, jonka mukaan tuulettimen nopeus laskee 50 prosenttia, kun se saavuttaa halutun minimilämpötilan.
Jos kaikki tulot ja hyppyjohdot on sijoitettu täsmälleen ja olettaen, että arduino -liitännän portti on COM4 ja toiminnon nimi on "fanread", seuraavan koodin pitäisi riittää:
toiminto [B] = fanread (Tmin, eff)
selkeä a; clear lcd; a = arduino ('com4', 'uno', 'Libraries', 'ExampleLCD/LCDAddon');
t = 0; t_max = 15; % aikaa sekunneissa
lcd = addon (a, 'EsimerkkiLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2');
initializeLCD (lcd, 'Rivit', 2, 'Sarakkeet', 2);
jos eff> = 1 || e <0
virhe ('Tuuletin ei aktivoidu, ellei eff ole asetettu välille 0 ja 1.')
loppuun
t = 1: 10 % silmukoita/aikavälejä
kirkas c; % estää virheen toistumisen
v = lukujännite (a, 'A0');
Lämpötila = (v-0,5)*100; % arvio jännitealueille 2,7-5,5 V
jos TempC> Tmin jos TempC
c = ['Lämpö', numero2str (TempC, 3), 'C Päällä'];
writePWMDutyCycle (a, 'D9', eff/2); % käynnistä servo puoleen nopeuteen
spd = 50;
muu
c = ['Lämpö', numero2str (TempC, 3), 'C Päällä'];
writePWMDutyCycle (a, 'D9', eff); % käynnistä servo annetulla nopeudella
spd = 100;
loppuun
muu
c = ['Lämpö', numero2str (TempC, 3), 'C Pois'];
writePWMDutyCycle (a, 'D9', 0); % sammutettu, jos se on jo päällä
spd = 0;
loppuun
printLCD (lcd, c);
tauko (3); % kolme sekuntia kuluu silmukkaa kohti
aika (t) = t.*3;
tempplot (t) = Lämpötila;
act (t) = spd;
osajuoni (2, 1, 1)
plot (aika, tempplot, 'b-o') % viivakaavio
akseli ([0 33 0 40])
xlabel ('Aika (sekuntia)')
ylabel ('Lämpötila (C)')
pidä kiinni
juoni ([0 33], [Tmin Tmin], 'r-')
pidä kiinni
kuvaaja ([0 33], [Tmin+2 Tmin+2], 'g-')
osajuoni (2, 1, 2)
palkki (aika, teko) % pylväskaavio
xlabel ('Aika (sekuntia)')
ylabel ('Tehokkuus (%)')
loppuun
B = transponoi ([aika; tempplot; act]);
loppuun
Nyt kun toiminto on valmis, on aika testata.
Vaihe 5: Testaus
Testaa nyt toiminto komentoikkunassa lisäämällä "function_name (input_value_1, input_value_2)" ja katso. Varmista, ettei Arduino -objektia ole jo olemassa; Jos näin on, poista se komennolla "a a". Jos virheitä ilmenee, tarkista ja tarkista, ovatko liittimet väärässä paikassa tai käytetäänkö väärää digitaalista tai analogista tuloa. Tulosten odotetaan vaihtelevan, vaikka tämä saattaa johtua tiettyjen hyppyjohtojen ja lämpötila -anturin sijoittamisesta.
Tulosten odotusten pitäisi muuttaa servon suorituskykyä ja nestekidenäytön tietoja. Joka kolmen sekunnin välein tekstirivillä tulee näyttää lämpötila celsiusasteina ja onko puhallin aktiivinen puhaltimen ollessa käynnissä täydellä nopeudella, puolinopeudella tai ilman nopeutta. Tietojen ei todennäköisesti pitäisi olla johdonmukaisia, mutta jos haluat enemmän erilaisia tuloksia, aseta "Tmin" -arvo lähellä piirin tuottamaa keskilämpötilaa.
Vaihe 6: Johtopäätös
Lopputulokset osoittautuivat varsin mielenkiintoisiksi ja tyydyttäviksi, vaikka ne olisivat vaikeita kokeilla ja erehtyä. Järjestelmä sinänsä auttaa havainnollistamaan sitä, kuinka monta monimutkaista konetta tai jopa joitakin niiden osia voidaan pitää kokoelmana itsenäisistä osista, jotka on sijoitettu yhteen tietyn tavoitteen saavuttamiseksi.
Lopullisen projektin melko yksinkertaisen suunnittelun vuoksi ne, jotka ovat kiinnostuneita parantamaan sen suorituskykyä, voivat tehdä lopputuotteeseen muutoksia ja muutoksia, jotka voivat tehdä projektista paremman ja yksityiskohtaisemman. Se paljastaa kuitenkin piirin heikkouksia, kuten servon aktivoinnin, joka johtaa satunnaisiin vaihteluihin piirin jännitteen lukemassa, mikä voi aiheuttaa sen, että järjestelmä ei koskaan tuota samanlaisia tuloksia. Myös servonopeuden muutoksen havaitsemisessa on ollut ongelmia, kun "eff" on asetettu 0,4 ja korkeammalle. Jos lämpötila- ja kosteusanturia olisi käytetty, lopullinen malli olisi monimutkaisempi, mutta sen arvot olisivat yhdenmukaisempia. Tämä on kuitenkin kokemus, joka osoittaa, että monimutkainen kone voi toimia yhdistelmänä sen yksinkertaisista osista.
Suositeltava:
DIY Bucket -ilmastointilaite: 13 vaihetta (kuvilla)
DIY Bucket Air Conditioner: Asun melko kuumassa paikassa Etelä -Intiassa ja työtilani on tukossa. Löysin siistin ratkaisun tähän ongelmaan muuttamalla vanhan kauhan DIY -ilmastointilaitteeksi. AC -malli on hyvin yksinkertainen, edullinen, mutta silti tehokas
Arduinon ohjelmointi toisen Arduinon avulla vieritettävän tekstin näyttämiseksi ilman kirjastoa: 5 vaihetta
Arduinon ohjelmointi toisen Arduinon avulla vieritettävän tekstin näyttämiseksi ilman kirjastoa: Sony Spresense tai Arduino Uno eivät ole niin kalliita eivätkä vaadi paljon virtaa. Jos projektillasi on kuitenkin virtaa, tilaa tai jopa budjettia, voit harkita Arduino Pro Minin käyttöä. Toisin kuin Arduino Pro Micro, Arduino Pro Mi
Automaattinen ilmastointilaite: 5 vaihetta
Automaattisesti käynnistyvä ilmastointilaite: Tätä laitetta kutsutaan automaattisesti käynnistyväksi ilmastointilaitteeksi. Kun olet kuumassa huoneessa ja olet juuri käynyt koulun, olet liian väsynyt käynnistämään ilmastointilaite, tämä laite on täydellinen sinulle. Tämän laitteen mekanismi on hyvin yksinkertainen. W
DIY -kannettava styrox -ilmastointilaite: 7 vaihetta (kuvilla)
DIY -kannettava styrox -ilmastointilaite: Hei, kaverit viimeisessä ohjeessa Näytin sinulle, kuinka tehdä styroxleikkuri, Tällä viikolla näytän sinulle, kuinka tehdä kannettava styrox -ilmastointilaite. Tämä ilmastointilaite ei korvaa kaupallista mallia, mutta sitä voidaan käyttää jäähdyttämään
Kannettava ilmastointilaite (USB tai akku): 4 vaihetta
Kannettava ilmastointilaite (USB tai akku): Tämä yksinkertainen ohje on suunniteltu poistamaan helvetti työpöydältäsi, sängystäsi tai mistä tahansa. jos sinulla on tietokoneen tai ostoskeskuksen virtalähteen tuuletin makaamassa ja sitä käytetään halvan slurpin ottamiseen 7/11, tämä on sinua varten! helppo, helppo tehdä, ja saat