Cuprins:

Urmărirea automată a sursei de lumină: 5 pași
Urmărirea automată a sursei de lumină: 5 pași

Video: Urmărirea automată a sursei de lumină: 5 pași

Video: Urmărirea automată a sursei de lumină: 5 pași
Video: Faruri cu aprindere automata VW GOLF 5 2024, Noiembrie
Anonim
Urmărirea automată a sursei de lumină
Urmărirea automată a sursei de lumină

În această lecție, vom folosi un servomotor, un fotorezistor și un rezistor pull-down pentru a asambla un sistem de urmărire automată a sursei de lumină.

Pasul 1: Componente:

- placa Arduino Uno * 1

- Cablu USB * 1

- Servomotor * 1

- fotorezistor * 1

- Rezistor (10k) * 1

- Panou * 1

- fire de jumper

Pasul 2: Principiu

Servomotorul și fotorezistorul scanează și caută sursa de lumină la 180 de grade și înregistrează locația sursei de lumină. După terminarea scanării, servomotorul și fotorezistorul se opresc în direcția sursei de lumină.

Pasul 3: Proceduri:

Proceduri
Proceduri
Proceduri
Proceduri
Proceduri
Proceduri

Pasul 1:

Construiește circuitul.

Pasul 2:

Descărcați codul de la

Pasul 3:

Încărcați schița pe placa Arduino Uno

Faceți clic pe pictograma Încărcare pentru a încărca codul pe placa de control.

Dacă „Încărcare finalizată” apare în partea de jos a ferestrei, înseamnă că schița a fost încărcată cu succes.

Acum, dacă utilizați o lanternă pentru a străluci fotorezistorul, veți vedea servomotorul și fotorezistorul rotindu-se și, în cele din urmă, vă veți opri în direcția sursei de lumină.

Pasul 4: Diagrama schematică

Diagramă schematică
Diagramă schematică

Pasul 5: Cod

Cod
Cod
Cod
Cod
Cod
Cod

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

* Nume:

Urmărirea automată a sursei de lumină

* funcție

: dacă folosiți o lanternă pentru a străluci fotorezistorul, * vei vedea

servomotorul și fotorezistorul se rotesc, * și, în sfârșit

opriți-vă în direcția sursei de lumină.

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

/ E-mail: [email protected]

// Website: www.primerobotics.in

#include

const int fotocelulaPin = A0;

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

Servo myservo; // creați un obiect servo pentru a controla un servo

int outputValue = 0;

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

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

configurare nulă ()

{

Serial.begin (9600);

myservo.attach (9); // atașează servo pe pinul 9 la obiectul servo

}

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

bucla nulă ()

{

pentru (int i = 0;

i <19; i ++)

{

myservo.write (angle ); // scrie unghiul la servo

outputValue

= analogRead (photocellPin); // citiți valoarea lui A0

Serial.println (outputValue); // tipăriți-l

if (outputValue> maxVal) // dacă valoarea curentă a lui A0 este mai mare decât anterior

{

maxVal = outputValue; // notează valoarea

maxPos

= i; //

}

întârziere (200);

}

myservo.write (angle [maxPos]); // scrie unghiul la servo care A0 are cea mai mare valoare

în timp ce (1);

}

Recomandat: