This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| et:projects:tudengid11:euromynt [2011/03/30 09:44] – SiimH | et:projects:tudengid11:euromynt [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 13: | Line 13: | ||
| - Nädal 1-2: {{: | - Nädal 1-2: {{: | ||
| - Nädal 2-4: {{: | - Nädal 2-4: {{: | ||
| - | - Nädal 4-6: | + | - Nädal 4-6: {{: |
| ===== Eesmärk ===== | ===== Eesmärk ===== | ||
| Line 31: | Line 31: | ||
| {{: | {{: | ||
| + | |||
| + | ===== Algoritmi skeem ===== | ||
| {{: | {{: | ||
| ===== CADi mudel ===== | ===== CADi mudel ===== | ||
| - | |||
| {{: | {{: | ||
| + | {{: | ||
| - | Nädal 4-8: | + | ===== LCD ===== |
| + | |||
| + | {{: | ||
| + | |||
| + | ===== Nädal 4-8: ===== | ||
| {{: | {{: | ||
| + | |||
| + | ===== IR andurite ühendus ja kontrollimine ===== | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ===== Main Kood ===== | ||
| + | <code c> | ||
| + | int main(void) | ||
| + | { | ||
| + | |||
| + | int8_t press_key_separation[3] = {1, 1, 10}; | ||
| + | uint16_t vilguta = 0; | ||
| + | uint8_t coins[8]; | ||
| + | |||
| + | for(uint8_t i = 0; i < 8; i++) {coins[i] = 0;} | ||
| + | |||
| + | DDRB = (1 << PB4)|(1 << PB6); | ||
| + | PORTB |= (1 << PB5); | ||
| + | |||
| + | TCCR0 = (1 << WGM01)|(1 << CS00)|(1 << COM00); | ||
| + | OCR0 = 193; | ||
| + | |||
| + | |||
| + | DDRF |= (1 << PF2);// | ||
| + | DDRF &= ~((1 << PF1)|(1 << PF0)); //Lülitid | ||
| + | | ||
| + | ADCSRA &= ~(1 << ADEN); | ||
| + | |||
| + | lcd_gfx_init(); | ||
| + | lcd_gfx_clear(); | ||
| + | lcd_gfx_backlight(true); | ||
| + | lcd_clear_buffer(BUFFER); | ||
| + | lcd_intro(BUFFER); | ||
| + | |||
| + | TCCR1B = (1 << WGM13); | ||
| + | TCCR1A = (1 << WGM11)|(1 << COM1A0)|(1 << COM1A1)|(1 << COM1B0)|(1 << COM1B1)|(1 << COM1C0)|(1 << COM1C1); | ||
| + | OCR1B = 18471; | ||
| + | ICR1 = 19820; | ||
| + | |||
| + | sei(); | ||
| + | ETIMSK |= (1 << TOIE3); | ||
| + | TCCR3B &= ~((1 << CS32)|(1 << CS30)); | ||
| + | |||
| + | while( !(PINF & ((1 << PF0)|(1 << PF1)))) | ||
| + | { | ||
| + | lcd_clear_buffer_area(BUFFER, | ||
| + | lcd_write_string_to_buffer(BUFFER, | ||
| + | lcd_print_frame(BUFFER); | ||
| + | } | ||
| + | lcd_print_frame(background); | ||
| + | while (true) | ||
| + | { | ||
| + | if(PINF & (1 << PF0)) {TCCR1B &= ~(1 << CS11); vilguta &= ~(1 << 15); PORTF &= ~(1 << PF2); TCCR3B |= ((1 << CS32)|(1 << CS30));} | ||
| + | if(PINF & (1 << PF1)) {TCCR1B |= (1 << CS11); vilguta |= (1 << 15); TCCR3B &= ~((1 << CS32)|(1 << CS30)); TCNT3 = 0;} | ||
| + | if(vilguta & (1 << 15)) vilguta++; | ||
| + | if(vilguta > LEDSAGEDUS + (1 << 15)) | ||
| + | { | ||
| + | PORTF ^= (1 << PF2); | ||
| + | vilguta = (1 << 15); | ||
| + | } | ||
| + | if(PINB & (1 << PB5)) | ||
| + | { | ||
| + | lcd_clear_buffer_area(background, | ||
| + | if(++coins[0] < 10) | ||
| + | lcd_write_char_to_buffer(background, | ||
| + | else | ||
| + | { | ||
| + | lcd_write_char_to_buffer(background, | ||
| + | lcd_write_char_to_buffer(background, | ||
| + | } | ||
| + | lcd_draw_horisontal_line(background, | ||
| + | lcd_print_frame(background); | ||
| + | _delay_ms(300); | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== Komponentide Nimekiri ===== | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ===== Kasulikud lingid ja muud materjalid ===== | ||
| + | 1. [[http:// | ||
| + | 2. [[http:// | ||
| + | |||
| + | {{youtube> | ||
| + | |||