Arduino High speed oscilloscoop met PC-interface (4 / 7 stap)

Stap 4: Instellen van de Interrupt voor de hardware geactiveerd versie


Deze methode is zeer vergelijkbaar met de versie van de software.

Triggering wordt anders behandeld.

Digital Port twee moet verbonden zijn met analoge ingang 1, hiervoor voor werkzaamheden.

In wezen als geen triggering is geselecteerd, de adc-interrupt is ingeschakeld en de gegevens direct vastgelegd. Als triggering is geselecteerd een interrupt op digitale poort 2 wordt gebruikt om de interrupt op de adc poort 1.

Digitale poort 2 kan worden geconfigureerd om te lezen van analoge signalen en genereert een interrupt op stijgt of daalt gegevens randen. Het is erg snel.

Mijn interrupt routine heet gotinterrupt en als ik ben met behulp van digitale poort 2 de interrupt-id is 0.

Const byte ExtInterrupt = 2;

pinMode(ExtInterrupt,INPUT);

attachInterrupt (0, gotinterrupt, stijgt);

attachInterrupt (0, gotinterrupt, vallen);

.

De vlag geactiveerd besturingselementen of de digitale poort 2 interrupt de analoge poort 1-interrupt begint. Wanneer geactiveerd is ingesteld op false de interrupt begint de adc-interrupt wanneer het detecteert een rand in de analoge ingang.

.

hetzelfde als de software onderbreken code tot hier...

SBI(ADCSRA,ADEN); inschakelen van ADC

dan...

Als (trigger == 0) {}

SBI(ADCSRA,ADSC); metingen van de ADC start op onderbreken

StartTime=Micros();

} else {}

pw2 onderbreken om te beginnen met adc interrupt toestaan

geactiveerd = false;

}

Sei(); inschakelen interrupts

.

De Interrupt-code

1) de poort 2-interrupt wordt onderhouden door gotinterrupt

Deze interrupt wordt geactiveerd door een positieve of negatieve rand op poort 2.

Het doet niets totdat is ingesteld op false.

ongeldig gotinterrupt() {}
Als (! geactiveerd) {}

geactiveerd = true;

SBI(ADCSRA,ADSC); metingen van de ADC start op onderbreken

StartTime=Micros(); record starttime voor interval berekening

}

}

2) de adc onderbreken wordt onderhouden door ISR(ADC_vect)

Variabele bufcount slaat de positie in de buffer, waarvan de grootte BUF_SIZE is (= 1000)

Gegevens worden opgeslagen in locaties bufa(0) te bufa(999)

Wanneer de buffer vol is vlag writeit true is ingesteld en de adc is uitgeschakeld. (cbi(ADCSRA,ADEN);)

.

ADC Interrupt routine
Dit is de sleutel tot het programma!!

ISR(ADC_vect) {}

bufa [bufcount] = ADCH;

bufcount ++; Increment buffer teller

Als (bufcount == BUF_SIZE) {}

CBI(ADCSRA,ADEN); uitschakelen van ADC

EndTime=Micros(); record eindtijd voor het interval berekening

writeit = true; vlag dat een schrijven nodig is

}

}

Gerelateerde Artikelen

High-Speed fotografie met de Arduino en CHDK

High-Speed fotografie met de Arduino en CHDK

dit project wordt gebruikgemaakt van een Arduino microcontroller en een laser pauze-beam trigger brand via USB externe een Canon camera bewerkt met CHDK (Canon Hack Development Kit) firmware.Directe invloeden zijn de high-speed flitsfotografie geacti
Arduino high speed fotografie

Arduino high speed fotografie

In dit instructable ik zal je laten zien hoe ik een Arduino gecontroleerd High-Speed Fotografie tuig te kunnen nemen van de foto's voor vloeibare splashes gemaakt. Dit tuig kan ook worden gebruikt voor het fotograferen van andere tijd gevoelige dinge
Arduino High Speed Photography Trigger

Arduino High Speed Photography Trigger

[youtube]jsXu4jV2BiI[/youtube]
ARDUINO photogate voor HIGH SPEED fotografie

ARDUINO photogate voor HIGH SPEED fotografie

