Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
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:
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
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);
}