Turinys:

AUTOMATINIS ŠVIESOS ŠALTINIO SEKIMAS SU ARDUINO UNO R3: 5 žingsniai
AUTOMATINIS ŠVIESOS ŠALTINIO SEKIMAS SU ARDUINO UNO R3: 5 žingsniai

Video: AUTOMATINIS ŠVIESOS ŠALTINIO SEKIMAS SU ARDUINO UNO R3: 5 žingsniai

Video: AUTOMATINIS ŠVIESOS ŠALTINIO SEKIMAS SU ARDUINO UNO R3: 5 žingsniai
Video: Arduino pamokos LT - atmega328 2024, Gruodis
Anonim
AUTOMATINIS ŠVIESOS ŠALTINIO SEKIMAS SU ARDUINO UNO R3
AUTOMATINIS ŠVIESOS ŠALTINIO SEKIMAS SU ARDUINO UNO R3

Š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: schema

Schema
Schema

4 žingsnis: 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 „Įkėlimas baigtas“, tai reiškia, kad eskizas buvo sėkmingai įkeltas.

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

5 žingsnis: 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: