Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Szervó motor helyzetének vezérlése potenciométer segítségével

Hasonló előadás


Az előadások a következő témára: "Szervó motor helyzetének vezérlése potenciométer segítségével"— Előadás másolata:

1 Szervó motor helyzetének vezérlése potenciométer segítségével
04. GYAKORLAT Szervó motor helyzetének vezérlése potenciométer segítségével

2 Feladat Készítsen hardvert és írjon szoftvert szervó motor vezérlésére potenciométerrel. A potenciométert a mikrovezérlő A0 kivezetésére csatlakoztassa. Használja a mikrovezérlő A/D átalakítóját.

3 Felhasznált alkatrészek
Potenciométer: 3 lábacskája van. Földelés Tápfeszültség Vezérlő lábacska (középső) Szervó motor

4 Hardver

5 Szoftver #include <Servo.h> Servo myservo; // create servo object to control a servo int potpin = 0; // analog pin used to connect the potentiometer int val; // variable to read the value from the analog pin void setup() { myservo.attach(9); // attaches the servo on pin 9 to the servo object } void loop() { val = analogRead(potpin); // reads the value of the potentiometer (value //between 0 and 1023) val = map(val, 0, 1023, 0, 180); // scale it to use it with the servo (value between 0 //and 180) myservo.write(val); // sets the servo position according to the //scaled value delay(15); // waits for the servo to get there

6 Programkód elemzése #include <Servo.h> // szervo motor vezerlesere szolgalo konyvtar Servo myservo; // szervo objektum letrehozasa a szervo motor // vezerlesehez int potpin = 0; // potenciometer vezerlesere szolgalo analog // labacska int val; // analog labacska ertekenek leolvasasara // szolgalo valtozo void setup() { myservo.attach(9); // szervo objektum csatlakoztatasa a // 9-es labacskara }

7 Programkód elemzése void loop() { val = analogRead(potpin); // leolvassa a potenciometer erteket // (0 es 1023 kozotti ertek) val = map(val, 0, 1023, 0, 180); // a (0,1023) intervallum lekepezese // a (0, 180) intervallumra myservo.write(val); // szetteli a szervo motor helyzetet a // lekepezett ertek fuggvenyeben delay(15); // varakozas hogy a szervo elerje az // adott helyzetet }

8 Programkód elemzése Ebben a programban a kulcsfontosságú parancs a map utasítás. A potenciométer értéke a (0, 1023) intervallumból van, a motor tengelyének elfordulásának pedig a (0, 180) intervallumból. Az automatikus leképzésre a map utasítást használjuk melynek 5 argumentuma van.

9 Programkód elemzése Az 5 argumentum: a szám amelyet le kell képezni (ebben az esetben val), és a bemenet (0, 1023) és kimenet (0, 180) minimális és makszimális értékei.

10 Az elkészített projekt

11 Önálló feladat Bővítse ki a programot úgy, hogy a potenciométer pillanatnyi értékét és a szervó motor helyzetét folyamatosan követni lehessen a soros monitoron. Csatlakoztason még egy potenciométert (pot2) amelyikkel úgyszintén vezérelni lehet a szervó motort. A potenciométer minden mozgatása után frissítse a szervó motor helyzetét.


Letölteni ppt "Szervó motor helyzetének vezérlése potenciométer segítségével"

Hasonló előadás


Google Hirdetések