Spelen met een Arduino audio geluidsbestanden (wav) (8 / 9 stap)

Stap 8: Onderbreken, onderbreken...


We gebruiken de frequentie informatie wilt maken van een programma-interrupt op, of nabij, de vereiste frequentie.

De interrupt kan niet altijd worden ingesteld precies, maar wel voldoende. De frequentie van het bestand leest wordt doorgegeven aan de subroutine setintrupt.

VOID setintrupt(float freq) {}
zweven bitval = 8; 8 voor 8 bits timers 0 en 2, 1024 voor timer 1 byte

setocroa=(16000000/(freq*bitval)) - 0,5;

De waarde van de setocroa vereist een aftrekken van -1. Echter toe te voegen 0,5 afgerond op de dichtstbijzijnde 0,5

De resolutie van de timer is beperkt

Uiteindelijk bepaald door de omvang van bitval

cli(); interrupts uitschakelen
set timer2 interrupt

TCCR2A = 0; hele TCCR2A register ingesteld op 0

TCCR2B = 0; hetzelfde voor TCCR2B

TCNT2 = 0; initialiseren van de waarde van de teller op 0

set vergelijk wedstrijd registreren voor stappen van de frequentie (hz)

OCR2A = setocroa; = (16 * 10 ^ 6) / (frequentie * 8) - 1 (moet < 256)

CTC-modus inschakelen

TCCR2A | = (1 << WGM21); CS21 bit ingesteld voor 8 prescaler

TCCR2B | = (1 << CS21); inschakelen van de timer vergelijk interrupt

TIMSK2 | = (1 << OCIE2A); Dit werkt, zoals de volgende regel

SBI(TIMSK2,OCIE2A); interrupt timer 2 inschakelen

Sei(); inschakelen interrupts

.

Kritische lezers zullen hebben opgemerkt sbi(TIMSK2,OCIE2A)

Ik setup een paar (verworven) internetfuncties bij instellen en het opschonen van register bits:

Definieert voor het ontruimen van register bits
#ifndef cbi

#define cbi (sfr, bit) (_SFR_BYTE(sfr) & ~_BV(bit)) =

#endif

Definieert voor de beetjes van het register van de instelling

#ifndef sbi

#define sbi (sfr, bit) (_SFR_BYTE(sfr) | = _BV(bit))

#endif

Deze functies bieden een gemakkelijk gesprek naar instellen of wissen van de interrupt.

.

Dus de interrupt wordt uitgevoerd, wat kunnen we maken het doen?

Gerelateerde Artikelen

Een spelletje spelen met een kale Arduino

Een spelletje spelen met een kale Arduino

"Push-It"Interactieve spel met behulp van een kale Arduino board, geen externe onderdelen of bedrading nodig.Push-It heeft twee doelen.Te schets snel tonen/Controleer je Arduino board werkt en dat u setup goed voor het downloaden van een nieuwe
Knoppen toevoegen aan uw X52-Pro-joystick met een Arduino Micro

Knoppen toevoegen aan uw X52-Pro-joystick met een Arduino Micro

Ik heb een Saitek X52-Pro HOTAS setup die ik gebruik voor Elite: gevaarlijk. Het is een fantastische joystick maar het kon doen met slechts een paar meer knoppen. Met een Arduino Micro kunt u uitbreiden deze (of enige andere) joystick voor elk spel d
Controle LED's met een Arduino van een C# programma

Controle LED's met een Arduino van een C# programma

heb je ooit wilde om te controleren enkele LED's met je Arduino vanuit een programma dat u hebt geschreven? Nou ben ik hier om u te helpen met dat.. Dit is mijn eerste ' kunnen dus please help me uit als ik langs de weg omhoog knoeien. En voel je vri
Programmering Arduino met een Arduino

Programmering Arduino met een Arduino

Dit is mijn eerste Instructable. In dit Instructable ga ik u tonen hoe te programmeren van een Arduino met een Arduino. Er zijn geen stuurprogramma's nodig! Dit Instructable is ook handig voor het uploaden van schetsen aan de Chinese ArduinoStap 1: D
Hoe te meten van de temperatuur zeer nauwkeurig met een Arduino en een TSYS01 Temperatuur Sensor Board.

