Satura rādītājs:

AUTOMĀTISKĀ GAISMAS AVOTA Sekošana ARDUINO UNO R3: 5 soļi
AUTOMĀTISKĀ GAISMAS AVOTA Sekošana ARDUINO UNO R3: 5 soļi

Video: AUTOMĀTISKĀ GAISMAS AVOTA Sekošana ARDUINO UNO R3: 5 soļi

Video: AUTOMĀTISKĀ GAISMAS AVOTA Sekošana ARDUINO UNO R3: 5 soļi
Video: Как использовать 4-канальное реле для управления нагрузкой переменного тока с помощью кода Arduino 2024, Jūlijs
Anonim
AUTOMĀTISKĀ GAISMAS AVOTA Sekošana ARDUINO UNO R3
AUTOMĀTISKĀ GAISMAS AVOTA Sekošana ARDUINO UNO R3

Š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: shematiskā diagramma

Shematiska diagramma
Shematiska diagramma

4. solis: 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 pabeigta, tas nozīmē, ka skice ir veiksmīgi augšupielādēta.

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

5. darbība: 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: