Obsah:

AUTOMATICKÉ SLEDOVANIE ZDROJA SVETLA S ARDUINO UNO R3: 5 krokov
AUTOMATICKÉ SLEDOVANIE ZDROJA SVETLA S ARDUINO UNO R3: 5 krokov

Video: AUTOMATICKÉ SLEDOVANIE ZDROJA SVETLA S ARDUINO UNO R3: 5 krokov

Video: AUTOMATICKÉ SLEDOVANIE ZDROJA SVETLA S ARDUINO UNO R3: 5 krokov
Video: с использованием бесщеточных двигателей с цифровым серводвигателем HJ и тестера ESC [с субтитрами] 2024, Júl
Anonim
AUTOMATICKÉ SLEDOVANIE ZDROJA SVETLA S ARDUINO UNO R3
AUTOMATICKÉ SLEDOVANIE ZDROJA SVETLA S ARDUINO UNO R3

V tejto lekcii použijeme servomotor, fotorezistor a sťahovací odpor na zostavenie automaticky sledovaného systému zdroja svetla.

Krok 1: Komponenty

- Doska Arduino Uno * 1

- USB kábel * 1

- Servomotor * 1

- fotorezistor * 1

- Rezistor (10k) * 1

- Breadboard * 1

- prepojovacie vodiče

Krok 2: Princíp

Servomotor a fotorezistor skenujú a vyhľadávajú svetelný zdroj na 180 stupňoch a zaznamenávajú polohu svetelného zdroja. Po dokončení skenovania sa servomotor a fotorezistor zastavia v smere svetelného zdroja.

Krok 3: Schematický diagram

Schematický diagram
Schematický diagram

Krok 4: Postupy

Postupy
Postupy
Postupy
Postupy

Krok 1:

Vybudujte obvod.

Krok 2:

Stiahnite si kód z

Krok 3:

Nahrajte skicu na dosku Arduino Uno

Kliknutím na ikonu Odovzdať odovzdáte kód na ovládací panel.

Ak sa v spodnej časti okna zobrazí „Dokončené nahrávanie“, znamená to, že skica bola úspešne nahraná.

Teraz, ak použijete na svietenie fotorezistora baterku, uvidíte, ako sa servomotor a fotorezistor otáčajú a nakoniec sa zastavia v smere svetelného zdroja.

Krok 5: Kód

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

* názov:

Automaticky sleduje svetelný zdroj

* funkcia

: ak na svietenie fotoodporu použijete baterku, * uvidíš

servomotor a fotorezistor sa otáčajú, * a nakoniec

zastavte v smere svetelného zdroja.

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

/E -mail: [email protected]

// Webová stránka: www.primerobotics.in

#zahrnúť

const int fotobunkaPin = A0;

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

Servo myservo; // vytvorenie objektu serva na ovládanie serva

int outputValue = 0;

vnútorný uhol = {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é nastavenie ()

{

Serial.begin (9600);

myservo.attach (9); // pripojenie serva na pin 9 k objektu serva

}

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

prázdna slučka ()

{

pre (int i = 0;

i <19; i ++)

{

myservo.write (uhol ); // napíšte uhol na servo

outputValue

= analogRead (photocellPin); // odčítajte hodnotu A0

Serial.println (outputValue); // vytlačte ho

if (outputValue> maxVal) // ak je aktuálna hodnota A0 väčšia ako predchádzajúca

{

maxVal = outputValue; // zapíšte si hodnotu

maxPos

= i; //

}

oneskorenie (200);

}

myservo.write (uhol [maxPos]); // napíšte uhol k servu, ktorého hodnota A0 má najväčšiu hodnotu

pričom (1);

}

Odporúča: