Reklama

 





Odeslat nové téma Odpovědět na téma  [ Příspěvků: 39 ]  Přejít na stránku Předchozí  1, 2, 3
Autor Zpráva
 Předmět příspěvku: Re: Arduino a servo
PříspěvekNapsal: úte 13.02.2018 12:52 
Mazák
Mazák
Uživatelský avatar

Registrován: 12.2.2016
Příspěvky: 547
Bydliště: Vysočina
BoŠ píše:
... že pro AtTiny platí...,
Platí to pro avr, citát je z ATmegy.


Nahoru
 Profil  
 
 
 Předmět příspěvku: Re: Arduino a servo
PříspěvekNapsal: úte 13.02.2018 13:09 
Mazák
Mazák
Uživatelský avatar

Registrován: 26.5.2013
Příspěvky: 772
Bydliště: Brno
ellet píše:
Platí to pro avr, citát je z ATmegy.


Souhlas, já se díval pouze na Tiny, tak jsem nechtěl být zavádějící

_________________
MC-20HOTT,DS-16,X10S,Neutrino,RCF Sbach, MXS 64",Maat,250 Race,T-Rex500DFC,LOGO550SE,Goblin570


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Arduino a servo
PříspěvekNapsal: stř 14.02.2018 17:10 
Mazák
Mazák
Uživatelský avatar

Registrován: 26.5.2013
Příspěvky: 772
Bydliště: Brno
Jak se daří Jyrry?

_________________
MC-20HOTT,DS-16,X10S,Neutrino,RCF Sbach, MXS 64",Maat,250 Race,T-Rex500DFC,LOGO550SE,Goblin570


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Arduino a servo
PříspěvekNapsal: stř 14.02.2018 18:10 
Moderátor serveru
Moderátor serveru

Registrován: 28.2.2005
Příspěvky: 16672
Bydliště: Rakovník, CZ
Obrázky: 0
viewtopic.php?f=39&t=83110 :-)
Akorát jsem si zadělal na pakárničku rozsahem PWM pro servo 500-2500us... kde jsem to vzal teda nevím :roll:
Ale už to maká jak si představuju.
Teď zkusím některé z mých projektů na PICech převést na Arduino, abych se pocvičil :-)
A na cestě je ATmega328 nano a adapter USB-TTL CP2102.

Mám tam i ošetření když vynechají vstupní PWM pulzy 3x za sebou:
Citace:
// dve serva na jednom kanalu:
int neutral_uS = 1500;
int hystereze = 20;
int puls_uS = 1500;
int puls1_uS = 1500;
int puls2_uS = 1500;
int ramec_uS = 20000;
byte pocet_imp = 0;

const byte LED = 1;
const byte PWM = 2;
const byte servo1 = 3;
const byte servo2 = 4;

void setup() {
pinMode(LED, OUTPUT); // LEDka
pinMode(PWM, INPUT); // vstup PWM
pinMode(servo1, OUTPUT); // servo 1
pinMode(servo2, OUTPUT); // servo 2
attachInterrupt(0, ctipuls, RISING);
}

void loop() {
pocet_imp++;
if (pocet_imp > 3) puls_uS = neutral_uS;
if (puls_uS > 1520){
puls1_uS = puls_uS * 2 - 2000;
}
else {
puls1_uS = 1000;
}
if (puls_uS < 1480){
puls2_uS = puls_uS * 2 - 1000;
}
else {
puls2_uS = 2000;
}
if (puls_uS > neutral_uS + hystereze) digitalWrite(LED, HIGH);
if (puls_uS < neutral_uS - hystereze) digitalWrite(LED, LOW);
noInterrupts();
pulz(puls1_uS, servo1);
pulz(puls2_uS, servo2);
interrupts();
delayMicroseconds(ramec_uS - puls_uS);
}

void pulz(int pulz_uS, byte servo) {
digitalWrite(servo, HIGH);
delayMicroseconds(pulz_uS);
digitalWrite(servo, LOW);
}

void ctipuls() {
unsigned long aktual_uS = micros();
long newpuls_uS;
while (digitalRead(2) == HIGH) {
}
newpuls_uS = micros() - aktual_uS;
if (newpuls_uS < 900) newpuls_uS = puls_uS; // osetreni delky
if (newpuls_uS > 2100) newpuls_uS = puls_uS; // osetreni delky
puls_uS = newpuls_uS;
pocet_imp = 0;
}

_________________
Aby mně mé záliby bavily, nemusím je brát kdovíjak vážně - jyrry.cbcnet.cz


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Arduino a servo
PříspěvekNapsal: stř 14.02.2018 20:32 
Mazák
Mazák
Uživatelský avatar

Registrován: 12.2.2016
Příspěvky: 547
Bydliště: Vysočina
jyrry píše:
...A na cestě je ATmega328 nano a adapter USB-TTL CP2102.
Pro Nano ten převodník nepotřebuješ ale určitě se bude hodit pro Mini Pro, které brzo objednáš. (A snad jsi objednal převodník s 6-ti koiíky, je s ním pohodlnější práce)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Arduino a servo
PříspěvekNapsal: stř 14.02.2018 22:53 
Moderátor serveru
Moderátor serveru

Registrován: 28.2.2005
Příspěvky: 16672
Bydliště: Rakovník, CZ
Obrázky: 0
Aaaa, pardon, je to pro mini a 6 kolíků ano
Čerpám chytrosti z https://arduino-shop.cz/ :|

jo a viewtopic.php?f=39&t=83110&p=1398118#p1398118 :lol:

_________________
Aby mně mé záliby bavily, nemusím je brát kdovíjak vážně - jyrry.cbcnet.cz


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Arduino a servo
PříspěvekNapsal: pát 16.02.2018 21:13 
Moderátor serveru
Moderátor serveru

Registrován: 28.2.2005
Příspěvky: 16672
Bydliště: Rakovník, CZ
Obrázky: 0
Ještě lama-otázku :-)
Co budu potřebovat k téhle desce? Bootloader tam asi nebude, přes co se to nakrmí?

_________________
Aby mně mé záliby bavily, nemusím je brát kdovíjak vážně - jyrry.cbcnet.cz


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Arduino a servo
PříspěvekNapsal: pát 16.02.2018 21:33 
Mazák
Mazák
Uživatelský avatar

Registrován: 12.2.2016
Příspěvky: 547
Bydliště: Vysočina
jyrry píše:
Ještě lama-otázku :-)
Co budu potřebovat k téhle desce? Bootloader tam asi nebude, přes co se to nakrmí?
Nic, je tam (mám tu samou z ebay).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Arduino a servo
PříspěvekNapsal: pát 16.02.2018 23:18 
Moderátor serveru
Moderátor serveru

Registrován: 28.2.2005
Příspěvky: 16672
Bydliště: Rakovník, CZ
Obrázky: 0
Chlapi, máte mně na svědomí :lol:

S PICama jsem polevil také proto že mi nechodí správně prostředí PICBasic-u na 64b woknousech v novém (no, repasovaném...) kompu. Tohle na tom chodí :mrgreen:

_________________
Aby mně mé záliby bavily, nemusím je brát kdovíjak vážně - jyrry.cbcnet.cz


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 39 ]  Přejít na stránku Předchozí  1, 2, 3

 


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 2 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  

 

  Powered by phpBB® Forum Software © phpBB Group  Český překlad – phpBB.cz 

 

NAVRCHOLU.cz