Stap 2: De specificaties
De Arduino-programma:
Beide versies proeven op analoge poort 1.
.
De gegevens kunnen worden vastgelegd met of zonder een trigger.
De bemonsteringsfrequentie van de is controleerbaar, waardoor verschillende bemonsteringsperioden.
Sommige tekstinformatie wordt verzonden naar de seriële poort en lcd scherm.
Het lcd scherm knoppen bepalen trigger helling, bemonsteringsperiode en bemonstering.
De gegevens van de spanning wordt weergegeven als de bytes in een buffer. (Dit is voor snelheid)
Een programma is nodig om vast te leggen van de ruwe gegevens.
.
1) Oscilloscope.ino
Trigger softwareversie.
Het triggerniveau kan worden opgegeven in mV. Bemonstering begint wanneer de spanning beklimmingen hierboven (of valt hieronder) door meer dan de waarde van de trigger, tussen twee latere bemonsterd lezingen.
De trig niveau is een beste pasvorm, beperkt door de resolutie van de a/d-poort.
De referentie spanning kan worden ingesteld. (Handig als u de regel "5V" vindt is niet op 5V, of u een apparaat waarbij u de verwijzing volledig verschillend is gebruikt.)
.
2) OscilloscopeExt.ino
Hardwareversie trigger.
De trigger is hardware gecontroleerd door digitale poort 2.
Sluit uw invoer kan analoge poort 1 en digitale poort 2.
Het wordt geactiveerd door het instellen van een niet-nul, positief, triggerniveau.
.
Gemeenschappelijke specificaties
Real time oscilloscoop met behulp van interrupts.
Seriële poort, LCD en flash-geheugen ondersteunen.
De ondersteuning van de knop van de LCD. (De Lcd adc poort is opgegeven door de variabele lcdport)
Seriële Monitor ingesteld op 115200 baud.
SDCARD gedetecteerd voor toekomstige ontwikkeling.
Indien nodig, is de volgende hardware getest:
- MicroSD Breakout Board geregeld met logica conversie V2 http://www.hobbytronics.co.uk/microsd-card-regula...
- 4GB Micro SD geheugenkaart http://www.hobbytronics.co.uk/microsd-card-regula...
.
Gegevens worden geschreven naar een 1000 byte buffer, die toen volledig is geschreven op de seriële poort.
Seriële uitvoerindeling:
Nulbyte (handshake)
4 bytes met de geheelwaarde van sampling-frequentie in Hertz milli
1000 bytes aan gegevens
.
Bemonstering kan worden een enkele gebeurtenis of taken repetative (A snel uitvoeren).
In een snelle run zal de arduino wachten voor een seriële reactie van elk teken op 1500 milli-seconden na het uitvoeren van de gegevens. Als een karakter wordt ontvangen (een handshake), de Arduino zal onmiddellijk het verzamelen van meer gegevens. Als 1500 mS nog meer gegevens is geregistreerd, ongeacht.
.
De knoppen op de LCD Keypad schild levert het volgende resultaat:
Selecteer - initieert een nieuw monster (of een snelle run ingeperkt)
Up - positieve rand trigger
Down - negatieve rand trigger
Links - bemonsterd daling periode (verhoogt de Prescalar)
Recht - bemonsterd verhoging periode (afname Prescalar)
Merk op dat het LCD-scherm analoge poort 0 toe werken de knoppen vereist.
Na bemonstering basisinformatie wordt weergegeven op het LCD-scherm.
.
Seriële Input commando's:
'opnieuw' initiëren nieuwe gegevens vastleggen.
'test' in-/ uitschakelen een blokgolf op PM3 plein voor het testen.
'trig' Trigger level set. Als 0 is verzonden is triggering geannuleerd. Niet nul reactieniveaus produceren triggering. Het LCD-scherm knoppen controle of de trigger op een posive of negatieve helling is.
'run' herhaalde monstername - een snelle run. Geen seriële poort tekst worden verzonden tijdens een run- alleen onbewerkte gegevens.
Tijdens een snelle draaien de bemonsteringsperiode en rand selecteren kan worden gewijzigd. Een snelle run is gestopt met behulp van de selectietoets lcd.
.
De PC-Interface:
Capture rauwe com poort oscilloscoop gegevens-van Arduino.
Tekst verzenden naar controle Arduino.
Ontvangen tekst van Arduino.
Instellen van de arduino trig niveau en de frequentie van de steekproef.
Geïnitieerde bemonsterings- en snel wordt uitgevoerd.
Stel referentiespanning "vref" aan de Arduino. Vref verzenden Arduino. Merk op dat alleen de softwareversie oscilloscoop deze informatie gebruikt. (Voor het berekenen van het triggerniveau sofware).
Instellen van de referentiespanning geeft de spanning nauwkeuriger dan het werken met de 5V standaardniveau.
.
Grafiek binnenkomende gegevens tegen de klok.
Beschikbare schalen:
ruwe 0-255
Naar 5V 0V
-2,5 tot + 2.5V
-5 tot + 5 v
-9 naar + 9V
.
Grafiek-tijd-as berekend op basis van ontvangen sampling-frequentie.
Gegevens kunnen één of meerdere keren worden bemonsterd.
.
Tijdens herhaalde monstertrekking:
X as schalen kan worden bevroren om vergelijking posities
De hele grafiek kan worden bevroren.
.
Uitgang lezingen met een gegevensbestand (Zie scopedata.txt)
.
Gegevens berekenen frequentie gebaseerd op -
1) positieve randen rond het gemiddelde van de gegevens maximale en minimale spanning van de gegevens
2) dsp methode gedetailleerd op '
.
Klembord kopiëren van grafiek-, gegevens- en info-scherm.
JPG-afbeeldingsbestand van oscilloscoop scherm.
De uitvoer van de printer van oscilloscoop scherm.
Zoom-optie in de grafiek.
.
Ongewenste wacht instelt op Prullenbak valse opstarten tekens van Arduino.
Time-outinstelling om te stoppen met vastleggen wanneer stopt ontvangen tekens te beantwoorden.
Set seriële baud-rate.
De toepassing sloten plaatsen wanneer vastleggen-
Dit zorgt ervoor dat de interrupts die zou optreden de bemonstering niet kunnen vertragen.
Laatste instellingen opgeslagen.