Obsah:

Automatické sledování světelného zdroje: 5 kroků
Automatické sledování světelného zdroje: 5 kroků

Video: Automatické sledování světelného zdroje: 5 kroků

Video: Automatické sledování světelného zdroje: 5 kroků
Video: Startovat auto se spojkou, nebo bez? Martin Vaculík vysvětlí, proč je jen jedna možnost správně 2024, Listopad
Anonim
Automatické sledování světelného zdroje
Automatické sledování světelného zdroje

V této lekci použijeme servomotor, fotorezistor a stahovací odpor k sestavení systému automatického sledování světelného zdroje.

Krok 1: Součásti:

- Deska Arduino Uno * 1

- USB kabel * 1

- Servomotor * 1

- fotorezistor * 1

- Rezistor (10k) * 1

- Breadboard * 1

- Propojovací vodiče

Krok 2: Princip

Servomotor a fotorezistor skenují a hledají světelný zdroj o 180 stupňů a zaznamenávají polohu světelného zdroje. Po dokončení skenování se servomotor a fotorezistor zastaví ve směru světelného zdroje.

Krok 3: Postupy:

Postupy
Postupy
Postupy
Postupy
Postupy
Postupy

Krok 1:

Vybudujte obvod.

Krok 2:

Stáhněte si kód z

Krok 3:

Nahrajte skicu na desku Arduino Uno

Kliknutím na ikonu Odeslat odešlete kód na ovládací panel.

Pokud se ve spodní části okna zobrazí „Hotovo nahrávání“, znamená to, že skica byla úspěšně nahrána.

Nyní, když použijete baterku k zazáření fotorezistoru, uvidíte, jak se servomotor a fotorezistor otáčejí a nakonec se zastaví ve směru světelného zdroje.

Krok 4: Schematický diagram

Schematický diagram
Schematický diagram

Krok 5: Kód

Kód
Kód
Kód
Kód
Kód
Kód

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

* název:

Automatické sledování světelného zdroje

* funkce

: použijete -li ke svícení fotorezistoru svítilnu, * uvidíš

servomotor a fotorezistor se otáčejí, * a nakonec

zastavte ve směru světelného zdroje.

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

/E -mail: [email protected]

// Webové stránky: www.primerobotics.in

#zahrnout

konstantní fotobuňka Pin = A0;

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

Servo myservo; // vytvoření objektu serva pro ovládání serva

int outputValue = 0;

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

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

neplatné nastavení ()

{

Serial.begin (9600);

myservo.attach (9); // připojí servo na pin 9 k objektu serva

}

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

prázdná smyčka ()

{

pro (int i = 0;

i <19; i ++)

{

myservo.write (úhel ); // zapište úhel na servo

outputValue

= analogRead (photocellPin); // načte hodnotu A0

Serial.println (outputValue); // vytiskněte

if (outputValue> maxVal) // if the current value of A0 is greater than previous

{

maxVal = outputValue; // zapište hodnotu

maxPos

= i; //

}

zpoždění (200);

}

myservo.write (úhel [maxPos]); // zapište úhel na servo, jehož A0 má největší hodnotu

zatímco (1);

}

Doporučuje: