Operácie

Elektronická škrtiaca klapka: Rozdiel medzi revíziami

Z SensorWiki

(Overenie)
(Algoritmus a program)
Riadok 37: Riadok 37:
 
<tab name="AVR C-code"><source lang="c++" style="background: LightYellow;">
 
<tab name="AVR C-code"><source lang="c++" style="background: LightYellow;">
 
#include <avr/io.h>
 
#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)
 
int main(void)
 
{
 
{
 +
  adc_init();
 +
  hw_init();
 +
  uart_init();
 +
  stdout = &mystdout;          // printf() works from now
 
   unsigned int measuredValue;
 
   unsigned int measuredValue;
  
   while (1)
+
  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)
 
   {
 
   {
    /*  relax  */ 
+
measuredValue = adc_read(4);
 +
printf("hodnota: %04d \r",measuredValue);
 +
 +
OCR0A=measuredValue/4;
 
   }
 
   }
 
+
 
 
   return(0);
 
   return(0);
 
}
 
}
 +
  
 
</source></tab>
 
</source></tab>
Riadok 63: Riadok 92:
  
 
Zdrojový kód: [[Médiá:projektMenoPriezvisko.zip|zdrojaky.zip]]
 
Zdrojový kód: [[Médiá:projektMenoPriezvisko.zip|zdrojaky.zip]]
 
  
 
=== Overenie ===
 
=== Overenie ===

Verzia zo dňa a času 12:56, 15. máj 2024

Záverečný projekt predmetu MIPS / LS2024 - Meno Priezvisko


Zadanie

Zostrojte a naprogramujte ovladanie škrtiacej klapky pomocou plynového pedálu.



Vývojová doska Arduino UNO R3

Literatúra:


Analýza a opis riešenia

Opíšte sem čo a ako ste spravili, ak treba, doplňte obrázkami...

RGB LED.

Nezabudnite doplniť schému zapojenia!

Schéma zapojenia LCD displeja.


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.

Aplikácia.

Video:

Kľúčové slová 'Category', ktoré sú na konci stránky nemeňte.