Satura rādītājs:

Gaismas kontrolēts pakāpju motors + sienas kronšteins/statīvs: 6 soļi
Gaismas kontrolēts pakāpju motors + sienas kronšteins/statīvs: 6 soļi

Video: Gaismas kontrolēts pakāpju motors + sienas kronšteins/statīvs: 6 soļi

Video: Gaismas kontrolēts pakāpju motors + sienas kronšteins/statīvs: 6 soļi
Video: Эндоскоп для андроид 2024, Jūlijs
Anonim
Gaismas kontrolēts pakāpju motors + sienas kronšteins/statīvs
Gaismas kontrolēts pakāpju motors + sienas kronšteins/statīvs

Šo statīvu izmanto, lai ievietotu Arduino vadāmu pakāpju motoru, kas paredzēts automātiskai aizkaru vadīšanai atbilstoši gaismas līmenim telpā. Varat arī pievienot LCD ekrānu, lai izdrukātu gaismas līmeni. 3D pārnesums ir paredzēts tikai demonstrēšanai, reāls pārnesums var būt vajadzīgs praktiskai pielietošanai, piemēram, priekškaram, bet arī jebkuram citam lietojumam, ko varat iedomāties.

1. solis: Sastāvdaļas

Lai sāktu šo projektu, jums būs nepieciešams;

- 2 Arduino mikroshēmu komplekti- Arduino motora vairogs- Arduino LCD ekrāns- 1 maizes dēlis- 1 bipolārs pakāpju motors- 1 D akumulators- 1 no gaismas atkarīgs rezistors- 1 10 k Ω rezistors- 10 vīriešu un vīriešu vadi- 6 vīriešu- sieviešu vadi- piekļuve 3D printerim

2. solis: Arduino izveide

Arduino celtniecība
Arduino celtniecība

Vispirms sakārtojiet motora vairogu ar Arduino tapām, un, kad tie ir sakārtoti, stingri novietojiet to uz leju. Pēc tam pievienojiet pakāpiena motora vadus motora vairoga 8., 9., 10. un 11. tapā. Pēc tam pievienojiet D akumulatoru slotos, kā parādīts diagrammā. Tālāk jūs vēlaties iegūt 6 vadus (no vīrieša līdz sievietei) LCD ekrānu un pievienojiet tos citai Arduino vienībai, kā parādīts shēmas diagrammā. Pēc tam iestatiet LDR, kā parādīts iepriekš, ar rezistoru, kas pievienots negatīvajai rindai. Pievienojot LDR, pievienojiet pretestības pusē A0 savienojumiem un pretējā pusē pievienojiet 1 5V ieeju katrai jūsu izmantotajai plāksnei, tādēļ, ja izmantojat 2 plates, jūs vēlaties, lai katrā no tām būtu 5V un A0 kontakts, kas dodas uz LDR.

Pievienojiet visus vadus tā, lai tas būtu tāds pats kā diagrammā- 2 ieejas LDR- 2 izejas no LDR un rezistors, kas savieno ar zemi- 8 vadi pie LCD, 1 5V, 1 zemējums un 6 ieejas- 4 vadi, kas savienojas ar solis- 2 savienojumi ar akumulatoru- Maizes dēļa zemei jābūt savienotai

3. darbība: Arduino kodēšana

Kodēšana Arduino
Kodēšana Arduino

Šeit ir daži koda paraugi, lai mainītu pārnesuma statusu, pamatojoties uz LDR

Šis ir kods, kas ļautu projektam automātiski kontrolēt aizkaru. Iepriekš redzamajā fotoattēlā ir izskaidroti dažādi ceļi caur ligzdotajiem IF paziņojumiem attiecībā uz aizkaru pacelšanos uz augšu, uz leju vai palikšanu tur, kur tas ir. (noklikšķiniet uz attēla, lai to pilnībā apskatītu, jo pastāv formatēšanas problēmas)

#defineLDRA0 // Definē mainīgo "LDR" līdz A0 pin#include// Ietver soļu motora kodu

constintstepsPerRevolution = 200; // Kad tiek aktivizēts soļu motors, tā pilna griešanās ir vienāda ar 200 soļiem

SteppermyStepper (stepsPerRevolution, 8, 9, 10, 11); // Nosaka stepper ievadi kā 8., 9., 10., 11. tapas

