Arduino kapcsolások

Magyar Arduino

Magyar Arduino

Analóg kimenet (Szervóvezérlés) /Alapok/

2015. június 20. - Molnár Bence

Analóg kimenet (Szervóvezérlés)

A hobbiszervók vezérléséhez szükséges jel, tekinthető egy speciális PWM jelnek is, ahol a jel impulzusszélessége és periódusideje a szervó adatlapjában megadott értékek köze kell hogy essen (impulzusszélesség: 1-2ms közötti érték, periódusidő: max. 20ms).

/*

* Szervo poziciojanak valtoztatasa potenciometer-rel

*/#include <Servo.h>  // szervokonyvtar

 

 

Servo mikroszervo;  // mikroszervo nevu szervo objektum

int potPin = 5;  // potenciometer A5-re kotve

int val;    // valtozo a mert ADC ertek tarolasara 

 

 

void setup()

{

mikroszervo.attach(9);  // mikroszervo Pin9-re kotve

}

 

 

void loop()

{

val = analogRead(potPin);    // ADC ertek beolvasasa

val = map(val, 0, 1023, 0, 179);  // ADC ertek atalakitasa

mikroszervo.write(val);  // szervopozicio beallitasa

delay(100);      // varakozas

}

A program elején belinkelem az Arduino szervókonyvtárat és létrehozok egy mikroszervo nevű szervóobjektumot. A mikroszervo.attach(9) utasítással hozzárendelem a szervót a 9-es lábhoz.
A kód megméri a potenciométer feszültségét, és egy ezzel arányos pozícionáló jelet ad a szervóra. Az ADC 0-1023 közé eső számot ad végeredményül, a szervópozíció beállításához viszont 0-179 közé eső szögértéket kell megadni paraméterként. A map() utasítással lehet a 0-1023 közé eső ADC eredményt 0-179 közé eső számmá alakítani. 

A bejegyzés trackback címe:

https://magyararduino.blog.hu/api/trackback/id/tr967559820

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

süti beállítások módosítása