Sisukord:

Valgusallika automaatne jälgimine: 5 sammu
Valgusallika automaatne jälgimine: 5 sammu

Video: Valgusallika automaatne jälgimine: 5 sammu

Video: Valgusallika automaatne jälgimine: 5 sammu
Video: Leap Motion SDK 2024, November
Anonim
Automaatne valgusallika jälgimine
Automaatne valgusallika jälgimine

Selles õppetükis kasutame automaatse jälgimise valgusallika süsteemi kokkupanemiseks servomootorit, fototakisti ja tõmbetakistit.

Samm: komponendid:

- Arduino Uno plaat * 1

- USB -kaabel * 1

- Servomootor * 1

- fototakisti * 1

- takisti (10k) * 1

- Leivalaud * 1

- Jumper juhtmed

2. samm: põhimõte

Servomootor ja fototakisti skaneerivad ja otsivad valgusallikat 180 kraadi ning salvestavad valgusallika asukoha. Pärast skannimise lõpetamist peatuvad servomootor ja fototakisti valgusallika suunas.

3. samm: toimingud:

Protseduurid
Protseduurid
Protseduurid
Protseduurid
Protseduurid
Protseduurid

Samm 1:

Ehita vooluring.

2. samm:

Laadige kood alla aadressilt

3. samm:

Laadige eskiis üles Arduino Uno tahvlile

Koodi juhtpaneelile üleslaadimiseks klõpsake üleslaadimise ikooni.

Kui akna allosas kuvatakse "Valmis üleslaadimine", tähendab see, et visand on edukalt üles laaditud.

Kui kasutate fototakisti säramiseks taskulampi, näete servomootorit ja fototakisti pöörlemas ning lõpetate valgusallika suunas.

Samm: skemaatiline skeem

Skemaatiline diagramm
Skemaatiline diagramm

Samm: kood

Kood
Kood
Kood
Kood
Kood
Kood

/********************************************************************

* nimi:

Valgusallika automaatne jälgimine

* funktsioon

: kui kasutate fototakisti säramiseks taskulampi, * sa näed

servomootor ja fototakisti pöörlevad, * ja lõpuks

peatu valgusallika suunas.

***********************************************************************

/E -post: [email protected]

// Veebisait: www.primerobotics.in

#kaasake

const int fotoelementPin = A0;

/************************************************/

Servo myservo; // luua servoobjekt servo juhtimiseks

int outputValue = 0;

int nurk = {0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180};

int maxVal = 0;

int maxPos = 0;

/*************************************************/

tühine seadistus ()

{

Seriaalne algus (9600);

myservo.attach (9); // kinnitab tihvti 9 servo servoobjekti külge

}

/*************************************************/

tühine tsükkel ()

{

jaoks (int i = 0;

i <19; mina ++)

{

myservo.write (nurk ); // kirjutage servo nurk

outputValue

= analogRead (photocellPin); // loe väärtust A0

Serial.println (outputValue); // printige see

if (outputValue> maxVal) // kui A0 praegune väärtus on suurem kui eelmine

{

maxVal = outputValue; // kirjutage väärtus üles

maxPos

= mina; //

}

viivitus (200);

}

myservo.write (nurk [maxPos]); // kirjutage servo nurk, millel A0 -l on suurim väärtus

samas (1);

}

Soovitan: