Trådlös Arduino oscilloskop (4 / 5 steg)

Steg 4: Programmera Arduino

För att få korrekt prover, används timer avbrotten på Arduino så här programstruktur kan se lite annorlunda från andra Arduino program du har arbetat med. Detta Instructable har mycket mer information om Arduino timers, om du är intresserad:

Koden kan laddas ner från GitHub (https://github.com/MoreCoffee12/SerialScope/tree/m...), zip-filen bifogas detta steg eller skrivit i underifrån.

Firmware till fånga 2-kanaler för data och skicka ut via BlueTooth.
Detta genomförande syftar till att tillhandahålla data till Windows Phone 8
Ansökan
//
Programvara distribueras under MIT License, se ArduinoFirmware_License.txt
för mer information.

Detta bibliotek innehåller en ramkonstruktion
för data.
#include < minsegbus.h >
MinSegBus mbus;

SoftwareSerial biblioteket används till att ge
data till Bluetooth-modulen.
#include < SoftwareSerial.h >
SoftwareSerial BTSerial(10, 11); RX | TX

#define maxbuffer 0x0400
#define ADCChannels 0x0002

lagring variabler
booleska toggle0 = 0;

Definiera ADC
int analogPinCh1 = 0;
int analogPinCh2 = 1;
bool bOutput;

Buffertar
osignerad kort iUnsignedShortArray [ADCChannels * 2];
unsigned char cBuff [maxbuffer];

MinSegBus vaiiables
unsigned char iAddress;
osignerad korta iUnsignedShort;
unsigned int iBytesReturned;
unsigned int iErrorCount;
unsigned int iIdx;

void setup()
{
Installationsprogrammet för seriell port
Serial.BEGIN(115200);
BTSerial.begin(115200);

Definitioner för MinSegBus
iAddress = 0x000;

Skvallra berättelse pins, används för att bekräfta timing
pinMode (9, OUTPUT);

Få två prover innan du skickar ramen
bOutput = false;

Timer inställning. Börja genom att inaktivera avbrotten
Referens:

CLI();

Timer kontroll register
TCCR0A = 0; Satt hela TCCR0A register till 0
TCCR0B = 0; Samma för TCCR0B
Set jämför match register för 625Hz steg
OCR0A = 99. = (16 * 10 ^ 6) / (500 * 256) - 1 (måste vara < 256)
Aktivera CTC läge
TCCR0A | = (1 << WGM01);
Ange CS01 och CS00 bitar för 256 prescaler
TCCR0B | = (1 << CS02);
Aktivera timern jämföra avbrott
TIMSK0 | = (1 << OCIE0A);

Aktivera avbrott
SEI();
}

Allt arbete sker i timer avbrottstjänstens rutin (ISR)
void loop()
{
hemkomst.
}

Timer0 avbryta 1kHz. Detta också växlar pin 31
som en metod att veriy provtagningsfrekvensen.
ISR(TIMER0_COMPA_vect) {

om (toggle0)
{
digitalWrite(9,HIGH);
toggle0 = 0;
}
annat
{
digitalWrite(9,LOW);
toggle0 = 1;
}

om (bOutput)
{
iUnsignedShortArray [2] = analogRead(analogPinCh1);
iUnsignedShortArray [3] = analogRead(analogPinCh2);
iBytesReturned = 0;
iAddress ++;
mbus. ToByteArray (iAddress, iUnsignedShortArray, ADCChannels * 2, maxbuffer, & cBuff [0], och iBytesReturned);
bOutput = false;
}
annat
{
iUnsignedShortArray [0] = analogRead(analogPinCh1);
iUnsignedShortArray [1] = analogRead(analogPinCh2);
bOutput = sant;
för (iIdx = 0; iIdx < iBytesReturned; iIdx ++)
{
Avkommentera raden att skriva till den seriella porten. Användbara
endast för felsökning
Serial.write(cBuff[iIdx]);
BTSerial.write(cBuff[iIdx]);
}
}

}

Se Steg
Relaterade Ämnen

Arduino oscilloskop Under 5 $ - 3 Channel

Oscilloskop används av elektronik entusiaster, hobby och det är en av de gemensamma verktyg på en arbetsbänk. Men köper en kan få dyra så till slut bestämde jag mig att varför inte göra en med en arduino. Så detta grundläggande projekt kommer att hjä...

Girino - snabb Arduino oscilloskop

jag är en fysiker och den trevligaste delen av arbetet på detta område är att jag får att bygga mitt eget instrument. Med detta sätt att tänka, jag bestämde mig att bygga en homebrew Arduino oscilloskop. Detta instructable skrevs med syfte att underv...

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!...

Hur man gör en Arduino oscilloskop probe

denna instructabe kommer att visa dig hur man gör en arduino oscilloskop sond för dessa länkar, en poorman oscilloskop och en multi-kanal oscilloskop för arduino /Steg 1: Material och komponenter Verktyglödkolvlödahobby borr (om du inte har denna anv...

Nokia 5110 Arduino oscilloskop

En ny video om min nya oscilloskop. Några frågor lämna dem i kommentarerna.---Nedladdningar---https://github.com/adafruit/Adafruit-PCD8544-Nokia...https://github.com/adafruit/Adafruit-gfx-LibraryArduino skiss är kopplad till detta instructable.------...

Arduino - oscilloskop (fattig mans oscilloskop)

Hi guys,för några dagar sedan jag hittade denna kod i github och det är det bästa jag hittat hittills, så jag har beslutat att sprida detta projekt som jag kan, för alla som vill ha ett billigt oscilloskop runt detta är det bästa sättet! Låt oss börj...

Enkla billiga Arduino oscilloskop

Hej alla!Jag kom upp med detta intressanta projekt, som jag börjar lära sig bearbetning, så jag tänkte det skulle vara häftigt att dela den med dig. Hoppas du gillar det!OK, bara för att rensa, är detta inte en professionell, god kvalitet oscilloskop...

Arduino oscilloskop

En mycket grundläggande och lätt att göra arduino PC oscilloskop.Funktioner:50K prover/sekund(faktiskt det kan gå upp till 110K men signalen blir högljudd)Automatisk utlösareFrequency counterNågorlunda korrekt spänning avläsningar (beroende på riktig...

OFFscope - offline oscilloskop (Arduino + SD kort snabb avverkning)

Detta är inte realtid oscilloskop!Först skaffa du signal genom att spara/logga det till SD-kort. Sedan granska du förvärvade signalen på din PC.Denna oFFline oscilloskop är avsedd för fordonsindustrin sensor diagnostik. 99% av automotive sensorer fun...

Arduino hög hastighet oscilloskop med PC-gränssnitt

Använd din Arduino och PC som en Snabb lagring oscilloskop.Arduinoen kan på ett tillförlitligt sätt samla spänning avläsningar med en frekvens mellan 141 och 153 KiloHertz.1000 data avläsningar kan tas i runt 6.8ms.Överfört kapitalinlösenfond till en...

Arduino Audio Input

Skicka ljud i din Arduino. Detta Instructable visar dig hur du förbereder ljud så att den kan provtas och bearbetas av en Arduino att göra ljud lyhörd projekt och ljudeffekter. (Denna artikel är en följeslagare till en annan Instructable jag har skri...

Arduino (Mega) ljudinspelning

Spela in ljud till ditt Audino Mega SD kort.Ljudfilen kan spelas upp på en vanlig audio ansökan eller analyseras byte för byte.Detta Instructable visar du hur ljudingång kan vara upprepade gånger lagt till 512 byte buffert och sedan överförs till ett...

Bärbar prototyping labb med oscilloskop och arduino

Hej alla tillsammans är jag tillbaka, med ett nytt projekt. Jag var tyst upptagen med min underbara nyfödda dotter (bara 7 veckor gammal) när jag börjar skrev detta det är 00:00 i Tyskland och min dotter äntligen sover och jag hittade lite tid att pr...

Arduino - förbättrad Poor mans oscilloskop

detta Instructable fortsätter det arbete som presenteras här. Det gav ett snabbt och enkelt sätt att förvandla din Arduino till ett oscilloskop, men jag fann att användbarhet saknades. Jag förnyade programvaran i morse för att möjliggöra för mycket b...

Arduino - Multi-Channel oscilloskop (Poor mans oscilloskop)

jag presenterar uppgraderingar för Arduino oscilloskopet (Poor mans oscilloskop) som tillåter för att visualisera data två eller tre kanaler samtidigt. Huvuddragen är identiska med det ursprungliga oscilloskopet med undantag av några rader som jag la...

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...

Cwik klocka v1.0 - An Arduino binär klocka

ÖversiktDetta är en guide till att bygga en Arduino-driv klocka som använder lysdioder för att Visa 24-timmarsformat (timmar och minuter) som binära siffror, en analog mätare att Visa sekunderna, en switch för att växla mellan tidsvisning och tidsins...

Logger Shield: Datalogging för Arduino

Data logga sköldHär är en händig Arduino shield: vi har haft en hel del människor som söker en dedikerad och väldesignade dataloggning sköld. Vi arbetat hårt för att iscensätta en billig men väl rundad design. Det är inte bara lätt att montera och an...

Arduino lasershow med Full XY kontroll

uppdatering! Se steg 32 ta reda på hur du använder detta projekt med en grön laser! Också - kassan den LaserTweet Instructable att göra detta projekt Visa data från Twitter:Detta projekt använder en Arduino och några billiga högtalare att skapa en ri...