Sisällysluettelo:
- Vaihe 1: Rakenna piiri
- Vaihe 2: Koodaus lohkoilla
- Vaihe 3: Valovastus Arduino -koodi selitetty
- Vaihe 4: Rakenna fyysinen Arduino -piiri (valinnainen)
- Vaihe 5: Kokeile seuraavaksi…
Video: Valoanturi (valoresistori) Arduinolla Tinkercadissa: 5 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Tinkercad -projektit »
Opetellaan lukemaan valoresistori, valoherkkä muuttuvan vastuksen tyyppi, käyttämällä Arduinon analogista tuloa. Sitä kutsutaan myös LDR: ksi (valosta riippuvainen vastus).
Toistaiseksi olet jo oppinut ohjaamaan LED -valoja Arduinon analogisella lähdöllä ja lukemaan potentiometrin, joka on toinen tyyppinen muuttuva vastus, joten hyödynnämme näitä taitoja tässä oppitunnissa. Muista, että Arduinon analogiset tulot (nastat merkitty A0-A6) voivat havaita vähitellen muuttuvan sähköisen signaalin ja muuntaa sen signaaliksi 0-1023.
Tutustu tähän työtasoon upotettuun näytepiiriin napsauttamalla Käynnistä simulaatio ja napsauttamalla valovastusta (ruskea soikea, jossa on viisto viiva keskellä) ja säädä sitten simuloitu valon tulo vetämällä kirkkauden liukusäädintä.
Tässä oppitunnissa rakennat tämän simuloidun piirin itse näytteen viereen. Voit rakentaa valinnaisesti fyysisen piirin keräämällä Arduino Uno -korttisi, USB -kaapelin, juotottoman leipälevyn, LED -valon, vastukset (220 ohmia ja 4,7 k ohmia), valoresistorin ja leipälevyn johdot.
Voit seurata virtuaalisesti Tinkercad -piirien avulla. Voit jopa katsoa tämän oppitunnin Tinkercadista (ilmainen sisäänkirjautuminen vaaditaan)! Tutustu näytepiiriin ja rakenna oma aivan sen viereen. Tinkercad Circuits on ilmainen selainpohjainen ohjelma, jonka avulla voit rakentaa ja simuloida piirejä. Se on täydellinen oppimiseen, opettamiseen ja prototyyppien luomiseen.
Vaihe 1: Rakenna piiri
Katso kuvassa olevaa leipälevypiiriä. Voi olla hyödyllistä tarkastella tämän näytepiirin vapaata langallista versiota vertailua varten, kuvassa. Tässä vaiheessa rakennat oman version tästä piiristä työtason näytteen viereen.
Jatkaaksesi lataa uusi Tinkercad Circuits -ikkuna ja rakenna oma versio tästä piiristä näytteen viereen.
Tunnista Arduinoon kytketyt valoresistori, LED, vastukset ja johdot Tinkercad Circuits -työtasossa.
Vedä Arduino Uno ja leipälevy komponenttipaneelista työtasoon nykyisen piirin viereen.
Liitä leipälauta (+) ja maadoitus (-) kiskot Arduino 5V ja maadoitus (GND) vastaavasti napsauttamalla luodaksesi johtoja.
Laajenna teho- ja maadoituskiskot vastaaviin väyliinsä leipälevyn vastakkaisella reunalla (valinnainen tälle piirille, mutta hyvä yleinen käytäntö).
Kytke LED kahteen eri leipälautariviin niin, että katodi (negatiivinen, lyhyempi jalka) kytkeytyy vastuksen toiseen jalkaan (missä tahansa 100-1K ohmia on hyvä). Vastus voi mennä kumpaankin suuntaan, koska vastukset eivät ole polarisoituneita, toisin kuin LEDit, jotka on kytkettävä tietyllä tavalla toimimaan.
Liitä toinen vastuksen jalka maahan.
Kytke LED -anodi (positiivinen, pidempi jalka) Arduino -nastaan 9.
Vedä valovastus komponenttipaneelista leipälevyllesi, jotta sen jalat kiinnittyvät kahteen eri riviin.
Luo johto, joka yhdistää yhden valovastuksen jalan virtalähteeseen napsauttamalla.
Liitä toinen jalka Arduinon analogiseen nastaan A0.
Vedä vastusta komponenttipaneelista liittääksesi A0: een yhdistetyn valoresistorin jalka maahan ja säädä sen arvoksi 4,7 k ohmia.
Vaihe 2: Koodaus lohkoilla
Käytämme koodilohkojen editoria kuuntelemaan valovastuksen tilaa ja aseta sitten LED suhteelliseen kirkkauteen sen mukaan, kuinka paljon valoa anturi näkee. Voit halutessasi päivittää muistisi LED -analogilähdöstä Fading LED -oppitunnissa.
Avaa koodieditori napsauttamalla "Koodi" -painiketta. Harmaat merkintälohkot ovat kommentteja, joiden avulla voit merkitä muistiin, mitä aiot koodillasi tehdä, mutta tätä tekstiä ei suoriteta osana ohjelmaa.
Napsauta muuttujien luokkaa koodieditorissa.
Jos haluat tallentaa valoresistorin vastusarvon, luo muuttuja nimeltä sensorValue.
Vedä "asetettu" lohko ulos. Tallennamme valoresistorimme tilan muuttujaan
sensorValue
Napsauta syöttöluokkaa ja vedä "analoginen lukutappi" -lohko ulos ja aseta se "asetettu" -lohkoon sanan "to" jälkeen
Koska potentiometrimme on kytketty Arduinoon nastassa A0, vaihda avattavasta valikosta A0.
Napsauta tulostusluokkaa ja vedä "Tulosta sarjamonitoriin" -lohko.
Siirry Muuttujat -luokkaan ja vedä muuttujan sensorValue "Tulosta sarjamonitoriin" -lohkoon ja varmista, että avattava valikko on asetettu tulostamaan uudella rivillä. Käynnistä vaihtoehtoisesti simulaatio ja avaa sarjamonitori varmistaaksesi, että lukemat tulevat ja muuttuvat, kun säädät anturia. Analogiatulojen arvot ovat 0-1023.
Koska haluamme kirjoittaa LED-valolle numeron välillä 0 (pois päältä) ja 255 (täysi kirkkaus), käytämme "kartta" -lohkoa tehdäksemme ristikertoimen puolestamme. Siirry matematiikka -luokkaan ja vedä "kartta" -lohko ulos.
Vedä ensimmäisessä korttipaikassa sensorValue -muuttujalohkoa ja aseta sitten alue 0-255.
Vedä takaisin Output -luokkaan analoginen "set pin" -lohko, joka sanoo oletuksena "set pin 3 to 0." Säädä se asettamaan nasta 9.
Vedä aiemmin tekemäsi karttalohko "set pin" -lohkon "to" -kenttään kirjoittaaksesi säädetty numero LED -nastaan PWM: n avulla.
Napsauta Control -luokkaa ja vedä odotuslohko ulos ja säädä sitä viivästyttääksesi ohjelmaa.1 sekuntia.
Vaihe 3: Valovastus Arduino -koodi selitetty
Kun koodieditori on auki, voit napsauttaa vasemmalla olevaa avattavaa valikkoa ja valita "Lohkot + teksti" paljastaaksesi koodilohkojen tuottaman Arduino -koodin. Seuraa, kun tutkimme koodia tarkemmin.
int sensorValue = 0;
Ennen
perustaa()
luomme muuttujan, joka tallentaa potentiometristä luetun nykyisen arvon. Sitä kutsutaan
int
koska se on kokonaisluku tai mikä tahansa kokonaisluku.
mitätön asennus ()
{pinMode (A0, INPUT); pinMode (9, LÄHTÖ); Sarja.alku (9600); }
Asetusten sisällä nastat määritetään käyttämällä
pinMode ()
toiminto. Nasta A0 on määritetty tuloksi, joten voimme "kuunnella" potentiometrin sähköistä tilaa. Nasta 9 on konfiguroitu lähdöksi ohjaamaan LEDiä. Voidakseen lähettää viestejä Arduino avaa uuden sarjaliikennekanavan
Serial.begin ()
joka vaatii baudinopeusargumentin (minkä nopeuden kommunikoida), tässä tapauksessa 9600 bittiä sekunnissa.
tyhjä silmukka ()
{// lukea arvo anturista sensorValue = analogRead (A0); // tulosta anturin lukema, jotta tiedät sen alueen Serial.println (sensorValue);
Mitä tahansa kauttaviivojen jälkeen
//
on kommentti, joka auttaa ihmisiä ymmärtämään selkeällä kielellä, mitä ohjelma on tarkoitettu tekemään, mutta ei sisälly Arduinon suorittamaan ohjelmaan. Pääsilmukassa funktio nimeltä
analogRead ();
tarkistaa nastan A0 tilan (joka on kokonaisluku 0-1023) ja tallentaa arvon muuttujaan
sensorValue
// yhdistä anturin lukema LED -alueen alueelle
analogWrite (9, kartta (sensorValue, 0, 1023, 0, 255)); viive (100); // Odota 100 millisekuntia}
Seuraavan kommentin jälkeinen rivi tekee paljon kerralla. Muistaa
analogWrite ()
vaatii kaksi argumenttia, PIN -numeron (meidän tapauksessamme 9) ja kirjoitettavan arvon, jonka tulee olla 0 ja 255. Inline -funktio
kartta()
sisältää viisi argumenttia: arvioitava luku (jatkuvasti muuttuva anturimuuttuja), odotettu minimi ja odotettu maksimi sekä haluttu min ja max. Joten
kartta()
meidän tapauksessamme on arvioida saapuva sensorValue ja tehdä ristiin kertolasku skaalaamaan ulostulo alas 0-1023: sta 0-255: een. Tulos palautetaan kohdan toiseen argumenttiin
analogWrite ();
säätämällä nastaan 9 yhdistetyn LEDin kirkkautta.
Vaihe 4: Rakenna fyysinen Arduino -piiri (valinnainen)
Jos haluat ohjelmoida fyysisen Arduino Unon, sinun on asennettava ilmainen ohjelmisto (tai laajennus web -editoria varten) ja avattava se. Eri valokennoilla on eri arvot, joten jos fyysinen piirisi ei toimi, sinun on ehkä vaihdettava sen kanssa pariksi liitetty vastus. Lisätietoja jännitteenjakajista on Instructables Electronics Class -oppitunnin vastuksia koskevassa oppitunnissa.
Kytke Arduino Uno -piiri kytkemällä komponentit ja johdot, jotka vastaavat tässä kohdassa Tinkercad Circuits esitettyjä liitäntöjä. Jos haluat yksityiskohtaisempia ohjeita fyysisen Arduino Uno -levyn kanssa työskentelystä, tutustu ilmaiseen Instructables Arduino -luokkaan.
Kopioi koodi Tinkercad Circuits -koodi -ikkunasta ja liitä se tyhjään luonnokseen Arduino -ohjelmistossasi tai napsauta latauspainiketta (alaspäin osoittava nuoli) ja avaa
Löydät tämän esimerkin myös Arduino -ohjelmistosta siirtymällä kohtaan Tiedosto -> Esimerkit -> 03. Analog -> AnalogInOutSerial.
Liitä USB -kaapeli ja valitse kortti ja portti ohjelmiston Työkalut -valikosta.
Lataa koodi ja peitä kädelläsi anturi valon vastaanottamisesta ja/tai loista valo anturillesi!
Avaa sarjamonitori tarkkaillaksesi anturin arvoja. Todennäköisesti todelliset arvot eivät ulotu valaistusolosuhteista riippuen aina 0: een tai aina 1023: een. Voit vapaasti säätää 0-1023-alueen havaittuun minimiin ja havaittuun maksimiin, jotta LED-valo saa suurimman kirkkausalueen.
Vaihe 5: Kokeile seuraavaksi…
Nyt kun olet oppinut lukemaan valovastuksen ja kartoitamaan sen lähdön LED -valon kirkkauden säätämiseksi, olet valmis soveltamaan niitä ja muita tähän mennessä oppimiasi taitoja.
Voitko vaihtaa LED -valon toisen tyyppiseen lähtöön, kuten servomoottoriin, ja luoda koodin, joka heijastaa anturin nykyistä valotasoa tiettynä asennona mittaria pitkin?
Kokeile vaihtaa valovastuksesi muihin analogisiin tuloihin, kuten ultraäänietäisyysanturi tai potentiometri.
Lue lisää Arduinon digitaalisten ja analogisten tulojen seurannasta tietokoneen kautta sarjamonitorin avulla.
Suositeltava:
Disco -valot RGB: ltä Arduinon avulla TinkerCadissa: 3 vaihetta
Disco -valot RGB: ltä Arduinon käyttäminen TinkerCadissa: Kun olet kytkenyt RGB: n, RGB: n väriä on helppo hallita PWM- tai analogilähdön avulla, Arduinoa varten voit käyttää analogWrite () -napaa nastoissa 3, 5, 6 , 9, 10, 11, A0, A1, A2, A3, A4, A5 (klassisille Arduinolle, jotka käyttävät Atmega328 tai 1
Kuinka tehdä penkki TinkerCADissa: 5 vaihetta
Kuinka tehdä penkki TinkerCADissa: Tässä ohjeessa opastan sinua vaihe vaiheelta tekemään penkki tinkerCADissa
Liitäntä LCD -näyttöön Arduinolla Tinkercadissa: 5 vaihetta
Nestekidenäytön liittäminen Arduinon kanssa Tinkercadissa: Tämän artikkelin koodi on kirjoitettu nestekidenäytöille, jotka käyttävät tavallista Hitachi HD44780 -ohjainta. Jos nestekidenäytössäsi on 16 nastaa, siinä todennäköisesti on Hitachi HD44780 -ohjain. Nämä näytöt voidaan kytkeä joko 4 -bittiseen tai 8 -bittiseen tilaan. LCD -näytön kytkentä 4
Arduino -sarjamonitori Tinkercadissa: 7 vaihetta (kuvilla)
Arduino -sarjamonitori Tinkercadissa: Kaikkien ohjelmasi tapahtumien seuraaminen voi olla ylämäkeä. Sarjamonitori on tapa kuunnella koodisi tapahtumia raportoimalla tietokoneelle USB -kaapelin kautta. Tinkercad Circuits -simulaattorissa sarja
RGB -LED -värisekoitus Arduinon kanssa Tinkercadissa: 5 vaihetta (kuvilla)
RGB -LED -värisekoitus Arduinon kanssa Tinkercadissa: Opetellaan hallitsemaan monivärisiä LED -valoja Arduinon analogisten lähtöjen avulla. Yhdistämme RGB -LEDin Arduino Unoon ja teemme yksinkertaisen ohjelman sen värin muuttamiseksi. Voit seurata virtuaalisesti Tinkercad -piirien avulla. Voit jopa katsoa tämän