Innehållsförteckning:

Automatisk spårning av ljuskällor: 5 steg
Automatisk spårning av ljuskällor: 5 steg

Video: Automatisk spårning av ljuskällor: 5 steg

Video: Automatisk spårning av ljuskällor: 5 steg
Video: Kamera-LAMPA med spårning och identifiering av en person. 2024, November
Anonim
Automatisk spårning av ljuskällor
Automatisk spårning av ljuskällor

I den här lektionen kommer vi att använda en servomotor, en fotoresistor och ett neddragningsmotstånd för att montera ett automatiskt spårande ljuskällsystem.

Steg 1: Komponenter:

- Arduino Uno board * 1

- USB -kabel * 1

- Servomotor * 1

- fotoresistor * 1

- Motstånd (10k) * 1

- Brödbräda * 1

- Tröjor

Steg 2: Princip

Servomotorn och fotoresistorn skannar och letar efter ljuskälla i 180 grader och registrerar platsen för ljuskällan. Efter avslutad skanning stannar servomotorn och fotoresistorn i ljuskällans riktning.

Steg 3: Förfaranden:

Förfaranden
Förfaranden
Förfaranden
Förfaranden
Förfaranden
Förfaranden

Steg 1:

Bygg kretsen.

Steg 2:

Ladda ner koden från

Steg 3:

Ladda upp skissen till Arduino Uno -kortet

Klicka på ikonen Ladda upp för att ladda upp koden till kontrollkortet.

Om "Klar överföring" visas längst ned i fönstret betyder det att skissen har laddats upp.

Om du använder en ficklampa för att lysa upp fotoresistorn ser du servomotorn och fotoresistorn rotera och slutligen stannar i ljuskällans riktning.

Steg 4: Schematisk diagram

Schematisk diagram
Schematisk diagram

Steg 5: Kod

Koda
Koda
Koda
Koda
Koda
Koda

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

* namn:

Spårar ljuskälla automatiskt

* funktion

: om du använder en ficklampa för att lysa fotoresistorn, * du får se

servomotorn och fotoresistorn roterar, * och slutligen

stanna i ljuskällans riktning.

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

/E -post: [email protected]

// Webbplats: www.primerobotics.in

#omfatta

const int photocellPin = A0;

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

Servo myservo; // skapa servoobjekt för att styra ett servo

int outputValue = 0;

int vinkel = {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); // fäster servon på stift 9 till servoobjektet

}

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

void loop ()

{

för (int i = 0;

jag <19; jag ++)

{

myservo.write (vinkel ); // skriv vinkeln till servo

outputValue

= analogRead (photocellPin); // läs värdet på A0

Serial.println (outputValue); // skriv ut den

if (outputValue> maxVal) // om det aktuella värdet för A0 är större än föregående

{

maxVal = outputValue; // skriv ner värdet

maxPos

= i; //

}

fördröjning (200);

}

myservo.write (vinkel [maxPos]); // skriv vinkeln till servo som A0 har störst värde

medan (1);

}

Rekommenderad: