Satura rādītājs:

Gaismas sensors (fotorezistors) ar Arduino Tinkercad: 5 soļi (ar attēliem)
Gaismas sensors (fotorezistors) ar Arduino Tinkercad: 5 soļi (ar attēliem)

Video: Gaismas sensors (fotorezistors) ar Arduino Tinkercad: 5 soļi (ar attēliem)

Video: Gaismas sensors (fotorezistors) ar Arduino Tinkercad: 5 soļi (ar attēliem)
Video: Automatizēta laistīšanas sistēma ar Arduino 2024, Jūlijs
Anonim
Gaismas sensors (fotorezistors) Ar Arduino Tinkercad
Gaismas sensors (fotorezistors) Ar Arduino Tinkercad

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.

Attēls
Attēls

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

Izveidojiet ķēdi
Izveidojiet ķēdi
Izveidojiet ķēdi
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

Kods ar blokiem
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)

Izveidojiet fizisku Arduino shēmu (pēc izvēles)
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: