Elektronická škrtiaca klapka
Zo stránky SensorWiki
Záverečný projekt predmetu MIPS / LS2024 - Peter Szovics
Zadanie
Zostrojte a naprogramujte ovladanie škrtiacej klapky pomocou plynového pedálu.
![](/sensorwiki/images/thumb/a/a8/UNO_schema_na_zaciatok_stranky.jpg/700px-UNO_schema_na_zaciatok_stranky.jpg)
Literatúra:
Analýza a opis riešenia
Opíšte sem čo a ako ste spravili, ak treba, doplňte obrázkami...
![](/sensorwiki/images/thumb/4/4e/Schemap.jpg/400px-Schemap.jpg)
Nezabudnite doplniť schému zapojenia!
![](/sensorwiki/images/thumb/5/53/Osciloskopp.jpg/400px-Osciloskopp.jpg.png)
Algoritmus a program
Algoritmus programu je....
#include <avr/io.h>
#include "uart.h"
#define F_CPU 16000000UL
#define BAUDRATE 9600
#include <stdio.h>
FILE mystdout = FDEV_SETUP_STREAM(uart_putc, NULL, _FDEV_SETUP_WRITE);
int main(void)
{
adc_init();
hw_init();
uart_init();
stdout = &mystdout; // printf() works from now
unsigned int measuredValue;
DDRD|=(1<<PD6); // Init PD5 and PD6 pins as output
//Initialize Timer0
TCNT0=0; // Set Initial Timer value
OCR0A=0; // Set Initial Pulse width
//Set fast PWM mode + clear OC0A and set OC0B on compare match
TCCR0A|=(1<<COM0A1)|(1<<COM0B1)|(1<<WGM01)|(1<<WGM00);
TCCR0B|=(1<<CS02)|(1<<CS00); // Set prescaller 1024 and start timer
while(1)
{
measuredValue = adc_read(4);
printf("hodnota: %04d \r",measuredValue);
OCR0A=measuredValue/4;
}
return(0);
}
#include <avr/io.h>
void adc_init(void); // A/D converter initialization
unsigned int adc_read(char a_pin);
Pridajte sem aj zbalený kompletný projekt, napríklad takto (použite jednoznačné pomenovanie, nemôžeme mať na serveri 10x zdrojaky.zip:
Zdrojový kód: zdrojaky.zip
Overenie
Na používanie našej aplikácie stačia dve tlačítka a postup používania je opísaný v sekcii popis riešenia. Na konci uvádzame fotku záverečnej obrazovky pred resetom. Vypísaný je tu priemerný čas a najlepší čas.
![](/sensorwiki/images/thumb/e/e7/Sklapka.jpg/400px-Sklapka.jpg)
Video:
Kľúčové slová 'Category', ktoré sú na konci stránky nemeňte.