In de afgelopen paar weken die heb ik het internet voor hoge snelheid foto met behulp van een ARDUINO gezocht, vond dus veel meer dan 90% van de projecten ik gebruikte geluid als de trigger. Als u probeert om een beeld van een ballon knallen die prim
Hoe maak je een Arduino sound synthesizer met MIDI-interface

Hoe maak je een Arduino sound synthesizer met MIDI-interface

Met deze synthesizer kun je Arduino reproduceren van volledig aangepaste golfvormen. Als gevolg van de MIDI-interface, kan het worden aangesloten op alle instrumenten die dergelijke functie en spelen met het gewenste geluid.Stap 1: materialen(In dit
High-Speed Fotografie voor Beginners

High-Speed Fotografie voor Beginners

High-Speed fotografie wordt gebruikt voor het vastleggen van snelle beweging onmiddellijk. In het algemeen, high-speed fotografie is gedaan in een donkere kamer, met speciale apparatuur, zoals een externe flitser en een externe of geluid geactiveerde
Interactieve, licht-Up trommel tafel met aangepaste Interface

Interactieve, licht-Up trommel tafel met aangepaste Interface

Dit project was een geschenk voor mijn broer (drummer), wie heeft besloten een kick drum omzetten in een tabel voor zijn nieuwe appartement. Mij installateur sommige RGB LED's aan de binnenkant en een interface naar de controle van het licht op twee
Digilent ZYBO gebaseerd oscilloscoop met LabVIEW

Digilent ZYBO gebaseerd oscilloscoop met LabVIEW

Dit is eenvoudige "oscilloscoop" met behulp van Zynq - 7000 en NI LabVIEW programma. Ik heb ingebouwde 12 - bit, 1MSPS analoog naar digitaal converter gebruikt om gegevens uit externe generator.Voor het genereren van de signalen die ik heb gebru
Geiger Counter met Touch-Interface!

Geiger Counter met Touch-Interface!

Er zijn nogal wat geigerteller instructables. Het verschil met deze is dat ik wilde het een moderne interface, vergelijkbaar met slimme telefoon aanraakschermen geven, dat iemand comfortabel voelen zou met. De reden hiervoor is dat ik wil gebruiken a
Controle uw Arduino vanaf een PC met een Usb-kabel

Controle uw Arduino vanaf een PC met een Usb-kabel

als u weten hoe tou kunt bepalen van je Arduino met uw PC of laat je Arduino Toon gegevens op uw PC wilt, volg mijn stappen. Om dit te doen zal u sommige software voor het maken van interfaces. Met WD Interface Maker kunt u toepassingen maken en expo
Arduino robotarm en monitoring met verwerking

Arduino robotarm en monitoring met verwerking

de robotarm pakt een object nadat wordt gedetecteerd met behulp van de bewegingsmelder en vervolgens op een specifieke locatie verplaatst.lijst van onderdelen:1.3 servo 's2. passieve infrarood bewegingsmelder: http://www.sparkfun.com/products/86303.
Arduino zelf evenwicht Controller met behulp van digitale IMU, eindelijk!

Arduino zelf evenwicht Controller met behulp van digitale IMU, eindelijk!

Wat is het?DIY Segway/balans controller met moderne digitale IMU sensor.Software voor een Arduino waarmee het standpunt om gegevens te lezen van een van de nieuwere digitale accelerometer/gyroscoop eenheden, processen, de gegevens met behulp van Kalm
Oscilloscoop met hun handen

Oscilloscoop met hun handen

Hallo. Onlangs begon zijn studie elektronica. Er was behoefte aan een instrumentatie. Aangezien ik heb het monteren van audio versterkers, kostte het een oscilloscoop. Maar de kosten van een goede machine het is bedroevend. Ik heb besloten dat ik de
Arduino DS3231 Real timerklok met kleur TFT

Arduino DS3231 Real timerklok met kleur TFT

Het bouwen van een real timerklok met een kleuren TFT display is uiterst eenvoudig met behulp van de Arduino. Het display toont de tijd, de datum, de huidige temperatuur langs de MAX en MIN temperatuur die het heeft gemeten. Laten we bouwen het!Stap