User Tools

Site Tools


projektas_nr.8

Skirtumai

Čia matote skirtumus tarp pasirinktos versijos ir esamo dokumento.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
projektas_nr.8 [2015/10/29 12:08]
simonas
projektas_nr.8 [2015/12/14 16:23] (esamas)
simonas
Linija 2: Linija 2:
  
 **Ką darome?** **Ką darome?**
-Sukti motorą yra smagu, tačiau kai ateina metas daryti projektus, kur yra reikalinga judesio kontrolė, mums reikia kažko kito. Kas gi tai galėtų būti? Ogi servo varikliai, arba tiesiog liaudiškai vadinama "​servas"​. Jie yra masiškai gaminami, plačiai aptinkami ir kainuoja nuo kelių iki kelių šimtų dolerių.Viduje yra nedidelė pavarų dėžė, tam kad būtų stipresnis judesys, ir šiek tiek elektronikos,​ tam kad būtų lengviau kontroliuoti. Standartinės servos ​padėtis gali būti nuo 0 iki 180 laipsnių. Padėties kitimas yra kontroliuojamas per impulsą, pasikartojanti kas kažkiek laiko, tarp 1.25 millisekundės (0 laipsnių) ir 1.75 millisekundės (180 laipsnių) (1.5 milisekundės atitinka 90 laipsnių). Laikas skiriasi tarp skirtingų gamintojų. Jei pulsas yra siunčiamas kas 25-50 milisekundžių,​ servo mechanizmas veiks sklandžiai. Vienas iš didžiausių Arduino pliusų yra tai, kad Arduino turi programinės įrangos biblioteką,​ kuri leidžia kontroliuoti dvi servas(prijungtas į 9 ir 10 jungtis) viena kodo eilute.+Sukti motorą yra smagu, tačiau kai ateina metas daryti projektus, kur yra reikalinga judesio kontrolė, mums reikia kažko kito. Kas gi tai galėtų būti? Ogi servo varikliai, arba tiesiog liaudiškai vadinama "​servas"​. Jie yra masiškai gaminami, plačiai aptinkami ir kainuoja nuo kelių iki kelių šimtų dolerių.Viduje yra nedidelė pavarų dėžė, tam kad būtų stipresnis judesys, ir šiek tiek elektronikos,​ tam kad būtų lengviau kontroliuoti. Standartinė ​servo padėtis gali būti nuo 0 iki 180 laipsnių. Padėties kitimas yra kontroliuojamas per impulsą, pasikartojanti kas kažkiek laiko, tarp 1.25 milisekundės (0 laipsnių) ir 1.75 milisekundės (180 laipsnių) (1.5 milisekundės atitinka 90 laipsnių). Laikas skiriasi tarp skirtingų gamintojų. Jei pulsas yra siunčiamas kas 25-50 milisekundžių,​ servo mechanizmas veiks sklandžiai. Vienas iš didžiausių ​Arduino“ pliusų yra tai, kad Arduino“ turi programinės įrangos biblioteką,​ kuri leidžia kontroliuoti dvi servas(prijungtas į 9 ir 10 jungtis) viena kodo eilute.
  
 **Grandinės dalys** **Grandinės dalys**
Linija 13: Linija 13:
 **Grandininė schema** **Grandininė schema**
  
 +{{:​arduwork1.jpg?​300|}}
  
 **Grandinės šablonas** **Grandinės šablonas**
  
 +{{:​ardu_pro68.jpg?​300}}
  
 **Surinkta grandinė** **Surinkta grandinė**
  
 +{{:​ardu_pro69.jpg?​600|}}
  
 **Šaltiniai** **Šaltiniai**
Linija 28: Linija 28:
  
  
-**Programos kodas**  +**Kodas** 
-*File > Examples > Servo > Sweep*+<​code>​File > Examples > Servo > Sweep</​code>​ 
 + 
 +(pavyzdys iš [[arduino.cc|]] tinklalapio,​ pažiūrėk daugiau gerų idėjų)  
 +<​code>​ 
 +// Sweep 
 +// by BARRAGAN 
 + 
 +#include <​Servo.h>​ 
 + 
 +Servo myservo; ​ // sukuria servo objektą kontroliuoti servo mechanizmui 
 +                // max 9 servo objektai gali būti sukurti 
 + 
 +int pos = 0;     // kintamasis servos pozicijai 
 +void setup() 
 +
 +  myservo.attach(9); ​ // prijungia servo mechanizmą 9 jungtyje prie servo objekto 
 +
 + 
 +void loop() 
 +
 +  for(pos = 0; pos < 180; pos+=1) ​ // sukasi nuo 0 iki 180 laipsnių 
 +  {                                // palengva, po 1 laipsnį 
 +    myservo.write(pos); ​           // liepia servai suktis į kintamojo "​pos"​ poziciją 
 +    delay(15); ​                    // palaukia 15ms pasiekti pozicijai 
 +  } 
 +  for(pos = 180; pos>=1; pos-=1) ​  // sukasi nuo 180 iki 0 laipsnių 
 +  { 
 +    myservo.write(pos); ​           //  liepia servai suktis į kintamojo "​pos"​ poziciją ​    
 +    delay(15); ​                      // ​ palaukia 15ms pasiekti pozicijai ​    
 +  }   
 +
 +</​code>​ 
 + 
 +**Neveikia?​** (trys dalykai kuriuos galime padaryti) 
 + 
 +**Nesisuka?​** 
 +Pažiūrėk,​ ar servo mechanizmas įjungtas teisinga puse. 
 + 
 +**Vis dar neveikia?​** 
 +Patikrink ar prijungei į maitinimą. 
 + 
 +**Fits and Starts** 
 +Jei servas pradeda suktis, tačiau trūkčioja ir mirksi lemputė ant https://​www.dropbox.com/​sh/​odq6i9nvq00vrja/​AADuT-Uocgv5tiQg5496ybJ4a/​Rinkinys%20-%20ARDUINO?​dl=0 plokštės, reiškia energijos šaltinis yra per silpnas. Naudojant šviežią bateriją vietoj USB turėtų išspręsti problemą.  
 + 
 +**Nori dar?** 
 +**Potenciometro Kontrolė:​** 
 +Eik čia:  File > Library-Servo > Knob. Tai naudoja potenciometrą (CIRC08) kontroliuoti servo mechanizmui. Instrukcijas gali rasti čia: [[http://​ardx.org/​KNOB]]  
 + 
 +**Laiko kontroliavimas:​** 
 +Nesunku servą valdyti naudojant „Arduino“ biblioteką,​ tačiau pabandykime "​suprogramuoti"​ kažką patys. Mes kontroliuojame impulsus tiesiogiai , taigi šis metodas tinka kontroliuot servo mechanizmams bet kurioje iš 20 „Arduino“ jungčių (reiktų gerai optimizuoti kodą prieš tai darant). 
 +<​code>​ 
 +  int servoPin = 9; 
 +void setup() { 
 +  pinMode(servoPin,​OUTPUT);​ 
 +}  
 + 
 +void loop() { 
 +  int pulseTime = 2100; //(pauzės laikas mikrosekundėmis (1500 90 laipsnių ​                                                       
 +                        // 900 0 laipsnių 2100 180 laipsnių) 
 +  digitalWrite(servoPin,​ HIGH); 
 +  delayMicroseconds(pulseTime);​ 
 +  digitalWrite(servoPin,​ LOW); 
 +  delay(25);​ 
 +
 +</​code>​ 
 + 
 +**Puikios idėjos:​** 
 +Štai kelios puikios idėjos, kaip galima panaudoti servo mechanizmus:​ 
 + 
 +Kalėdinis smūgių skaičiuotuvas 
 +[[http://​ardx.org/​XMAS]] 
 + 
 +Atviro kodo robotinė ranka 
 +[[http://​ardx.org/​RARM]] 
 + 
 +Vaikščiojantis robotas 
 +[[http://​ardx.org/​SEWA]]
  
  
-[[projektas_nr.9|Kitas projektas. Muzikos kūrimas ​pjezo signalizatoriumi.]]+[[projektas_nr.9|Kitas projektas. Muzikos kūrimas ​Pjezo signalizatoriumi.]]
  
 [[arduivadas_projektai|Atgal į projektus]] [[arduivadas_projektai|Atgal į projektus]]
projektas_nr.8.1446113337.txt.gz · Keista: 2015/10/29 12:08 vartotojo simonas