Sisukord:

AUTOMAATNE VALGUSLÄHTEJÄRGIMINE ARDUINO UNO R3: 5 sammu
AUTOMAATNE VALGUSLÄHTEJÄRGIMINE ARDUINO UNO R3: 5 sammu

Video: AUTOMAATNE VALGUSLÄHTEJÄRGIMINE ARDUINO UNO R3: 5 sammu

Video: AUTOMAATNE VALGUSLÄHTEJÄRGIMINE ARDUINO UNO R3: 5 sammu
Video: Sass - Automaatne Rutiin 2024, November
Anonim
AUTOMAATNE VALGUSLÄHTEJÄRGIMINE ARDUINO UNO R3 -ga
AUTOMAATNE VALGUSLÄHTEJÄRGIMINE ARDUINO UNO R3 -ga

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.

Samm: skemaatiline skeem

Skemaatiline diagramm
Skemaatiline diagramm

4. samm: 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: 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: