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:projects:3pi:library [2015/09/15 11:35] kaupo.raidet:projects:3pi:library [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 1: Line 1:
-====== 3Pi roboti teek ======+====== 3pi roboti teek ======
  
-Üldiselt enne teegi kasutamist on vaja projekti lisada kõik teegid eraldi, kuid 3pi puhul on vaja ainult ühte <code c>#include <pololu/3pi.h></code> +Üldiselt on vaja enne teegi kasutamist projekti lisada kõik teegid eraldi, kuid 3pi puhul on vaja lisada ainult üks teek: <code c>#include <pololu/3pi.h></code> 
-See lisab automaatselt kõik ülejäänud teegid. Muude teekide kasutamisel on üldiselt vaja main funktsioonis ühe korra käivitada teegi initsialiseerimise funktsioon. See on vajalik, et enne kasutamist  perifeeria ära seadistada. Pololu teekide puhul tehakse see juba teegi esmasel kasutamisel automaatselt.+See lisab automaatselt kõik ülejäänud teegid. Muude teekide kasutamisel on vaja main funktsioonis ühe korra käivitada teegi initsialiseerimise funktsioon. See on vajalik, et enne kasutamist perifeeria ära seadistada. Pololu teekide puhul tehakse see automaatselt teegi esmasel kasutamisel.
  
 ===Teekide lühikirjeldused=== ===Teekide lühikirjeldused===
-  * **OrangutanAnalog.h** - teek sisaldab funktsioone, mis võimaldavad kasutada roboti analoog sisendeid\\ +  * **OrangutanAnalog.h** - teek sisaldab funktsioone, mis võimaldavad kasutada roboti analoogsisendeid.\\ 
-  * **OrangutanBuzzer.h** – teek juhib robotil asetsevat piezo heligeneraatorit. Kasutab taimerit “Timer1” sageduste ja tooni pikkuste juhtimiseks. Võimaldab meloodiaid mängida ka muu koodiga samal ajal. Teeki ei saa kasutatada koos teiste teekidega, mis kasutavad taimerit “Timer1”, kuna tekib konflikt. Näiteks ei saa samal ajal juhtida servosid ja mängida toone.\\ +  * **OrangutanBuzzer.h** – teek juhib robotil asetsevat piezo heligeneraatorit. Kasutab taimerit “Timer1” sageduste ja tooni pikkuste juhtimiseks. Võimaldab meloodiaid mängida muu koodiga samal ajal. Teeki ei saa kasutatada koos teiste teekidega, mis kasutavad taimerit “Timer1”, sest tekib konflikt. Näiteks ei saa samal ajal juhtida servomootoreid ja mängida toone.\\ 
-  * **OrangutanMotors.h** – teek võimaldab kasutada robotil olevat mootorite draiverit, et juhtida kahte väikest alalisvoolu mootorit.\\+  * **OrangutanMotors.h** – teek võimaldab kasutada robotil olevat mootorite draiverit, et juhtida kahte väikest alalisvoolumootorit.\\
   * **OrangutanLCD.h** – teek võimaldab kirjutada 8x2 tähemärgilisele LCD ekraanile.\\   * **OrangutanLCD.h** – teek võimaldab kirjutada 8x2 tähemärgilisele LCD ekraanile.\\
-  * **OrangutanLEDs.h** – teek juhib kasutaja põhiseid LED tulesid robotil\\ +  * **OrangutanLEDs.h** – teek juhib kasutajapõhiseid LED tulesid robotil.\\ 
-  * **OrangutanPushbuttons.h** -  teek loeb kolme kasutaja põhist vajutatavat lülitit ja võimaldab erinevatele vajutamise etappidele (alla vajutatud/lahti lastud) reageerida. \\ +  * **OrangutanPushbuttons.h** -  teek loeb kolme kasutajapõhist vajutatavat lülitit ja võimaldab erinevatele vajutamise etappidele (alla vajutatud/lahti lastud) reageerida. \\ 
-  * **OrangutanTime.h** – teek võimaldab kasutada erinevaid aja põhiseid käske. Teek on kalibreeritud 20MHz kiirusel töötavale mikrokontrollerile.\\+  * **OrangutanTime.h** – teek võimaldab kasutada erinevaid ajapõhiseid käske. Teek on kalibreeritud 20 MHz kiirusel töötavale mikrokontrollerile.\\
   * **OrangutanSerial.h** – teek võimaldab jadapordi kaudu saata ja vastu võtta andmeid/käske. (Programmaator on virtuaalne jadaport arvuti küljes.)\\   * **OrangutanSerial.h** – teek võimaldab jadapordi kaudu saata ja vastu võtta andmeid/käske. (Programmaator on virtuaalne jadaport arvuti küljes.)\\
-  * **OrangutanDigital.h** – teek võimaldab teha digitaalseid sisend/väljund toiminguid. Teegi kood on kirjutatud hästi effektiivselt, et võtta võimalikult vähe mälu ja mikrokontrolleri töötsükleid.\\+  * **OrangutanDigital.h** – teek võimaldab teha digitaalseid sisend/väljund toiminguid. Teegi kood on kirjutatud väga efektiivselt, et võtta võimalikult vähe mälu ja mikrokontrolleri töötsükleid.\\
  
 ===Teekide funktsioonid=== ===Teekide funktsioonid===
  
-Siin on toodud ära kõik põhilised funktsioonid, mida võib vaja olla 3pi roboti programmeerimisel. Vajaduse korral on võimalik täpsemaid kirjeldusi lugeda [[https://www.pololu.com/docs/0J18|Pololu kodulehelt]].\\+Alljärgnevalt on välja toodud põhilised funktsioonid, mida võib vaja minna 3pi roboti programmeerimisel. Vajaduse korral on võimalik täpsemaid kirjeldusi lugeda [[https://www.pololu.com/docs/0J18|Pololu kodulehelt]].\\
  
 **OrangutanAnalog.h** **OrangutanAnalog.h**
- 
 <code c> <code c>
-  void set_analog_mode(unsigned char mode) // Seadistab analoog-digitaalmuunduri ühele järgnevale töörežiimile: MODE_8_BIT või MODE_10_BIT.  +  void set_analog_mode(unsigned char mode)  
-                                           // Valida saab 8bitise (väärtused 0-255) või 10bitise(väärtused 0-1023) resolutsiooni vahel pinge vahemikus 0-5V.+  // Seadistab analoog-digitaalmuunduri ühele järgnevale töörežiimile:  
 +                                                // MODE_8_BIT või MODE_10_BIT.  
 +  // Valida saab 8 bitise (väärtused 0-255) või 10 bitise(väärtused 0-1023) 
 +                               // resolutsiooni vahel pingevahemikus 0-5 V.
   unsigned int analog_read(unsigned char channel)   unsigned int analog_read(unsigned char channel)
   unsigned int analog_read_average(unsigned char channel, unsigned int numSamples)   unsigned int analog_read_average(unsigned char channel, unsigned int numSamples)
Line 31: Line 33:
 </code> </code>
  
-{{:et:projects:3pi:analog_viigud.png?direct&400|Kasutatavad analoog sisendid}}+<pagebreak> 
 +Analoog-digitaalmuunduri toega viigud 3pi robotil: 
 + 
 +{{:et:projects:3pi:analog_viigud.png?350|Kasutatavad analoog sisendid}}
  
  
Line 37: Line 42:
  
 <code c> <code c>
-  * void play_frequency(unsigned int freq, unsigned int duration, unsigned char volume)\\ NB! sagedus × periood/1000  ei tohi olla suurem kui 0xFFFF (65535). +void play_frequency(unsigned int freq, unsigned int duration, unsigned char volume) 
-  void play_note(unsigned char note, unsigned int duration, unsigned char volume) +// NB! sagedus × periood/1000  ei tohi olla suurem kui 0xFFFF (65535). 
-  void play(const char* sequence) +void play_note(unsigned char note, unsigned int duration, unsigned char volume) 
-  void stop_playing()+void play(const char* sequence) 
 +void stop_playing()
 </code> </code>
  
-**OrangutanMotors.h**\\ Mootorite kiirused tuleb valida vahemikus -255 kuni 255. Mootorite teek kasutab sisemisi taimereid "Timer0" ja "Timer3".+**OrangutanMotors.h** 
 +Mootorite kiirused tuleb valida vahemikus -255 kuni 255. Mootorite teek kasutab sisemisi taimereid "Timer0" ja "Timer3".
  
 <code c> <code c>
-  * void set_m1_speed(int speed) +void set_m1_speed(int speed) 
-  void set_m2_speed(int speed) +void set_m2_speed(int speed) 
-  void set_motors(int m1Speed, int m2Speed)+void set_motors(int m1Speed, int m2Speed)
 </code> </code>
  
-**OrangutanLCD.h**\\ Teek kasutab standard 4-bit HD44780 protokolli.+**OrangutanLCD.h** 
 +Teek kasutab standard 4-bit HD44780 protokolli.
  
 <code c> <code c>
-  * void clear() //puhastab ekraani ja viib kursori üles vasakule nurka ehk algpunkti (0,0). +void clear()  
-  void print_character(char character) +//puhastab ekraani ja viib kursori üles vasakule nurka ehk algpunkti (0,0). 
-  void print(const char *str) +void print_character(char character) 
-  void print_long(long value) +void print(const char *str) 
-  void lcd_goto_xy(int col, int row)+void print_long(long value) 
 +void lcd_goto_xy(int col, int row)
 </code> </code>
  
-**OrangutanLEDs.h**\\ 3Pi robotil on 2 kasutaja poolt kontrollitavat LED-i (roheline ja punane). Punane LED on samal viigul kui UART0 jadapordi saatmis viik (PD1). Jadaühenduse kasutamisel ei ole võimalik punast LED-i kasutada. Roheline LED on samal viigul LCD andmeviiguga ning võib LCD-le andmete saatmisel lühidalt vilkuda.+**OrangutanLEDs.h** 
 +3pi robotil on 2 kasutaja poolt kontrollitavat LED-i (roheline ja punane). Punane LED on samal viigul kui UART0 jadapordi saatmise viik (PD1). Jadaühenduse kasutamisel ei ole võimalik punast LED-i kasutada. Roheline LED on samal viigul LCD andmeviiguga ning võib LCD-le andmete saatmisel lühidalt vilkuda.
  
 <code c> <code c>
-  * void red_led(unsigned char state) +void red_led(unsigned char state) 
-  void green_led(unsigned char state)+void green_led(unsigned char state)
 </code> </code>
  
 **OrangutanPushbuttons.h** **OrangutanPushbuttons.h**
- 
 <code c> <code c>
-  * unsigned char get_single_debounced_button_press(unsigned char buttons) +unsigned char get_single_debounced_button_press(unsigned char buttons) 
-  unsigned char get_single_debounced_button_release(unsigned char buttons) +unsigned char get_single_debounced_button_release(unsigned char buttons) 
-  unsigned char wait_for_button_press(unsigned char buttons) +unsigned char wait_for_button_press(unsigned char buttons) 
-  unsigned char wait_for_button_release(unsigned char buttons) +unsigned char wait_for_button_release(unsigned char buttons) 
-  unsigned char wait_for_button(unsigned char buttons) +unsigned char wait_for_button(unsigned char buttons) 
-  unsigned char button_is_pressed(unsigned char buttons)+unsigned char button_is_pressed(unsigned char buttons)
 </code> </code>
  
-**OrangutanTime.h**\\ Ajalised funktsioonid kasutavad sisemist taimerit "Timer2". Taimeri maksimaalne lugemise väärtus on 4 294 967 295 ms (unsigned long), mis on umbakudu 49 päeva. Pärast maksimum väärtus saavutamist alustab taimer uuesti 0-st. +**OrangutanTime.h** 
 +Ajalised funktsioonid kasutavad sisemist taimerit "Timer2". Taimeri maksimaalne väärtus on 4 294 967 295 ms (//unsigned long//), mis on ligikaudu 49 päeva. Pärast maksimumväärtuse saavutamist alustab taimer uuesti 0-st. 
      
 <code c>   <code c>  
-  * void delay_ms(unsigned int milliseconds) +void delay_ms(unsigned int milliseconds) 
-  void delay_us(unsigned int microseconds) +void delay_us(unsigned int microseconds) 
-  void time_reset() +void time_reset() 
-  unsigned long get_ms()+unsigned long get_ms()
 </code> </code>
  
-**OrangutanSerial.h**\\ 3Pi robotil on üks UART port viikudel PD0 (RXD) ja PD1 (TXD). Kõigis funktsioonides tuleb pordi valimise parameeter välja jätta.+**OrangutanSerial.h** 
 +3pi robotil on üks UART port viikudel PD0 (RXD) ja PD1 (TXD). Kõikides funktsioonides tuleb pordi valimise parameeter välja jätta.
  
 <code c> <code c>
-  * unsigned char serial_set_baud_rate([unsigned char port,] unsigned long baud) +unsigned char serial_set_baud_rate([unsigned char port,] unsigned long baud) 
-  void serial_send([unsigned char port,] char * buffer, unsigned char size) +void serial_send([unsigned char port,] char * buffer, unsigned char size) 
-  void serial_receive([unsigned char port,] char * buffer, unsigned char size)+void serial_receive([unsigned char port,] char * buffer, unsigned char size)
 </code> </code>
  
-**OrangutanDigital.h**\\ Digitaalsed viigud on AVR mikrokontrolleril "default" seisundis sisendid. Kõik funktsioonid võtavad esimeseks parameetriks viigu numbri. +**OrangutanDigital.h** 
 +Digitaalsed viigud on AVR mikrokontrolleril vaikimisi olekus sisendid. Kõik funktsioonid võtavad esimeseks parameetriks viigu numbri. 
  
 <code c> <code c>
-  * void set_digital_output(unsigned char pin, unsigned char output_state); +void set_digital_output(unsigned char pin, unsigned char output_state); 
-  void set_digital_input(unsigned char pin, unsigned char input_state); +void set_digital_input(unsigned char pin, unsigned char input_state); 
-  unsigned char is_digital_input_high(unsigned char pin);+unsigned char is_digital_input_high(unsigned char pin);
 </code> </code>
  
-[{{:et:projects:3pi:valjund_reziimid.png?300Teegis defineeritud väljund parameetri konstandid}}]+**Teegis defineeritud konstandid** 
 + 
 +{{:et:projects:3pi:valjund_reziimid.png?250|}}
et/projects/3pi/library.1442316934.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