This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
et:projects:3pi:library [2015/09/15 11:35] – kaupo.raid | et:projects:3pi:library [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
- | Üldiselt enne teegi kasutamist | + | Üldiselt |
- | See lisab automaatselt kõik ülejäänud teegid. Muude teekide kasutamisel on üldiselt | + | 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 |
===Teekide lühikirjeldused=== | ===Teekide lühikirjeldused=== | ||
- | * **OrangutanAnalog.h** - teek sisaldab funktsioone, | + | * **OrangutanAnalog.h** - teek sisaldab funktsioone, |
- | * **OrangutanBuzzer.h** – teek juhib robotil asetsevat piezo heligeneraatorit. Kasutab taimerit “Timer1” sageduste ja tooni pikkuste juhtimiseks. Võimaldab meloodiaid mängida | + | * **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”, |
- | * **OrangutanMotors.h** – teek võimaldab kasutada robotil olevat mootorite draiverit, et juhtida kahte väikest | + | * **OrangutanMotors.h** – teek võimaldab kasutada robotil olevat mootorite draiverit, et juhtida kahte väikest |
* **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 | + | * **OrangutanLEDs.h** – teek juhib kasutajapõhiseid |
- | * **OrangutanPushbuttons.h** - teek loeb kolme kasutaja põhist | + | * **OrangutanPushbuttons.h** - teek loeb kolme kasutajapõhist |
- | * **OrangutanTime.h** – teek võimaldab kasutada erinevaid | + | * **OrangutanTime.h** – teek võimaldab kasutada erinevaid |
* **OrangutanSerial.h** – teek võimaldab jadapordi kaudu saata ja vastu võtta andmeid/ | * **OrangutanSerial.h** – teek võimaldab jadapordi kaudu saata ja vastu võtta andmeid/ | ||
- | * **OrangutanDigital.h** – teek võimaldab teha digitaalseid sisend/ | + | * **OrangutanDigital.h** – teek võimaldab teha digitaalseid sisend/ |
===Teekide funktsioonid=== | ===Teekide funktsioonid=== | ||
- | Siin on toodud | + | Alljärgnevalt |
**OrangutanAnalog.h** | **OrangutanAnalog.h** | ||
- | |||
<code c> | <code c> | ||
- | void set_analog_mode(unsigned char mode) // Seadistab analoog-digitaalmuunduri ühele järgnevale töörežiimile: | + | void set_analog_mode(unsigned char mode) |
- | | + | |
+ | // MODE_8_BIT või MODE_10_BIT. | ||
+ | // Valida saab 8 bitise | ||
+ | // | ||
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: | ||
</ | </ | ||
- | {{: | + | < |
+ | Analoog-digitaalmuunduri toega viigud 3pi robotil: | ||
+ | |||
+ | {{: | ||
Line 37: | Line 42: | ||
<code c> | <code c> | ||
- | * void play_frequency(unsigned int freq, unsigned int duration, unsigned char volume)\\ NB! sagedus × periood/ | + | void play_frequency(unsigned int freq, unsigned int duration, unsigned char volume) |
- | | + | // NB! sagedus × periood/ |
- | | + | void play_note(unsigned char note, unsigned int duration, unsigned char volume) |
- | | + | void play(const char* sequence) |
+ | void stop_playing() | ||
</ | </ | ||
- | **OrangutanMotors.h**\\ Mootorite kiirused tuleb valida vahemikus -255 kuni 255. Mootorite teek kasutab sisemisi taimereid " | + | **OrangutanMotors.h** |
+ | Mootorite kiirused tuleb valida vahemikus -255 kuni 255. Mootorite teek kasutab sisemisi taimereid " | ||
<code c> | <code c> | ||
- | * void set_m1_speed(int speed) | + | void set_m1_speed(int speed) |
- | | + | void set_m2_speed(int speed) |
- | | + | void set_motors(int m1Speed, int m2Speed) |
</ | </ | ||
- | **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() |
- | | + | //puhastab ekraani ja viib kursori üles vasakule nurka ehk algpunkti (0,0). |
- | | + | void print_character(char character) |
- | | + | void print(const char *str) |
- | | + | void print_long(long value) |
+ | void lcd_goto_xy(int col, int row) | ||
</ | </ | ||
- | **OrangutanLEDs.h**\\ 3Pi robotil on 2 kasutaja poolt kontrollitavat LED-i (roheline ja punane). Punane LED on samal viigul kui UART0 jadapordi | + | **OrangutanLEDs.h** |
+ | 3pi robotil on 2 kasutaja poolt kontrollitavat LED-i (roheline ja punane). Punane LED on samal viigul kui UART0 jadapordi | ||
<code c> | <code c> | ||
- | * void red_led(unsigned char state) | + | void red_led(unsigned char state) |
- | | + | void green_led(unsigned char state) |
</ | </ | ||
**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 wait_for_button_press(unsigned char buttons) |
- | | + | unsigned char wait_for_button_release(unsigned char buttons) |
- | | + | unsigned char wait_for_button(unsigned char buttons) |
- | | + | unsigned char button_is_pressed(unsigned char buttons) |
</ | </ | ||
- | **OrangutanTime.h**\\ Ajalised funktsioonid kasutavad sisemist taimerit " | + | **OrangutanTime.h** |
+ | Ajalised funktsioonid kasutavad sisemist taimerit " | ||
| | ||
<code c> | <code c> | ||
- | * void delay_ms(unsigned int milliseconds) | + | void delay_ms(unsigned int milliseconds) |
- | | + | void delay_us(unsigned int microseconds) |
- | | + | void time_reset() |
- | | + | unsigned long get_ms() |
</ | </ | ||
- | **OrangutanSerial.h**\\ 3Pi robotil on üks UART port viikudel PD0 (RXD) ja PD1 (TXD). | + | **OrangutanSerial.h** |
+ | 3pi robotil on üks UART port viikudel PD0 (RXD) ja PD1 (TXD). | ||
<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_receive([unsigned char port,] char * buffer, unsigned char size) |
</ | </ | ||
- | **OrangutanDigital.h**\\ Digitaalsed viigud on AVR mikrokontrolleril | + | **OrangutanDigital.h** |
+ | Digitaalsed viigud on AVR mikrokontrolleril | ||
<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); |
- | | + | unsigned char is_digital_input_high(unsigned char pin); |
</ | </ | ||
- | [{{: | + | **Teegis defineeritud konstandid** |
+ | |||
+ | {{: |