paralelní práce více serv
paralelní práce více serv
Ahoj, na stará kolena se to učím a po různých blikáčkách chci rozchodit Merkur Beta přes Arduino. Jednotlvá serva si rozchodím pomocí knihovny Servo.h, ale potřebuji zpomalit přesuny a to umím pouze smyčkou for(). Tady jsem v koncích jak napsat, aby jelo víc smyček současně, každá s jinými parametry. V taskingu snad ani nejsem začátečník. Vůbec nevím, co hledat? Díky.
Re: paralelní práce více serv
Zdravím.
Nezkoušel jsem to, ale mělo by to fungovat.
V této knihovně lze řídit rychlost serva.
Nezkoušel jsem to, ale mělo by to fungovat.
V této knihovně lze řídit rychlost serva.
Kód: Vybrat vše
myServo.slowmove (newpos, speed);
- Přílohy
-
- VarSpeedServo.zip
- (7.91 KiB) Staženo 186 x
Re: paralelní práce více serv
Díky moc, vyzkouším a dám vědět.
Re: paralelní práce více serv
Zdravím.
Zkoušel jsem a je třeba v knihovně "VarSpeedServo.cpp" nahradit #include <WProgram.h> za #include <Arduino.h>.
Ještě ukázka kódu:
Zkoušel jsem a je třeba v knihovně "VarSpeedServo.cpp" nahradit #include <WProgram.h> za #include <Arduino.h>.
Ještě ukázka kódu:
Kód: Vybrat vše
#include <VarSpeedServo.h>
VarSpeedServo servo1;
void setup() {
servo1.attach(9);
servo2.attach(10);
Serial.begin(9600);
Serial.println("Ready");
servo1.write(90);
Serial.println("90");
delay(5000);
servo1.write(45);
Serial.println("45");
delay(5000);
servo1.slowmove(0,15);
Serial.println("0");
delay(5000);
servo1.slowmove(90,5);
Serial.println("0");
delay(5000);
}
void loop() {
}
Re: paralelní práce více serv
Zkoušel jsem a hlásí chybu při kompilaci desky.
První chyba byla nedefinované 2. servo - vyřešeno přidáním (VarSpeedServo myServo2;)
pak jsem zkoušel i variantu bez serial.print
void loop() {
myServo1.slowmove (60, 10);
myServo2.slowmove (120, 5);
delay(2000);
myServo1.slowmove (0, 10);
myServo2.slowmove (60, 5);
delay(2000);
}
Pořád ta samá chyba. Knihovnu mám v adresáři spolu s programem (Arduino.h jsem do cpp vložil - vyměnil)
Náznak chybové hlášky (je jich asi 11):
D:\Ĺ kola\krouĹľek\Arduino\servo\merkurBetaRychlostDveSoucasne\merkurBetaRychlostDveSoucasneSpeedServo/merkurBetaRychlostDveSoucasneSpeedServo.ino:7: undefined reference to `VarSpeedServo::attach(int)'
První chyba byla nedefinované 2. servo - vyřešeno přidáním (VarSpeedServo myServo2;)
pak jsem zkoušel i variantu bez serial.print
void loop() {
myServo1.slowmove (60, 10);
myServo2.slowmove (120, 5);
delay(2000);
myServo1.slowmove (0, 10);
myServo2.slowmove (60, 5);
delay(2000);
}
Pořád ta samá chyba. Knihovnu mám v adresáři spolu s programem (Arduino.h jsem do cpp vložil - vyměnil)
Náznak chybové hlášky (je jich asi 11):
D:\Ĺ kola\krouĹľek\Arduino\servo\merkurBetaRychlostDveSoucasne\merkurBetaRychlostDveSoucasneSpeedServo/merkurBetaRychlostDveSoucasneSpeedServo.ino:7: undefined reference to `VarSpeedServo::attach(int)'
Re: paralelní práce více serv
Za to Servo 2 se omlouvám.
Myslím si že nemáte knihovnu ve správném adresáři.
Soubor VarSpeedServo.zip je třeba rozbalit. Potom složku "VarSpeedServo" nakopírovat do složky knihoven "Arduino\libraries".
Pro jistotu jsem upravil knihovnu a přikládám archiv s provedenou opravou VarSpeedServo.zip.
Myslím si že nemáte knihovnu ve správném adresáři.
Soubor VarSpeedServo.zip je třeba rozbalit. Potom složku "VarSpeedServo" nakopírovat do složky knihoven "Arduino\libraries".
Pro jistotu jsem upravil knihovnu a přikládám archiv s provedenou opravou VarSpeedServo.zip.
- Přílohy
-
- VarSpeedServo.zip
- (7.75 KiB) Staženo 197 x
Re: paralelní práce více serv
Děkuji - funguje. Měl jsem špatně rozbalenou knihovnu - duplicitní adresář. V něm .cpp a vně .h. Snažím se pochopit řízení přes serial.print (dal jsem ho do loop(). Ale i tím mým "lama" postupem asi dokážu udělat několik sekvencí pohybů celé ruky. Zas jsem trochu moudřejší
Re: paralelní práce více serv
Aha už svítá - serial print je jen na výpis činnosti. Ostatní řízení jsou standardní příkazy s a bez řízení rychlosti (příklad - porovnání).
- SkullKeep
- Příspěvky: 290
- Registrován: 23 srp 2017, 18:51
- Reputation: 0
- Bydliště: Brno
- Kontaktovat uživatele:
Re: paralelní práce více serv
Jestli toto pomůže tu je návod na ovládání dvou steper motorů. ===>https://github.com/snowdd1/multistepper
P. Q. M.
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 8 hostů