voidsetup () {myStepper.setSpeed (60); // Nosaka, cik ātri motors veic rotācijas spraudniMode (LDR, INPUT); // Nosaka mainīgo "LDR" kā ievadi Serial.begin (9600); // Sāk sērijveida nolasīšanu }

voidloop () {intlightlevel = analogRead (LDR); // Nosaka mainīgo "lightlevel" kā darbību, kas nolasa vērtību "LDR" Serial.print ("Light Level:"); Serial.println (lightlevel); // Izdrukā "vieglā līmeņa" vērtību ar parakstu iepriekš

/* Tagad ir cilpa, kas nosaka gaismas līmeni visos ceļa posmos* Ir pieejamas 3 iespējas, iet uz augšu, nolaisties, palikt tajā pašā pozīcijā* Tā ir veidota tā, ka, ja gaismas līmenis paliek nemainīgs, tas palikt nemainīgs, ja ne, tas mainīsies * ti, ja tas ir 950, tad iet uz 952, nekas nenotiks, tomēr, ja tas būtu no 950 līdz 600, tas aizvilktu priekškaru un otrādi * Katrs solis ir apzīmēts ar burtu soli priekšā, lai izsekotu, kur tas atrodas cilpā caur sērijas monitoru */

if (lightlevel> = 900) {Serial.println ("A"); // Kurš solis tas ir loopmyStepper.step (3*stepsPerRevolution); // Stepper veic 3 apgriezienus uz priekšu. Ja tas ir negatīvs, tas aizkavējas (30000); // Atstāj to uz 5 minūtēm intlightlevel = analogRead (LDR); // Nosaka mainīgo "gaišo līmeni" kā pēdējo lasījumu no LDRSerial.print ("Gaismas līmenis:"); // izdrukā tekstu pirms mainīgā Serial.println (lightlevel) // Drukā gaismas līmeņa vērtību

if (lightlevel> = 900) {Serial.println ("B"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (viegls līmenis);

if (lightlevel> = 900) {Serial.println ("C"); myStepper.step (3*-stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (viegls līmenis);}

else {Serial.println ("D"); myStepper.step (3*-stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}}

else {Serial.println ("E"); myStepper.step (3*-stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);

if (lightlevel> = 900) {Serial.println ("F"); myStepper.step (0); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (viegls līmenis);}

else {Serial.println ("G"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}}

}

else {Serial.println ("H"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);

if (lightlevel> = 900) {Serial.println ("I"); myStepper.step (3*stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (viegls līmenis);

if (lightlevel> = 900) {Serial.println ("J"); myStepper.step (3*-stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (viegls līmenis);}

else {Serial.println ("K"); myStepper.step (3*-stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);

}}

else {Serial.println ("L"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);

if (lightlevel> = 900) {Serial.println ("M"); myStepper.step (0); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (viegls līmenis);}

else {Serial.println ("N"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);

}}

}

}

4. solis: pēc izvēles: LCD ekrāns

Tādējādi LCD ekrānā tiktu izdrukāts LDR noteiktais gaismas līmenis.

#iekļaut

  • // pievieno šķidro kristālu bibliotēku ar papildu kodu#define ldr A0 // definē mainīgo "ldr" A0 tapai

    LiquidCrystal LCD (8, 9, 4, 5, 6, 7); // inicializēt bibliotēku, izmantojot saskarnes tapas numurus

    voidsetup () {// kods, kas vienreiz tiek palaists startlcd.begin (16, 2); // iestatīt LCD kolonnu un rindu skaitu attiecīgipinMode (ldr, INPUT); // Definē ldr kā ievades pinSerial.begin (9600); // Sāk sakarus ar seriālo monitoru

    }

    voidloop () {// kods, kas tiks nepārtraukti atkārtotsSerial.println (analogRead (ldr)); // izdrukā lasījumu, ko uztver ldr (skaitlis no 0 līdz 1023) sērijas monitorlcd.setCursor (6, 0); // iestatiet kursoru uz 6. slejas 0lcd.print rindu (analogRead (ldr)); // izdrukā šo rādījumu LCD ekrānā (1000); // Par vienu sekundi aizkavē nākamo komandu

    }

    5. darbība: drukātās detaļas

    Izmantojiet šādus failus, lai izdrukātu statīvu un pārnesumu. Jūs varat pielāgot pārnesumu saviem mērķiem, un jūs varat izmantot kronšteinu, lai to uzstādītu pie sienas vai kā displeju. Tā kā 3D pārnesums ir vājš, īstu pārnesumu var izmantot kā tā aizstājēju, ja vien tas atbilst priekškaram, ko tas kontrolētu.

    Ja tiks izmantots 3D drukāts pārnesums, viens no zobrata zobiem ir noņemts, lai ar skrūvi to varētu piestiprināt pie motora.

    Sienas kronšteina 2 priekšējās kājas var arī noņemt, ja to uzstādītu pie sienas. Tie tika pievienoti tikai tāpēc, lai tas stāvētu, kamēr mēs ar to testējām.

    6. darbība: izvietošana

    Tagad, kad visas detaļas ir gatavas, ir pienācis laiks sākt galīgo izvietojumu.

    Vispirms ievietojiet pakāpju motoru statīvā paredzētajā kastē un novietojiet pārnesumu uz ass. Tālāk pārvietojiet vadus tā, lai tie dotos aiz statīva. Visbeidzot, novietojiet arduino un akumulatoru aiz statīva

    Jūsu dēlim tagad vajadzētu izskatīties kā attēlā iepriekš.

    Apsveicam!

    Pārnesumu var izmantot automatizētiem aizkariem vai jebkurai citai lietai, kuru vēlaties kontrolēt ar LDR.

    Tu esi pabeidzis. Izbaudiet savu jauno radīšanu.

Ieteicams: