Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
et:arduino:motors:project2 [2017/04/18 13:06] raivo.sellet:arduino:motors:project2 [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 1: Line 1:
-~~PB~~+<pagebreak>
 ====== Projekt 6 Servomootor UH anduriga  ====== ====== Projekt 6 Servomootor UH anduriga  ======
  
-Selles projektis tuleb ühendada Arduino plaadiga potentsiomeeter ja servomootor ning teises näites lisaks ultraheliandur. Kõigi seadmete ühendamiseks Arduino Uno plaadiga läheb vaja, kas makettplaati või sobivaid kaableid, mis jagavad toitepinget. Kui kasutada näiteks Iteaduino Uno plaati, siis eraldi kaableid pole vaja, kuna selle plaadi kõik viigud on dubleeritud ja omavad eraldi toitepistikuid. Ultrahelianduri paigutamisel servo hoovale võib kasutada spetsiaalset ultrahelianduri hoidikut või ajutise lahendusena ka kahepoolset teipi.+Selles projektis tuleb ühendada Arduino plaadiga potentsiomeeter ja servomootor ning teises näites lisaks ultraheli kaugusandur. Kõigi seadmete ühendamiseks Arduino Uno plaadiga läheb vaja, kas makettplaati või sobivaid kaableid, mis jagavad toitepinget. Kui kasutada näiteks Iteaduino Uno plaati, siis eraldi kaableid pole vaja, kuna selle plaadi kõik viigud on dubleeritud ja omavad eraldi toitepistikuid. Ultrahelianduri paigutamisel servo hoovale võib kasutada spetsiaalset ultrahelianduri hoidikut või ajutise lahendusena ka kahepoolset teipi.
  
   * Servomootor - D3   * Servomootor - D3
   * Potentsiomeeter - A1   * Potentsiomeeter - A1
-  * Ultraheliandur - trigger A3, echo A4+  * Ultraheli kaugusandur - trigger A3, echo A4
  
 {{:et:arduino:motors:projekt6.jpg?600|}} {{:et:arduino:motors:projekt6.jpg?600|}}
  
-~~PB~~ 
  
 ===== Näide #6.1 Servomootor ja PWM signaal ===== ===== Näide #6.1 Servomootor ja PWM signaal =====
-Servomootori juhtimine toimib ainult PWM signaaliga. Üldjuhul on servomootori liikumisvabadus piiratud 180 kraadi peale, kuid esineb ka püsivalt pöörlevaid (360 kraadi) servosidTavapärase servo puhul juhitakse PWM töötsükliga servo hoova positsiooni (nt. 0-180 kraadi)Püsivalt pöörleva servo puhul juhitakse pöörlemise kiirust. Antud näiteprogrammis kasutame mikro-servomootoritmille liikumisvabadus on 180 kraad.\\+Antud näiteprogrammis kasutame mikro servomootorit, mille liikumisvabadus on 180 kraadi.\\ 
 +Programmi töö kujutab endast servomootori juhtimiseks vajalike seadistuste tegemist ja seejärel potentsiomeetri asendi järgi selle hoova liigutamistArduino analoogsisendi väärtused on vahemikus 0-1023 aga servo juhtimise funktsioon nõuab väärtusi vahemikus 0-180. Üks võimalus on analoogsisendi tulemus jagada läbi sobiva arvugaet saada maksimaalne tulemus 180. Praktilisem lahendus on kasutada Arduino //map// funktsiooni:
  
-Programmi töö kujutab endast servomootori juhtimiseks vajalike seadistuste tegemist ja seejärel potentsiomeetri asendi järgi selle hoova liigutamist. Arduino analoogsisendi väärtused on vahemikus 0-1023 aga servo juhtimise funktsioon nõuab väärtusi vahemikus 0-180. Üks võimalus on analoogsisendi tulemus jagada läbi sobiva arvuga, et saada maksimaalne tulemus 180. Praktilisem lahendus on kasutada Arduino funktsiooni //map(muutuja, muutuja miinimum, muutuja maksimum, uus miinimum, uus maksimum)//Antud funktsioon võtab sisendiks esialgsed miinimum ja maksimum väärtused ning konverteerib selle muutumispiirkonna kasutaja poolt määratud muutumispiirkonnaks. Antud juhul 0-1023 teisendame vahemikuks 0-180.\\ +//map(muutuja, muutuja miinimum, muutuja maksimum, uus miinimum, uus maksimum).// 
-Arduino //map// funktsiooni kohta saab lisaks lugeda siit: [[https://www.arduino.cc/en/Reference/Map|]]+ 
 +Antud funktsioon võtab sisendiks esialgsed miinimum ja maksimum väärtused ning konverteerib selle muutumispiirkonna kasutaja poolt määratud muutumispiirkonnaks. Antud juhul 0-1023 teisendame vahemikuks 0-180. Arduino //map// funktsiooni kohta saab lisaks lugeda siit: [[https://www.arduino.cc/en/Reference/Map|]]
  
 <code c> <code c>
Line 37: Line 38:
 void setup() void setup()
 { {
-  // Servo objekti sidumine kindla viiguga+  // Servo objekti sidumine kindla Arduino viiguga
   mootor.attach(servo);   mootor.attach(servo);
 } }
Line 53: Line 54:
 </code> </code>
  
-~~PB~~+<pagebreak>
 ===== Näide #6.2 Servomootor ja kaugusandur ===== ===== Näide #6.2 Servomootor ja kaugusandur =====
 Järgnevas näites on pandud kokku kaugusanduri mõõtmise ja servo liigutamise funktsionaalsus. Tulemuseks on algeline radar, mis tuvastab iga 10 kraadise liikumise järel ees oleva objekti kauguse. Mõõtetulemused edastatakse jadapordi monitorile.\\ Järgnevas näites on pandud kokku kaugusanduri mõõtmise ja servo liigutamise funktsionaalsus. Tulemuseks on algeline radar, mis tuvastab iga 10 kraadise liikumise järel ees oleva objekti kauguse. Mõõtetulemused edastatakse jadapordi monitorile.\\
Line 70: Line 71:
  
 // Servo ja ultrahelianduri ühendusviikude määramine // Servo ja ultrahelianduri ühendusviikude määramine
-#define MOOTOR 3 +#define MOOTOR 3
 #define TRIG A3 #define TRIG A3
 #define ECHO A4 #define ECHO A4
Line 77: Line 78:
 Servo sensM; Servo sensM;
  
-// Anduri objekti tekitamine nimega sonar  +// Anduri objekti tekitamine nimega sonar 
-NewPing sonar(TRIG, ECHO, 200); +NewPing sonar(TRIG, ECHO, 200);
  
-void setup() +void setup()
 { {
   // Servo objekti ja ühendusviigu sidumine   // Servo objekti ja ühendusviigu sidumine
Line 125: Line 126:
  
 ==== Harjutus 6.2 ==== ==== Harjutus 6.2 ====
-Modifitseerida näiteprogrammi nii, et pärast igat skanneerimistsüklit tagastab programm lähima ja kaugeima objekti kauguse ning nurgad mille juures need leiti. Saadud tulemused saata jadapordi monitorile.+Modifitseerida näiteprogrammi nii, et pärast igat skaneerimistsüklit tagastab programm lähima ja kaugeima objekti kauguse ning nurgad mille juures need leiti. Saadud tulemused saata jadapordi monitorile.
    
et/arduino/motors/project2.1492520796.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0