Kazalo:

Samodejno sledenje virom svetlobe z ARDUINO UNO R3: 5 korakov
Samodejno sledenje virom svetlobe z ARDUINO UNO R3: 5 korakov

Video: Samodejno sledenje virom svetlobe z ARDUINO UNO R3: 5 korakov

Video: Samodejno sledenje virom svetlobe z ARDUINO UNO R3: 5 korakov
Video: Высокая плотность 2022 2024, December
Anonim
Samodejno sledenje virom svetlobe z ARDUINO UNO R3
Samodejno sledenje virom svetlobe z ARDUINO UNO R3

V tej lekciji bomo uporabili servo motor, fotorezistor in izvlečni upor za sestavo sistema za samodejno sledenje svetlobe.

1. korak: Komponente

- plošča Arduino Uno * 1

- USB kabel * 1

- Servo motor * 1

- fotorezistor * 1

- upor (10k) * 1

- Okvir * 1

- Mostične žice

2. korak: Načelo

Servo motor in foto -upor skenirata in poiščeta svetlobni vir v 180 stopinjah ter zapišeta lokacijo svetlobnega vira. Po končanem skeniranju se servo motor in foto upor ustavita v smeri svetlobnega vira.

3. korak: Shematski diagram

Shematski diagram
Shematski diagram

4. korak: Postopki

Postopki
Postopki
Postopki
Postopki

Korak 1:

Zgradite vezje.

2. korak:

Prenesite kodo s spletnega mesta

3. korak:

Skico naložite na ploščo Arduino Uno

Kliknite ikono za nalaganje, da kodo naložite na nadzorno ploščo.

Če se na dnu okna prikaže "Končano nalaganje", to pomeni, da je bila skica uspešno naložena.

Zdaj, če za osvetljevanje foto upornika uporabite svetilko, boste videli, da se servo motor in fotorezistor vrtita in se končno ustavita v smeri svetlobnega vira

5. korak: Koda

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

* ime:

Samodejno sledenje svetlobnemu viru

* funkcija

: če uporabljate svetilko za osvetljevanje foto upornika, * boš videl

servo motor in fotorezistor se vrtita, * in končno

ustavite v smeri svetlobnega vira.

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

/E -pošta: [email protected]

// Spletna stran: www.primerobotics.in

#vključi

const int fotocelicaPin = A0;

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

Servo myservo; // ustvarite servo objekt za nadzor servo

int outputValue = 0;

int kot = {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); // pritrdi servo na pin 9 na servo objekt

}

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

void loop ()

{

za (int i = 0;

i <19; i ++)

{

myservo.write (kot ); // zapis kota v servo

outputValue

= analogRead (photocellPin); // preberemo vrednost A0

Serial.println (outputValue); // natisnite

if (outputValue> maxVal) // če je trenutna vrednost A0 večja od prejšnje

{

maxVal = outputValue; // zapišite vrednost

maxPos

= i; //

}

zamuda (200);

}

myservo.write (kot [maxPos]); // zapišemo kot na servo, ki ima A0 največjo vrednost

medtem ko (1);

}

Priporočena: