Arduino hög hastighet oscilloskop med PC-gränssnitt (4 / 7 steg)

Steg 4: Ställa in avbrottet för maskinvaran utlöste version



Denna metod är mycket lik versionen av programvaran.

Utlöser hanteras olika.

Digital Port två måste vara ansluten till analog ingång 1, att detta ska fungera.

I huvudsak om ingen utlöser markeras på adc avbryta aktiveras och data fångas omedelbart. Om utlöser väljs ett avbrott på digital port 2 används för att aktivera avbrott på adc-porten 1.

Digital port 2 kan konfigureras för att läsa analoga signaler och generera ett avbrott på stigande eller sjunkande data kanter. Det är mycket snabbt.

Min avbrott rutin kallas gotinterrupt och som jag använder digital port 2 avbrott-id är 0.

CONST byte ExtInterrupt = 2;

pinMode(ExtInterrupt,INPUT);

attachInterrupt (0, gotinterrupt, RISING);

attachInterrupt (0, gotinterrupt, faller);

.

Flaggan utlöste kontroller om digital port 2 avbrottet börjar på analog port 1 avbryta. När utlöste är falskt avbrottet börjar på adc avbryta när den upptäcker en kant i den analoga ingången.

.

samma som programvaran avbryta koden upp till här...

SBI(ADCSRA,ADEN); Aktivera ADC

sedan...

om (trigger == 0) {

SBI(ADCSRA,ADSC); Starta ADC mätningar på avbrott

StartTime=Micros();

} annat {

tillåta pw2 avbrott att starta adc avbrott

utlöste = false;

}

SEI(); Aktivera avbrott

.

Avbryta koden

1) port 2 avbrott betjänas av gotinterrupt

Detta avbrott aktiveras av en positiv eller negativ kant på port 2.

Det gör ingenting förrän utlöses är falskt.

void gotinterrupt() {
om (! utlöste) {

utlöste = sant;

SBI(ADCSRA,ADSC); Starta ADC mätningar på avbrott

StartTime=Micros(); spela in starttid för intervall beräkning

}

}

2) adc avbryta trafikeras av ISR(ADC_vect)

Variabel bufcount lagrar positionen i bufferten, vars storlek är BUF_SIZE (= 1000)

Data lagras i platser bufa(0) till bufa(999)

När bufferten är full är flaggan writeit sant och adc är inaktiveras. (cbi(ADCSRA,ADEN);)

.

ADC avbrott rutin
Detta är nyckeln till programmet!

ISR(ADC_vect) {

BUFA [bufcount] = ADCH;

bufcount ++; Increment buffert counter

om (bufcount == BUF_SIZE) {

CBI(ADCSRA,ADEN); Inaktivera ADC

EndTime=Micros(); spela in sluttid för intervall beräkning

writeit = sant; flagga att det behövs en skriva

}

}

Se Steg
Relaterade Ämnen

Göra ett oscilloskop med SainSmart Mega2560 med TFT LCD sköld och 3.5 "Cologne beröring skärm

Detta instructable visar dig hur man bygger en bärbar pekskärmOscilloskop för mindre än 40 U$!Oscilloskopet är en av de mest kraftfulla elektroniska instrument somär tillgänglig för elektronik hobby, praktiker och ingenjörer. Det äranvänds främst til...

Arduino Bluetooth Garage dörrkontroll med sensorer och anpassningsbara Android App

Använda en arduino till aktivera reläer för att öppna garageportar och elektriska dörrlås.En anpassningsbar Android App, ansluter till arduino via lösenordsskyddade bluetooth-ihopparningen.En bluetooth hc-05 modul tar emot kommandon från en android-t...

PWM Arduino fläkt hastighet controller

enkelt dubbla kanaler PWM Arduino fan speed controller sköldDu kan hämta pcb ett sch (gjorda med expresspcb) från min hemsida (ladda ner avsnitt): http://www.apcc.tkSteg 1: Del förteckning Del förteckning:-3,5 cm x 6 cm single sided PCB-2st BD139 eff...

Baserade Arduino House värmare Controler med SMS användargränssnitt

projektet innehåller instruktioner och koden för att bygga en uppvärmning controller för ditt hem eller avlägsna land hus, som kan kontrolleras och övervakas av GSM via SMS-kommandon. Jag började att utforma det så vi behövde en pålitlig och Register...

Arduino själv balans registeransvarige med DIGITAL IMU, äntligen!

