Tartalomjegyzék:

AUTOMATIKUS FÉNYFORRÁSKÖVETÉS ARDUINO UNO R3 -SAL: 5 lépés
AUTOMATIKUS FÉNYFORRÁSKÖVETÉS ARDUINO UNO R3 -SAL: 5 lépés

Videó: AUTOMATIKUS FÉNYFORRÁSKÖVETÉS ARDUINO UNO R3 -SAL: 5 lépés

Videó: AUTOMATIKUS FÉNYFORRÁSKÖVETÉS ARDUINO UNO R3 -SAL: 5 lépés
Videó: Fék-gáz-fék-gáz követési módszer How to drive fail #AutópályánLáttam 2024, November
Anonim
AUTOMATIKUS FÉNYFORRÁSKÖVETÉS ARDUINO UNO R3 -SAL
AUTOMATIKUS FÉNYFORRÁSKÖVETÉS ARDUINO UNO R3 -SAL

Ebben a leckében egy szervomotort, egy fényellenállást és egy lehúzható ellenállást használunk egy automatikusan nyomkövető fényforrás-rendszer összeállításához.

1. lépés: Alkatrészek

- Arduino Uno tábla * 1

- USB kábel * 1

- Szervo motor * 1

- fényellenállás * 1

- Ellenállás (10k) * 1

- Kenyeretábla * 1

- Jumper vezetékek

2. lépés: Alapelv

A szervomotor és a fotorezisztor 180 fokban keres és keres fényforrást, és rögzíti a fényforrás helyét. A szkennelés befejezése után a szervomotor és a fényellenállás megáll a fényforrás irányában.

3. lépés: Vázlatos diagram

Sematikus ábrája
Sematikus ábrája

4. lépés: Eljárások

Eljárások
Eljárások
Eljárások
Eljárások

1. lépés:

Építsd fel az áramkört.

2. lépés:

Töltse le a kódot a https://github.com/primerobotics/Arduino webhelyről

3. lépés:

Töltse fel a vázlatot az Arduino Uno táblára

Kattintson a Feltöltés ikonra a kód feltöltéséhez a vezérlőpultra.

Ha a "Kész feltöltés" felirat jelenik meg az ablak alján, az azt jelenti, hogy a vázlat sikeresen feltöltődött.

Ha most zseblámpával világítja meg a fényellenállást, látni fogja, hogy a szervomotor és a fényellenállás forog, és végül megáll a fényforrás irányában

5. lépés: Kód

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

* név:

Fényforrás automatikus követése

* funkció

: ha zseblámpát használ a fényellenállás ragyogásához, * meglátod

a szervomotor és a fényellenállás forog, * és végül

álljon meg a fényforrás irányában.

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

/E -mail: [email protected]

// Weboldal: www.primerobotics.in

#befoglalni

const int fotocellaPin = A0;

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

Servo myservo; // szervo objektum létrehozása a szervo vezérléséhez

int outputValue = 0;

int szög = {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;

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

üres beállítás ()

{

Sorozat.kezdet (9600);

myservo.attach (9); // csatolja a szervót a 9 -es tűn a szervo objektumhoz

}

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

üres hurok ()

{

for (int i = 0;

i <19; én ++)

{

myservo.write (szög ); // írja be a szögét a szervóhoz

outputValue

= analogRead (photocellPin); // olvassa el az A0 értékét

Serial.println (outputValue); // nyomtatja ki

if (outputValue> maxVal) // ha az A0 aktuális értéke nagyobb, mint az előző

{

maxVal = outputValue; // írja le az értéket

maxPos

= én; //

}

késleltetés (200);

}

myservo.write (szög [maxPos]); // írja be a szervóhoz tartozó szöget, amelynek A0 a legnagyobb értéke

míg (1);

}

Ajánlott: