Elektronická škrtiaca klapka: Rozdiel medzi revíziami
Zo stránky SensorWiki
Riadok 26: | Riadok 26: | ||
Nezabudnite doplniť schému zapojenia! | Nezabudnite doplniť schému zapojenia! | ||
[[Súbor: | [[Súbor:osciloskopp.png|400px|thumb|center|Schéma zapojenia LCD displeja.]] | ||
Verzia z 16:18, 26. máj 2024
Záverečný projekt predmetu MIPS / LS2024 - Peter Szovics
Zadanie
Zostrojte a naprogramujte ovladanie škrtiacej klapky pomocou plynového pedálu.
Literatúra:
Analýza a opis riešenia
Opíšte sem čo a ako ste spravili, ak treba, doplňte obrázkami...
Nezabudnite doplniť schému zapojenia!
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.
Video:
Kľúčové slová 'Category', ktoré sú na konci stránky nemeňte.