Hoe te meten van de temperatuur zeer nauwkeurig met een Arduino en een TSYS01 Temperatuur Sensor Board.

Tijdens zijn studie in de Universiteit werden we uitgedaagd als onderdeel van een cursus werken in het ontwerpen van een doos met zeer nauwkeurige temperatuurregeling. Mocht het project te doen slagen, moesten meerdere vakken worden gebouwd en gebrui
Beheersing van een stappenmotor met een Arduino

Beheersing van een stappenmotor met een Arduino

Dit leerprogramma zal u tonen hoe te bedienen van een stappenmotor die werd gered van een oude printer met een Arduino.Stap 1: Wat is een Stepper Motor? Een stappenmotor bestaat uit twee delen, een rotor en een stator. De rotor is het deel van de mot
Lage hoogte milieubewaking met een Arduino gebaseerd weer Instrument en Remote Sensing Platform van Aeropod

Lage hoogte milieubewaking met een Arduino gebaseerd weer Instrument en Remote Sensing Platform van Aeropod

ProjectoverzichtStudenten op New Lothrop High School in Michigan hebben samengewerkt om te bouwen van een lage hoogte remote sensing platform genaamd een "Aeropod" en het uitgerust met een "Arduino" gebaseerd weer instrument om sfeervo
ARD-e: de robot met een Arduino als een brein

ARD-e: de robot met een Arduino als een brein

het maken van een opensource gecontroleerd Arduino robot voor onder $100.Hopelijk na het lezen van dit instructable u zal zitten kundig Neem uw eerste stap in de robotica. ARD-e kost ongeveer 90 dollar tot $130 afhankelijk van hoeveel vrije elektroni
Beheersing van een MIDI-CC in Ableton Live met een Arduino Uno

Beheersing van een MIDI-CC in Ableton Live met een Arduino Uno

In dit instructable zullen we gebruiken een potentiometer op een Arduino Uno om controle van een MIDI-CC in Ableton Live. Een MIDI CC staat voor continue Controller, dat wil zeggen een getal in het bereik van 0 tot 127 inclusieve te moduleren iets me
Controle van EL draad met een Arduino

Controle van EL draad met een Arduino

In dit instructable ik zal u tonen hoe u kunt besturen van EL draad met een Arduino.Wat u zult moeten:EL Wire en omvormer - adviseer ik http://ez-el.com/ez-el-wire/10ft-ez-el-wire-3v-inverter-kit/Arduino of een micro-controller die een relay kunt bep
Controle van een Camera met een Arduino en RS232 Shield

Controle van een Camera met een Arduino en RS232 Shield

Dit leerprogramma zal u tonen hoe u kunt controleren vele verschillende aspecten van de werking van een camera's met een Arduino. Deze bewerking kan worden de pan en tilt camera, zoom en focus van de lens, en RGB kenmerken. De Arduino zal gebruik mak
Uitvoeren van een stappenmotor met een Arduino

Uitvoeren van een stappenmotor met een Arduino

Hi Guys,Dit artikel over How to Run een Stepper Motor met een Arduino. Deze dagen stappenmotor in vele elektronikaapparaat zoals, Camera autofocus systeem gebruikt, CD-ROM voor lens beweging, 3D-printer en CNCs. de stappenmotor is beschikbaar in vele
Bijhouden van uw auto met een Arduino gebaseerde Lojack

Bijhouden van uw auto met een Arduino gebaseerde Lojack

De autodiefstal van de is een echte slepen! Verhoog uw kansen van het herstellen van uw auto door het installeren van deze eenvoudige Arduino gebaseerde tracker in uw auto.Dit project is vrij eenvoudig, en zou een goed project voor een nieuwe Arduino
Hoe u kunt besturen een RGB LED met een Arduino

Hoe u kunt besturen een RGB LED met een Arduino

In dit Instructable, zal ik tonen u hoe u kunt besturen een RGB LED met een Arduino.Ter voltooiing van dit project, hebt u het volgende nodig:1 x Arduino (ik ben met behulp van de Arduino Uno R3)1 x RGB LED3 x 150-220 ohm weerstanden4 x Jumper draden