Autorul poate fi contactat la adresa: Login pentru adresa
Lista de piese:
- 7 butoane conectate pe portul A al controllerului
- Microcontroller - ATMEGA324PA
- 1 Buzzer conectat pe portul D al controllerului
Preturi:
1 placa + 1 placa aditionala: 16 LEI
10 butoane: 5 lei
1 buzzer: 4 lei
1 led rosu: 0.5 LEI
Fire legatura: 2 m - 8 LEI
COD:
Definiții note, în hertzi:
float noteFreq[8] = { 261.63, 293.66, 329.63, 349.23, 392.00, 440.00, 493.88, 523.25};
Activez butoanele și rezistența de pull-up
DDRA &= ~ ((1<<PA0) | (1<<PA1) | (1<<PA2) | (1<<PA3) | (1<<PA4) | (1<<PA5) | (1<<PA6) | (1<<PA7)); PORTA |= (1<<PA0) | (1<<PA1) | (1<<PA2) | (1<<PA3) | (1<<PA4) | (1<<PA5) | (1<<PA6) | (1<<PA7);
Inițializez timer-ul:
TCCR1B |= (1 << CS10) | (1 << WGM13) | (1 << WGM12); TCCR1A |= (1 << WGM11) | (1 << COM1B1) | (1 << COM1A1);
Folosesc modul fast pwm cu prag pe icr1 si prescaler 1024.
După verific dacă se apasă vreun buton:
if(!(PINA & (1<<PA0))){ // do action here ... }
Astfel, proiectul în momentul de față doar cântă niște note în funcție de ce butoane sunt apăsate.
Laboratorul 3 de PM.