-
Fototrend
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Undoroid
őstag
válasz
Undoroid #17538 üzenetére
Sziasztok szakik!
Régebben foglalkoztat az a gondolat, hogy ezt a próbafeladatot kissé megváltoztassam:
File name: 26_steppermotor.ino
Description: You can observe the stepper motor is fast and
forward in a circle, next the stepper motor is
slow and reverse in a circle.
Website: www.adeept.com
E-mail: support@adeept.com
Author: Tom
Date: 2015/05/02
***********************************************************/
int Pin0 = 8;//definition digital 8 pins as pin to control the IN1 (ULN24L01)
int Pin1 = 9;//definition digital 9 pins as pin to control the IN2 (ULN24L01)
int Pin2 = 10;//definition digital 10 pins as pin to control the IN3 (ULN24L01)
int Pin3 = 11;//definition digital 11 pins as pin to control the IN4 (ULN24L01)
int _step = 512;
int _speed = 1;
void setup()
{
pinMode(Pin0, OUTPUT);//Set digital 8 port mode, the OUTPUT for the output
pinMode(Pin1, OUTPUT);//Set digital 9 port mode, the OUTPUT for the output
pinMode(Pin2, OUTPUT);//Set digital 10 port mode, the OUTPUT for the output
pinMode(Pin3, OUTPUT);//Set digital 11 port mode, the OUTPUT for the output
}
void loop()
{
Speed(15);//Stepper motor speed = 15 fast (note:speed from 1 to 15)
Step(512);//Stepper motor forward 512 steps ---- 360 angle
delay(2000);// delay 2S
Speed(1); //Stepper motor speed = 1 slow (note:speed from 1 to 15)
Step(-512);//Stepper motor backward 512 steps ---- 360 angle
delay(2000);//delay 2S
}
void Speed(int stepperspeed)//set Stepper speed
{
_speed = 15 - stepperspeed;
if( _speed<1){
_speed = 1;
}
if( _speed>15){
_speed = 15;
}
}
void Step(int _step)//Stepper motor rotation
{
if(_step>=0){ // Stepper motor forward
for(int i=0;i<_step;i++){
setStep(1, 0, 0, 1);
delay(_speed);
setStep(1, 0, 0, 0);
delay(_speed);
setStep(1, 1, 0, 0);
delay(_speed);
setStep(0, 1, 0, 0);
delay(_speed);
setStep(0, 1, 1, 0);
delay(_speed);
setStep(0, 0, 1, 0);
delay(_speed);
setStep(0, 0, 1, 1);
delay(_speed);
setStep(0, 0, 0, 1);
delay(_speed);
}
}else{ // Stepper motor backward
for(int i=_step;i<0;i++){
setStep(0, 0, 0, 1);
delay(_speed);
setStep(0, 0, 1, 1);
delay(_speed);
setStep(0, 0, 1, 0);
delay(_speed);
setStep(0, 1, 1, 0);
delay(_speed);
setStep(0, 1, 0, 0);
delay(_speed);
setStep(1, 1, 0, 0);
delay(_speed);
setStep(1, 0, 0, 0);
delay(_speed);
setStep(1, 0, 0, 1);
delay(_speed);
}
}
}
void setStep(int a, int b, int c, int d)
{
digitalWrite(Pin0, a);
digitalWrite(Pin1, b);
digitalWrite(Pin2, c);
digitalWrite(Pin3, d);
}
Ennek a programnak annyi jelenleg a feladata, hogy a szervómotort az egyik irányba 'gyorsan' forgatja, majd a beprogramozott elfordulás után, lassan visszaforgatja a kiindulási pozícióra, majd újra elindul 'gyorsan' a másik irányba...és végtelen ciklusban így ismétli magát!
Annyit szeretnék összehozni / változtatni ezen, hogy a programot alapból egy PS2-es joy-al irányítanám a forgás irányát- és sebességét (lassú - gyors bőven elég) Az elfordulási szöget nem kell figyelni, mert azt mechanikusan fogom korlátozni.
Az első gondolatom az volt, hogy alapból a Joy-al lehetett volna mozgatni a szervót és a Joy kapcsolójával átváltott volna a mozgatás autómata üzemre...viszont átváltáskor figyelni kellett volna az aktuális helyzetet, így azt inkább hanyagolnám.Felesleges ennyire túlbonyolítani ezt a feladatot. Ha majd jobban megy az ilyen feladatok megoldása, akkor talán már menni fog ez saját 'kútfőből' is!
Találtam a NET-en ilyen feladatot, de ott más szervókat alkalmaznak.
Valakinek van kedve segíteni ennek a megvalósításában?
Új hozzászólás Aktív témák
- Xbox Series X|S
- Háztartási gépek
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Milyen NAS-t vegyek?
- Android alkalmazások - szoftver kibeszélő topik
- Kuponkunyeráló
- Samsung Galaxy S25 - végre van kicsi!
- Milyen okostelefont vegyek? OFF topik
- exHWSW - Értünk mindenhez IS
- Linux Mint
- További aktív témák...
- Laptop kijelző FullHD IPS 15,6" eladó 6db
- Apple Macbook Air 15,3" M3 8C CPU/10C GPU/16GB/256GB (MC9E4MG/A) Ezüst - MAGYAR - 77 Ciklus - Gari
- Horror Teddy, Videokártya támasz! 70-110MM
- Gamer PC-Számítógép! Csere-Beszámítás! I5 10400 / RTX 3060 12GB / 32GB DDR4 / 512GB SSD
- Asztali PC , i7 6700K , RX 5700 XT , 16GB RAM , 480GB SSD
- GYÖNYÖRŰ iPhone 13 mini 256GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3180
- ÁRGARANCIA!Épített KomPhone Ryzen 9 5900X 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- GYÖNYÖRŰ iPhone 12 mini 256GB Black-1 ÉV GARANCIA -Kártyafüggetlen, MS3626, 100% Akkumulátor
- Gamer PC-Számítógép! Csere-Beszámítás! R5 5500 / RX 6700XT / 32GB DDR4 / 1TB SSD
- Corsair HS35 ( v1, nagyobb fülpárna méret) Stereo Gaming fejhallgató
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest