Satura rādītājs:
- 1. solis: izveidojiet ķēdi
- 2. darbība: kods ar blokiem
- 3. darbība: izskaidrots fotorezistors Arduino kods
- 4. solis: izveidojiet fizisku Arduino shēmu (pēc izvēles)
- 5. darbība. Tālāk mēģiniet…
Video: Gaismas sensors (fotorezistors) ar Arduino Tinkercad: 5 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
Tinkercad projekti »
Uzzināsim, kā lasīt fotorezistoru, gaismas jutīgu mainīga rezistora veidu, izmantojot Arduino analogo ieeju. To sauc arī par gaismas rezistoru (LDR).
Līdz šim jūs jau esat iemācījušies vadīt gaismas diodes ar Arduino analogo izeju un nolasīt potenciometru, kas ir cita veida mainīgs rezistors, tāpēc šajā nodarbībā mēs balstīsimies uz šīm prasmēm. Atcerieties, ka Arduino analogās ieejas (tapas ar atzīmi A0-A6) var noteikt pakāpeniski mainīgu elektrisko signālu un pārvērst šo signālu skaitlī no 0 līdz 1023.
Izpētiet paraugu shēmu, kas ievietota šeit darba plaknē, noklikšķinot uz Sākt simulāciju un noklikšķinot uz fotorezistora (brūns ovāls ar šķībi novietotu līniju vidū), pēc tam velciet spilgtuma slīdni, lai pielāgotu simulēto gaismas ievadi.
Šajā nodarbībā jūs pats veidosit šo simulēto shēmu gar paraugu. Lai pēc izvēles izveidotu fizisko ķēdi, savāciet savu Arduino Uno plati, USB kabeli, bezlodēšanas maizes dēli, LED, rezistorus (220 omi un 4,7 kΩ), fotorezistoru un maizes dēļa vadus.
Jūs varat sekot līdzi virtuāli, izmantojot Tinkercad shēmas. Jūs pat varat apskatīt šo nodarbību no Tinkercad (nepieciešama bezmaksas pieteikšanās)! Izpētiet paraugu ķēdi un izveidojiet savu blakus tai. Tinkercad Circuits ir bezmaksas pārlūkprogramma, kas ļauj veidot un simulēt ķēdes. Tas ir lieliski piemērots mācībām, prototipu veidošanai.
1. solis: izveidojiet ķēdi
Apskatiet attēlā redzamo maizes dēļa ķēdi. Var būt noderīgi aplūkot šīs parauga shēmas bezmaksas vadu versiju salīdzināšanai, kā parādīts attēlā. Šajā solī jūs izveidosit savu šīs shēmas versiju blakus paraugam darba plaknē.
Lai turpinātu, ielādējiet jaunu Tinkercad Circuits logu un izveidojiet savu šīs shēmas versiju gar paraugu.
Identificējiet fotorezistoru, LED, rezistorus un vadus, kas savienoti ar Arduino, Tinkercad Circuits darba plaknē.
Velciet Arduino Uno un maizes dēli no komponentu paneļa uz darba plakni blakus esošajai shēmai.
Pievienojiet maizes dēļa barošanas (+) un zemes (-) sliedes attiecīgi Arduino 5V un zemei (GND), noklikšķinot, lai izveidotu vadus.
Paplašiniet jaudas un zemes sliedes līdz attiecīgajiem autobusiem maizes dēļa pretējā malā (šai shēmai nav obligāta, bet laba prakse).
Pievienojiet gaismas diodi divām dažādām maizes dēļa rindām, lai katods (negatīvs, īsāks kājiņš) savienotos ar vienu pretestības kāju (ir labi no 100-1K omiem). Rezistors var būt jebkurā virzienā, jo rezistori nav polarizēti, atšķirībā no gaismas diodēm, kurām jābūt savienotām noteiktā veidā, lai tās darbotos.
Pievienojiet citu rezistora kāju zemei.
Pievienojiet LED anodu (pozitīva, garāka kāja) pie Arduino tapas 9.
Velciet fotorezistoru no komponentu paneļa uz maizes dēli, lai tā kājas pievienotos divām dažādām rindām.
Noklikšķiniet, lai izveidotu vadu, kas savieno vienu fotorezistora kāju ar strāvu.
Savienojiet otru kāju ar Arduino analogo tapu A0.
Velciet pretestību no komponentu paneļa, lai ar zemi savienotu fotorezistora kāju, kas savienota ar A0, un noregulējiet tā vērtību līdz 4,7 kΩ.
2. darbība: kods ar blokiem
Izmantosim kodu bloku redaktoru, lai noklausītos fotorezistora stāvokli, pēc tam iestatīsim gaismas diodi uz relatīvo spilgtumu, pamatojoties uz to, cik daudz gaismas sensors redz. Iespējams, vēlēsities atsvaidzināt atmiņu par LED analogo izvadi nodarbībā Fading LED.
Noklikšķiniet uz pogas "Kods", lai atvērtu koda redaktoru. Pelēkie apzīmējumu bloki ir komentāri, lai atzīmētu, ko jūs plānojat darīt ar savu kodu, taču šis teksts netiek izpildīts programmas ietvaros.
Kodu redaktorā noklikšķiniet uz kategorijas Mainīgie.
Lai saglabātu fotorezistora pretestības vērtību, izveidojiet mainīgo ar nosaukumu "sensorValue".
Izvelciet "iestatīto" bloku. Mēs saglabāsim mūsu fotorezistora stāvokli mainīgajā
sensorValue
Noklikšķiniet uz ievades kategorijas un velciet ārā bloku "analogā lasīšanas tapa" un ievietojiet to blokā "iestatīt" aiz vārda "līdz"
Tā kā mūsu potenciometrs ir savienots ar Arduino uz tapas A0, mainiet nolaižamo izvēlni uz A0.
Noklikšķiniet uz izvades kategorijas un velciet bloku "drukāt uz seriālo monitoru".
Pārejiet uz kategoriju Mainīgie un velciet mainīgo sensorValue uz bloku "drukāt uz seriālo monitoru" un pārliecinieties, vai nolaižamā izvēlne ir iestatīta drukāšanai ar jaunu rindu. Pēc izvēles sāciet simulāciju un atveriet seriālo monitoru, lai pārbaudītu, vai, noregulējot sensoru, rādījumi nāk un mainās. Analogās ievades vērtības ir no 0 līdz 1023.
Tā kā mēs vēlamies rakstīt gaismas diodei ar skaitli no 0 (izslēgts) līdz 255 (pilns spilgtums), mēs izmantosim "kartes" bloku, lai mūsu vietā izdarītu krustošanu. Pārejiet uz matemātikas kategoriju un velciet "kartes" bloku.
Pirmajā slotā ievelciet mainīgo bloku sensorValue, pēc tam iestatiet diapazonu no 0 līdz 255.
Atgriežoties kategorijā Izvade, velciet ārā analogo "iestatītās tapas" bloku, kas pēc noklusējuma saka "iestatīt tapu 3 līdz 0." Pielāgojiet to, lai iestatītu tapu 9.
Ievelciet iepriekš izveidoto kartes bloku laukā "iestatīt tapas" bloka "uz", lai ierakstītu pielāgoto skaitli LED tapā, izmantojot PWM.
Noklikšķiniet uz kategorijas Vadība un velciet uzgaidīšanas bloku un noregulējiet to, lai aizkavētu programmu par 1 sekundi.
3. darbība: izskaidrots fotorezistors Arduino kods
Kad koda redaktors ir atvērts, varat noklikšķināt uz nolaižamās izvēlnes kreisajā pusē un atlasīt “Bloki + teksts”, lai atklātu kodu bloku ģenerēto Arduino kodu. Sekojiet līdzi, kamēr mēs detalizētāk izpētām kodu.
int sensorValue = 0;
Pirms
uzstādīt()
mēs izveidojam mainīgo, lai saglabātu potenciometra nolasīto pašreizējo vērtību. To sauc
int
jo tas ir vesels skaitlis vai jebkurš vesels skaitlis.
anulēts iestatījums ()
{pinMode (A0, INPUT); pinMode (9, OUTPUT); Sērijas sākums (9600); }
Iestatījumā tapas tiek konfigurētas, izmantojot
pinMode ()
funkciju. Pin A0 ir konfigurēts kā ieeja, lai mēs varētu "klausīties" potenciometra elektrisko stāvokli. 9. tapa ir konfigurēta kā izeja, lai kontrolētu gaismas diodi. Lai varētu nosūtīt ziņas, Arduino atver jaunu sērijas sakaru kanālu ar
Serial.begin ()
kas izmanto bodu ātruma argumentu (ar kādu ātrumu sazināties), šajā gadījumā 9600 bitu sekundē.
tukša cilpa ()
{// nolasiet vērtību no sensora sensorValue = analogRead (A0); // izdrukājiet sensora rādījumu, lai jūs zināt tā diapazonu Serial.println (sensorValue);
Viss pēc slīpsvītru kopas
//
ir komentārs, kas palīdz cilvēkiem saprotamā valodā saprast, ko programma ir paredzēta, bet nav iekļauta jūsu Arduino palaistajā programmā. Galvenajā cilpā funkcija, ko sauc
analogRead ();
pārbauda tapas A0 stāvokli (kas būs vesels skaitlis no 0-1023) un saglabā šo vērtību mainīgajā
sensorValue
// kartēt sensora rādījumu uz gaismas diodes diapazonu
analogWrite (9, karte (sensorValue, 0, 1023, 0, 255)); kavēšanās (100); // Pagaidiet 100 milisekundes}
Rinda, kas seko nākamajam komentāram, vienlaikus dara daudz. Atcerieties
analogWrite ()
ņem divus argumentus, pin numuru (mūsu gadījumā 9) un rakstāmo vērtību, kurai jābūt no 0 līdz 255. Iekļautā funkcija
karte ()
ņem piecus argumentus: novērtējamo skaitli (pastāvīgi mainīgais sensora mainīgais), paredzamo minimālo un paredzamo maksimumu, kā arī vēlamo min un max. Tātad
karte ()
Mūsu gadījumā funkcija novērtē ienākošo sensoru vērtību un veic krustotu reizināšanu, lai samazinātu izvadi no 0-1023 līdz 0-255. Rezultāts tiek atgriezts otrā argumentā
analogWrite ();
iestatot 9. tapai pievienotās gaismas diodes spilgtumu.
4. solis: izveidojiet fizisku Arduino shēmu (pēc izvēles)
Lai ieprogrammētu savu fizisko Arduino Uno, jums jāinstalē bezmaksas programmatūra (vai tīmekļa redaktora spraudnis), pēc tam tā jāatver. Dažādiem fotoelementiem ir atšķirīgas vērtības, tādēļ, ja jūsu fiziskā ķēde nedarbojas, jums, iespējams, būs jāmaina ar to savienotais rezistors. Uzziniet vairāk par sprieguma dalītājiem Instructables Electronics Class nodarbībā par rezistoriem.
Pievienojiet Arduino Uno ķēdi, pievienojot komponentus un vadus, lai tie atbilstu savienojumiem, kas parādīti šeit Tinkercad shēmās. Lai iegūtu padziļinātu informāciju par darbu ar savu fizisko Arduino Uno dēli, skatiet bezmaksas Instructables Arduino klasi.
Kopējiet kodu no Tinkercad Circuits koda loga un ielīmējiet to tukšā skicē savā Arduino programmatūrā vai noklikšķiniet uz lejupielādes pogas (lejupvērstā bultiņa) un atveriet
iegūto failu, izmantojot Arduino. Šo piemēru varat atrast arī Arduino programmatūrā, dodoties uz Fails -> Piemēri -> 03. Analogs -> AnalogInOutSerial.
Pievienojiet USB kabeli un programmatūras izvēlnē Rīki izvēlieties savu dēli un portu.
Augšupielādējiet kodu un ar roku aizsedziet sensoru no gaismas saņemšanas un/vai apgaismojiet sensoru!
Atveriet seriālo monitoru, lai novērotu sensoru vērtības. Iespējams, ka reālās pasaules vērtības netiks paplašinātas līdz 0 vai līdz 1023, atkarībā no jūsu apgaismojuma apstākļiem. Jūtieties brīvi noregulēt diapazonu 0-1023 atbilstoši novērotajam minimālajam un novērotajam maksimumam, lai iegūtu maksimālo spilgtuma izteiksmes diapazonu uz LED.
5. darbība. Tālāk mēģiniet…
Tagad, kad esat iemācījies lasīt fotorezistoru un kartēt tā izvadi, lai kontrolētu gaismas diodes spilgtumu, esat gatavs pielietot šīs un citas līdz šim apgūtās prasmes.
Vai varat nomainīt gaismas diodi pret cita veida izeju, piemēram, servomotoru, un izveidot kodu, kas atspoguļotu sensora pašreizējo gaismas līmeni kā noteiktu pozīciju gar mērierīci?
Mēģiniet nomainīt savu fotorezistoru pret citām analogām ieejām, piemēram, ultraskaņas attāluma sensoru vai potenciometru.
Uzziniet vairāk par to, kā uzraudzīt Arduino digitālās un analogās ieejas, izmantojot datoru, izmantojot sērijas monitoru.
Ieteicams:
DIY elpas sensors ar Arduino (vadošs trikotāžas stiepes sensors): 7 soļi (ar attēliem)
DIY elpas sensors ar Arduino (vadošs trikotāžas stiepes sensors): šis DIY sensors būs vadošs adīts stiepes sensors. Tas aptinās jūsu krūtis/vēderu, un, kad krūtis/kuņģis izplešas un saraujas, palielināsies arī sensors, un līdz ar to ievades dati, kas tiek ievadīti Arduino. Tātad
Pavelciet gaismas - gaismas moduli, izmantojot Neopixel & Pull Up Switch: 6 soļi (ar attēliem)
Pavelciet gaismu - gaismas moduli, izmantojot Neopixel & Pull Up Switch: Gaismas moduļa funkcijas Arduino Uno Hardware & korpuss iegādāts no interneta Neopixel & Barošanas avots aizgūts no Informātikas skolas & Produkta dizaina gaismas modulis, ko kontrolē barošana. Visas funkcijas tiek kontrolētas, izmantojot
VIENKĀRŠS SAULES GAISMAS SENSORS: 6 soļi (ar attēliem)
VIENKĀRŠS SAULES GAISMAS SENSORS: Sekojiet soļiem, lai veiksmīgi izveidotu savu gaismas sensoru. Ļoti noderīga automātiskajā apgaismojuma sistēmā.Sastāvdaļas: 7805 Regulatora IC SL100 tranzistora LED (vēlams sarkans) 150ohm Rezistors 9V barošanas relejs (6V) LDR (parasti pieejams) Savienojuma izveide
Skāriena sensors un skaņas sensors, kas kontrolē maiņstrāvas/līdzstrāvas gaismas: 5 soļi
Skāriena sensors un skaņas sensors, kas kontrolē maiņstrāvas/līdzstrāvas gaismas: Šis ir mans pirmais projekts, un tas darbojas, pamatojoties uz diviem pamata sensoriem, viens ir skārienjutīgs sensors, bet otrs - skaņas sensors, nospiežot skārienpaliktni uz skārienjutīgā sensora, maiņstrāvas gaisma pārslēgsies. IESLĒGTS, ja to atlaidīsit, gaisma būs izslēgta un tas pats
Gaismas zobens uz Arduino bāzes ar gaismas un skaņas efektiem: 14 soļi (ar attēliem)
Gaismas zobens uz Arduino bāzes ar gaismas un skaņas efektiem: Sveiki, jedi! Šī pamācība ir par gaismas zobena izgatavošanu, kas izskatās, skan un darbojas kā filmā! Vienīgā atšķirība - tā nevar griezt metālu: (Šīs ierīces pamatā ir Arduino platforma, un es tai dodu daudz funkciju un funkciju, tā