Vad är det?DIY Segway/balans styrenhet med modern DIGITAL IMU sensor.Programvara för en Arduino som gör det möjligt att läsa positionsdata från en av de nya DIGITAL accelerometer/gyroskop enheterna, bearbetar data med hjälp av Kalman filtrering (rikt...

Digilent ZYBO baserat oscilloskop med LabVIEW

Detta är enkel "oscilloskop" med Zynq - 7000 och NI LabVIEW program. Jag har använt inbyggda 12 - bitars analog till digital omvandlare 1MSPS för att få data från externa generator.För att generera signaler jag har använt DAC produktionen av STM...

Stock Arduino produktionen för dagar med en BeagleBone

Här är en snabb hacka för felsökning av Sakernas Internet projektLåt oss du byggt säga en fin, Internet-ansluten Arduino projekt med fancy webbgränssnitt betjänas av, t ex Ethernet sköld. Efter en eller två dagar den på något sätt slutar fungera och...

Arduino ultraljud avståndsmätare med I²C lcd uppvisning!

Heji detta projekt vill jag Visa och förklara du en rad sensor med ultraljud och en 20 x 04 LCD-skärm. Jag skrev koden för detta projekt själv och lade till massor av kommentarer, så att alla kan förstå det och använda det för andra projekt (kanske e...

Arduino OLED termometer och Hygrometer med DHT11 för nybörjare

Hej! Jag ska visa dig hur man gör en Arduino OLED termometer och hygrometer * med DHT11.OLED vi använder idag är 1.3″ tum i storlek, funktioner 128 × 64 pixlar och använder SPI bussen. På nästa steg hittar du mer nyttig information om OLED tech och d...

Arduino röst / taligenkänning med Geeetech modul [Tutorial]

Hur till: Arduino röst / taligenkänning med Geeetech modul [Tutorial]. Denna video visar dig hur man talar med din Arduino med (billigt) Geeetech röst kontrollmodulen. Du kan sedan använda koden kontrollerar en motor eller göra röststyrda lampor. Det...

Arduino Tweetmas träd * uppdaterad med kod *

I år jag vill inreda mitt hus till jul.Jag har arduino och led strip ws2811; Vad är allt bra!Behöver det har en bra idé att vara originell; Det är med twitter!Jag hörde om cheerlights projektet. Det är en bra idé.Jag ska göra Tweetmas träd !Steg 1: S...

Arduino justerbar termoelement-baserade Controller med relä

jag nyligen skapat en Arduino justerbar Timer styrenhet med relä projekt att styra min veranda gasvärmare millivolt (thermopile). De bilder som används i projektet, liksom bilderna används i detta projekt är samma, eftersom det finns endast en minima...

Kontrollera din Arduino från en PC med en Usb-kabel

om du vill veta hur tou kan styra din Arduino med datorn eller låta din Arduino Visa data på din dator, följer mina steg. För att göra detta behöver du några program för att skapa gränssnitt. Med WD gränssnitt Maker kan du skapa program och exportera...

Geigermätare med Touch-gränssnitt!

Det finns en hel del geigermätare instructables. Skillnaden med detta är att jag ville ge det ett modernt gränssnitt, liknar smart telefon pekskärmar, att någon skulle känna sig bekväm med. Anledningen till detta är att jag vill använda den som ett p...

Hur man gör en billig 16 MHz Arduino oscilloskop med hjälp av Excel och skärmen till Visa

Ofta kommer att en elektronik hobby designa och bygga något bara för att upptäcka att det inte beter sig som han eller hon tänkt. Ibland i dessa situationer är problemet relaterat till en elektrisk signal, men att saker rör sig med ljusets hastighet!...

Kontrollera med en LED med Arduino & potten blinkande hastighet (med video)

Hej vänner,I denna handledning & video, kommer jag visa dig hur man styr blinkande hastighet av en LED använder Arduino Nano & ett variabelt motstånd eller en potentiometer aka potten (kort form av potentiometer).Denna handledning är liknande till...

Hur man drar på ett oscilloskop med Arduino!

Först gå låter över några grunderna. Ett oscilloskop är ett verktyg för att visualisera ändra elektriska signaler.Oscilloskop: svängning (ändra), räckvidd (läser). Tillsammans gör "oscilloskop"!Ett oscilloskop fungerar genom att rita en spänning...

Arduino hög hastighet fotografering

I detta instructable jag kommer att visa dig hur jag gjorde en Arduino kontrollerad hög hastighet fotografering rigg för att kunna ta bilder av flytande stänk. Denna rigg kan också användas att fotografera andra gången känsliga saker utan ändringar (...

Arduino TFT prognos väderstation med ESP8266

Detta projekt bygger på Wunderground väderprognos via Internet.Specifikationer:1. 3 dagar väderprognosen (låg & hög temps, antagligen av nederbörd, skick ikoner)2. aktuella väderförhållanden (nuvarande temp, feelslike temp, fuktighet, tryck)3. aktuel...