Turinys:

Automatinis šviesos šaltinio stebėjimas: 5 žingsniai
Automatinis šviesos šaltinio stebėjimas: 5 žingsniai

Video: Automatinis šviesos šaltinio stebėjimas: 5 žingsniai

Video: Automatinis šviesos šaltinio stebėjimas: 5 žingsniai
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Lapkritis
Anonim
Automatinis šviesos šaltinio stebėjimas
Automatinis šviesos šaltinio stebėjimas

Šioje pamokoje mes naudosime servo variklį, fotorezistorių ir ištraukiamą rezistorių, kad surinktume automatiškai sekančią šviesos šaltinio sistemą.

1 žingsnis: komponentai:

- „Arduino Uno“lenta * 1

- USB kabelis * 1

- Servo variklis * 1

- fotorezistorius * 1

- Rezistorius (10k) * 1

- Duonos lenta * 1

- jungiamieji laidai

2 žingsnis: principas

Servo variklis ir fotorezistorius nuskaito ir ieško šviesos šaltinio 180 laipsnių kampu ir įrašo šviesos šaltinio vietą. Baigę nuskaityti, servo variklis ir fotorezistorius sustoja šviesos šaltinio kryptimi.

3 žingsnis: Procedūros:

Procedūros
Procedūros
Procedūros
Procedūros
Procedūros
Procedūros

1 žingsnis:

Sukurkite grandinę.

2 žingsnis:

Atsisiųskite kodą iš

3 žingsnis:

Įkelkite eskizą į „Arduino Uno“lentą

Spustelėkite įkėlimo piktogramą, kad įkeltumėte kodą į valdymo skydelį.

Jei lango apačioje rodoma „Įkeltas“, eskizas sėkmingai įkeltas.

Dabar, jei fotorezistoriui apšviesti naudojate žibintuvėlį, pamatysite, kaip sukasi servovariklis ir fotorezistorius, ir galiausiai sustoja ties šviesos šaltinio kryptimi.

4 žingsnis: schema

Schema
Schema

5 žingsnis: kodas

Kodas
Kodas
Kodas
Kodas
Kodas
Kodas

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

* vardas:

Automatiškai sekantis šviesos šaltinis

* funkcija

: jei fotorezistoriui apšviesti naudojate žibintuvėlį, * pamatysi

sukasi servo variklis ir fotorezistorius, * ir, galiausiai

sustoti šviesos šaltinio kryptimi.

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

/El. Paštas: [email protected]

// Svetainė: www.primerobotics.in

#įtraukti

const int fotoelementasPin = A0;

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

Servo myservo; // sukurti servo objektą valdyti servo

int outputValue = 0;

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

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

negaliojanti sąranka ()

{

Serial.begin (9600);

myservo.attach (9); // prie servo objekto pritvirtina 9 kaiščio servą

}

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

tuštumos kilpa ()

{

už (int i = 0;

i <19; aš ++)

{

myservo.write (kampas ); // parašykite kampą į servo

outputValue

= analogRead (photocellPin); // skaityti A0 reikšmę

Serial.println (outputValue); // atsispausdinti

if (outputValue> maxVal) // jei dabartinė A0 vertė yra didesnė nei ankstesnė

{

maxVal = outputValue; // užrašykite vertę

maxPos

= aš; //

}

vėlavimas (200);

}

myservo.write (kampas [maxPos]); // parašykite kampą į servo, kuris A0 turi didžiausią vertę

tuo tarpu (1);

}

Rekomenduojamas: