projektas_nr.11
Skirtumai
Čia matote skirtumus tarp pasirinktos versijos ir esamo dokumento.
| Abiejų pusių ankstesnis pataisymasPrevious revisionKitas pataisymas | Previous revision | ||
| projektas_nr.11 [2015/10/25 18:03] – 193.219.47.27 | projektas_nr.11 [2015/12/03 16:23] (esamas) – valius.benas | ||
|---|---|---|---|
| Linija 1: | Linija 1: | ||
| ====== Projektas Nr. 11. Sukis, varikli, sukis – Tranzistorius ir variklis ====== | ====== Projektas Nr. 11. Sukis, varikli, sukis – Tranzistorius ir variklis ====== | ||
| + | |||
| + | **Ką darome?** | ||
| + | Arduino yra puikus prietaisas, norint | ||
| + | |||
| + | **Grandinės dalys** | ||
| + | *2k2 omų rezistorius Raudona- Raudona- Raudona x1 | ||
| + | *Diodas (1N4001) x1 | ||
| + | *Žaislinis motoras x1 | ||
| + | *Tranzistorius TIP120 x1 | ||
| + | *Laidas x2 | ||
| + | |||
| + | **Grandininė schema** | ||
| + | |||
| + | {{: | ||
| + | |||
| + | **Grandinės šablonas** | ||
| + | |||
| + | {{: | ||
| + | |||
| + | **Surinkta grandinė** | ||
| + | |||
| + | {{: | ||
| + | |||
| + | **Šaltiniai** | ||
| + | [[http:// | ||
| + | [[http:// | ||
| + | |||
| + | **Programos kodas** (nukopijuokite kodą į IDE atvertą langą). Atsisiųsti programos kodą: [[http:// | ||
| + | < | ||
| + | /* | ||
| + | | ||
| + | | ||
| + | | ||
| + | * | ||
| + | * Arduino yra puikus, norint valdyti LED’us, tačiau jeigu mes prijungiame kažką, kas | ||
| + | * reikalauja daugiau galios, mes galime nesunkiai juos sudeginti. Didesnių detalių | ||
| + | *valdymui mums reikės tranzistoriaus pagalbos. Šiame projekte naudosime tranzistorių mažo* | ||
| + | žaislinio motoro valdymui. | ||
| + | * | ||
| + | * | ||
| + | * http:// | ||
| + | * | ||
| + | */ | ||
| + | |||
| + | int motorPin = 9; // | ||
| + | // (jeigu naudosite 9,10,11 arba 3 kištukus, jūs taip pat galėsite kontroliuoti greitƳ) | ||
| + | |||
| + | /* | ||
| + | * setup() –ši funkcija veikia vieną kartą, kai Ƴjungiate Arduino. | ||
| + | * Mes nustatėmė motoro kištuko išvestƳƳ aukštą (kištukas +5V)arba žemą (kištukas -GROUND) | ||
| + | * O ne ƳvestƳ (tikrinimą ar kištukas yra aukštos ,ar žemos Ƴtampos) | ||
| + | */ | ||
| + | void setup() | ||
| + | { | ||
| + | | ||
| + | } | ||
| + | |||
| + | /* | ||
| + | * loop() –ši funkcija presides, kai pasibaigs funkcija setup , po to ji kartosis. | ||
| + | * mes suteikiamia vardą funkcijai pavadinimu motorOnThenOff() | ||
| + | */ | ||
| + | |||
| + | void loop(){ | ||
| + | | ||
| + | // | ||
| + | // | ||
| + | } | ||
| + | |||
| + | /* | ||
| + | * motorOnThenOff() –Ƴjungia motorą, tada išjungia | ||
| + | * (pastaba! Šis kodas yra identiškas, | ||
| + | * | ||
| + | */ | ||
| + | void motorOnThenOff(){ | ||
| + | int onTime = 2500; //laikas milisekundėmis, | ||
| + | int offTime = 1000; //laikas milisekundėmis, | ||
| + | |||
| + | digitalWrite(motorPin, | ||
| + | delay(onTime); | ||
| + | digitalWrite(motorPin, | ||
| + | delay(offTime); | ||
| + | } | ||
| + | |||
| + | /* | ||
| + | * motorOnThenOffWithSpeed() - Ƴjungia ir išjungia motorą, naudojamos ir greičio vertės | ||
| + | * (pastaba! Šis kodas identiškas, | ||
| + | * | ||
| + | */ | ||
| + | void motorOnThenOffWithSpeed(){ | ||
| + | |||
| + | int onSpeed = 200; // skaičius tarp 0 (sustabdytas) ir 255 (visas greitis) | ||
| + | int onTime = 2500; //the number of milliseconds forthe motor to turn on for | ||
| + | | ||
| + | int offSpeed = 50; // skaičius tarp 0 (sustabdytas) ir 255 (visas greitis) | ||
| + | int offTime = 1000; // | ||
| + | analogWrite(motorPin, | ||
| + | delay(onTime); | ||
| + | analogWrite(motorPin, | ||
| + | delay(offTime); | ||
| + | } | ||
| + | |||
| + | /* | ||
| + | * motorAcceleration() – motoro greitis didėja iki didžiausio, | ||
| + | void motorAcceleration(){ | ||
| + | int delayTime = 50; // | ||
| + | | ||
| + | //Greitina motorą | ||
| + | for(int i = 0; i < 256; i++){ //pereina per visus greičius nuo 0 iki 255 | ||
| + | analogWrite(motorPin, | ||
| + | delay(delayTime); | ||
| + | } | ||
| + | |||
| + | //Lėtina motorą | ||
| + | for(int i = 255; i >=0; i--){ //pereina per visus greičius nuo 255 iki 0 | ||
| + | analogWrite(motorPin, | ||
| + | delay(delayTime); | ||
| + | } | ||
| + | }*/ | ||
| + | </ | ||
| + | |||
| + | **Neveikia? | ||
| + | |||
| + | **Nesisuka motoras?** | ||
| + | |||
| + | Nesisuka motoras? Jeigu naudojate savo šaltinio tranzistorių, | ||
| + | |||
| + | ** Vis dar neveikia?** | ||
| + | |||
| + | Jeigu tai jūsų motoras patikrinkite ar jis veikia su 5 voltais, įsitikinkite, | ||
| + | |||
| + | **Ir toliau nesiseka?** | ||
| + | |||
| + | Kartais Arduino atsijungia nuo kompiuterio. Pamėginkite iš naujo prijungti USB kištuką. | ||
| + | |||
| + | **PADARYTI GERIAU** | ||
| + | |||
| + | **Kontroliuojame greitį:** | ||
| + | |||
| + | Anksčiau mes žaidėme su Arduino galimybe kontroliuoti LED ryškumą, dabar mes naudosime tą pačią funkciją kontroliuoti mūsų variklio greitį. Arduino, tai daro naudojant vadinamąją pulso pločio moduliaciją (PWM). Tai priklauso nuo Arduino galimybės veikti greitai. Užuot tiesiogiai kontroliuodamas įtampą ateinančią iš kištuko, Arduino | ||
| + | < | ||
| + | // motorOnThenOff(); | ||
| + | motorOnThenOffWithSpeed(); | ||
| + | // | ||
| + | </ | ||
| + | |||
| + | Įkelkite į programą. Jūs galite pakeisti greičius keičiant funkcijų ' | ||
| + | |||
| + | **Greitėjimas ir lėtėjimas: | ||
| + | Kodėl sustabdyti, | ||
| + | < | ||
| + | // motorOnThenOff(); | ||
| + | // motorOnThenOffWithSpeed(); | ||
| + | motorAcceleration(); | ||
| + | </ | ||
| + | |||
| + | Tada įkelkite programą ir stebėkite kaip Jūsų motoras lėtai greitės iki viso greičio, tada pradės lėtėti. Jeigu norite pakeisti greitėjimo greitį, pakeiskite duomenis delayTime (kuo didesnis, tuo ilgesnis greitėjimo laikas). | ||
| + | |||
| + | |||
| [[projektas_nr.12|Kitas projektas. Didesnė apkrova, rėlės.]] | [[projektas_nr.12|Kitas projektas. Didesnė apkrova, rėlės.]] | ||
| [[arduivadas_projektai|Atgal į projektus]] | [[arduivadas_projektai|Atgal į projektus]] | ||
projektas_nr.11.1445788985.txt.gz · Keista: vartotojo 193.219.47.27
