Innholdsfortegnelse:

Automatisk sporing av lyskilder: 5 trinn
Automatisk sporing av lyskilder: 5 trinn

Video: Automatisk sporing av lyskilder: 5 trinn

Video: Automatisk sporing av lyskilder: 5 trinn
Video: Что будет если купить КИТАЙЦА? 23 СЮРПРИЗА в КАБИНЕ DONGFENG 520 2024, November
Anonim
Automatisk sporing av lyskilder
Automatisk sporing av lyskilder

I denne leksjonen vil vi bruke en servomotor, en fotoresistor og en nedtrekksmotstand for å montere et automatisk sporing av lyskildesystem.

Trinn 1: Komponenter:

- Arduino Uno -bord * 1

- USB -kabel * 1

- Servomotor * 1

- fotoresistor * 1

- Motstand (10k) * 1

- Brødbrett * 1

- Jumper ledninger

Trinn 2: Prinsipp

Servomotoren og fotoresistoren skanner og leter etter lyskilde i 180 grader og registrerer plasseringen av lyskilden. Etter avsluttet skanning stopper servomotoren og fotoresistoren i retning av lyskilden.

Trinn 3: Prosedyrer:

Fremgangsmåter
Fremgangsmåter
Fremgangsmåter
Fremgangsmåter
Fremgangsmåter
Fremgangsmåter

Trinn 1:

Bygg kretsen.

Steg 2:

Last ned koden fra

Trinn 3:

Last opp skissen til Arduino Uno -brettet

Klikk på Last opp -ikonet for å laste opp koden til kontrollkortet.

Hvis "Ferdig opplasting" vises nederst i vinduet, betyr det at skissen er lastet opp.

Hvis du bruker en lommelykt til å skinne fotoresistoren, vil du se servomotoren og fotoresistoren rotere og til slutt stoppe i retning av lyskilden.

Trinn 4: Skjematisk diagram

Skjematisk diagram
Skjematisk diagram

Trinn 5: Kode

Kode
Kode
Kode
Kode
Kode
Kode

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

* Navn:

Sporer lyskilde automatisk

* funksjon

: hvis du bruker en lommelykt til å skinne fotoresistoren, * du vil se

servomotoren og fotoresistoren roterer, * og endelig

stoppe i retning av lyskilden.

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

/E -post: [email protected]

// Nettsted: www.primerobotics.in

#inkludere

const int photocellPin = A0;

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

Servo myservo; // lage servoobjekt for å kontrollere en servo

int outputValue = 0;

int vinkel = {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;

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

ugyldig oppsett ()

{

Serial.begin (9600);

myservo.attach (9); // fester servoen på pinne 9 til servoobjektet

}

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

hulrom ()

{

for (int i = 0;

jeg <19; jeg ++)

{

myservo.write (vinkel ); // skriv vinkelen til servoen

outputValue

= analogRead (photocellPin); // les verdien av A0

Serial.println (outputValue); // skrive den ut

if (outputValue> maxVal) // hvis gjeldende verdi på A0 er større enn tidligere

{

maxVal = outputValue; // skrive ned verdien

maxPos

= i; //

}

forsinkelse (200);

}

myservo.write (vinkel [maxPos]); // skriv vinkelen til servoen som A0 har størst verdi

mens (1);

}

Anbefalt: