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, Juli
Anonim
AUTOMATSKO PRAĆENJE IZVORA SVJETLA S ARDUINO UNO R3
AUTOMATSKO PRAĆENJE IZVORA SVJETLA S ARDUINO UNO R3

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

Korak 1: Komponente

- Arduino Uno ploča * 1

- USB kabel * 1

- Servo motor * 1

- fotootpornik * 1

- Otpornik (10 k) * 1

- Oglasna ploča * 1

- Žice za spajanje

Korak 2: Princip

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

Korak 3: Šematski dijagram

Shematski dijagram
Shematski dijagram

Korak 4: Postupci

Postupci
Postupci
Postupci
Postupci

Korak 1:

Izgradite kolo.

Korak 2:

Preuzmite kôd sa

Korak 3:

Prenesite skicu na Arduino Uno ploču

Pritisnite ikonu Upload da biste učitali kôd na kontrolnu 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, i na kraju se zaustaviti u smjeru izvora svjetlosti

Korak 5: Kodirajte

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

* ime:

Automatski prati izvor svjetlosti

* funkcija

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

servo motor i fotootpornik se okreću, * i na kraju

zaustavite se u smjeru izvora svjetlosti.

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

/E -pošta: [email protected]

// Web stranica: www.primerobotics.in

#include

const int fotoćelijaPin = A0;

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

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

int outputValue = 0;

int angle = {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); // povezuje servo na pinu 9 sa servo objektom

}

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

void loop ()

{

za (int i = 0;

i <19; i ++)

{

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čuje se: