Sadržaj:

AUTOMATSKO PRAĆENJE IZVORA SVJETLA S ARDUINO UNO R3: 5 koraka
AUTOMATSKO PRAĆENJE IZVORA SVJETLA S ARDUINO UNO R3: 5 koraka

Video: AUTOMATSKO PRAĆENJE IZVORA SVJETLA S ARDUINO UNO R3: 5 koraka

Video: AUTOMATSKO PRAĆENJE IZVORA SVJETLA S ARDUINO UNO R3: 5 koraka
Video: Leap Motion SDK 2024, Srpanj
Anonim
AUTOMATSKO PRAĆENJE IZVORA SVJETLA S ARDUINO UNO R3
AUTOMATSKO PRAĆENJE IZVORA SVJETLA S ARDUINO UNO R3

U ovoj lekciji koristit ćemo servo motor, fotootpornik i padajući otpornik za sastavljanje automatskog sustava izvora svjetlosti.

Korak 1: Komponente

- Arduino Uno ploča * 1

- USB kabel * 1

- Servo motor * 1

- fotootpornik * 1

- Otpornik (10k) * 1

- Oglasna ploča * 1

- Žice za kratkospojnike

Korak 2: Princip

Servo motor i fotootpornik skeniraju i traže izvor svjetlosti u 180 stupnjeva te bilježe mjesto izvora svjetlosti. Nakon završetka skeniranja, servo motor i fotootpornik zaustavljaju se u smjeru izvora svjetlosti.

Korak 3: Shematski dijagram

Shematski dijagram
Shematski dijagram

Korak 4: Postupci

Postupci
Postupci
Postupci
Postupci

Korak 1:

Izgradite krug.

Korak 2:

Preuzmite kôd s

3. korak:

Prenesite skicu na Arduino Uno ploču

Pritisnite ikonu za prijenos da biste učitali kôd na upravljačku ploču.

Ako se na dnu prozora pojavi poruka "Gotovo učitavanje", to znači da je skica uspješno učitana.

Sada, ako upotrijebite svjetiljku za osvjetljavanje fotootpornika, vidjet ćete kako se servo motor i fotootpornik okreću, te se konačno zaustaviti u smjeru izvora svjetlosti

Korak 5: Kodirajte

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

* Ime:

Automatski prati izvor svjetlosti

* funkcija

: ako koristite svjetiljku za osvjetljavanje fotootpora, * vidjet ćeš

servo motor i fotootpornik se okreću, * i konačno

zaustaviti u smjeru izvora svjetlosti.

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

/E -pošta: [email protected]

// Web stranica: www.primerobotics.in

#uključi

const int fotoćelijaPin = A0;

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

Servo myservo; // stvoriti servo objekt za upravljanje servo pogonom

int outputValue = 0;

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

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

void setup ()

{

Serial.begin (9600);

myservo.attach (9); // priključuje servo na pin 9 na servo objekt

}

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

void loop ()

{

za (int i = 0;

i <19; ja ++)

{

myservo.write (angle ); // upisuje kut u servo

outputValue

= analogRead (photocellPin); // očitavanje vrijednosti A0

Serial.println (outputValue); // ispišite ga

if (outputValue> maxVal) // ako je trenutna vrijednost A0 veća od prethodne

{

maxVal = outputValue; // zapišite vrijednost

maxPos

= i; //

}

kašnjenje (200);

}

myservo.write (angle [maxPos]); // upisuje kut u servo koji A0 ima najveću vrijednost

while (1);

}

Preporučeni: