Satura rādītājs:

Automātiska gaismas avota izsekošana: 5 soļi
Automātiska gaismas avota izsekošana: 5 soļi

Video: Automātiska gaismas avota izsekošana: 5 soļi

Video: Automātiska gaismas avota izsekošana: 5 soļi
Video: POE комплект видеонаблюдения РАБОТА ПО ОДНОМУ КАБЕЛЮ!!! 2024, Novembris
Anonim
Automātiska gaismas avota izsekošana
Automātiska gaismas avota izsekošana

Šajā nodarbībā mēs izmantosim servomotoru, fotorezistoru un nolaižamo rezistoru, lai saliktu automātiski izsekojošu gaismas avota sistēmu.

1. darbība: sastāvdaļas:

- Arduino Uno dēlis * 1

- USB kabelis * 1

- Servomotors * 1

- fotorezistors * 1

- Rezistors (10k) * 1

- Maizes dēlis * 1

- Jumper vadi

2. solis: princips

Servomotors un fotorezistors skenē un meklē gaismas avotu 180 grādos un reģistrē gaismas avota atrašanās vietu. Pēc skenēšanas pabeigšanas servomotors un fotorezistors apstājas gaismas avota virzienā.

3. darbība. Procedūras:

Procedūras
Procedūras
Procedūras
Procedūras
Procedūras
Procedūras

1. darbība:

Izveidojiet ķēdi.

2. darbība:

Lejupielādējiet kodu no vietnes

3. darbība:

Augšupielādējiet skici uz Arduino Uno tāfeles

Noklikšķiniet uz augšupielādes ikonas, lai augšupielādētu kodu vadības panelī.

Ja loga apakšdaļā parādās augšupielāde, tas nozīmē, ka skice ir veiksmīgi augšupielādēta.

Tagad, ja fotorezistora spīdēšanai izmantojat lukturīti, jūs redzēsiet, kā servomotors un fotorezistors griežas un beidzot apstājas gaismas avota virzienā.

4. solis: shematiskā diagramma

Shematiska diagramma
Shematiska diagramma

5. darbība: kods

Kods
Kods
Kods
Kods
Kods
Kods

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

* vārds:

Automātiski izsekojošs gaismas avots

* funkcija

: ja fotorezistora spīdēšanai izmantojat lukturīti, * tu redzēsi

servomotors un fotorezistors griežas, * un visbeidzot

apstāties gaismas avota virzienā.

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

/E -pasts: [email protected]

// Vietne: www.primerobotics.in

#iekļaut

const int fotoelementsPin = A0;

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

Servo myservo; // izveidot servo objektu, lai kontrolētu servo

int outputValue = 0;

int leņķis = {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;

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

anulēts iestatījums ()

{

Sērijas sākums (9600);

myservo.attach (9); // piestiprina servo uz tapas 9 servo objektam

}

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

tukša cilpa ()

{

par (int i = 0;

i <19; es ++)

{

myservo.write (leņķis ); // uzrakstiet leņķi pret servo

outputValue

= analogRead (photocellPin); // nolasiet A0 vērtību

Serial.println (outputValue); // izdrukājiet to

if (outputValue> maxVal) // ja pašreizējā vērtība A0 ir lielāka nekā iepriekšējā

{

maxVal = outputValue; // pierakstiet vērtību

maxPos

= es; //

}

kavēšanās (200);

}

myservo.write (leņķis [maxPos]); // uzrakstiet servo leņķi, kuram A0 ir vislielākā vērtība

kamēr (1);

}

Ieteicams: