Girino - snabb Arduino oscilloskop (10 / 26 steg)

Steg 10: Konfigurera ADC



i skissen, skrev jag en initiering funktion som ställer upp alla parametrar för att ADC funktion. Som jag brukar skriva ren och kommenterade kod, kommer jag precis förbi funktionen här. Vi kan hänvisa till föregående steg och på kommentarer för menande av registren.

void initADC(void)
{
//---------------------------------------------------------------------
ADMUX inställningar
//---------------------------------------------------------------------
Dessa bitar Välj spänning referensen för att ADC. Om dessa bitar
ändras under en konvertering, förändringen kommer inte att gå i kraft
tills konverteringen är klar (ADIF i ADCSRA är inställd). Den
inre spänning referens alternativ kan inte användas om en extern
referensspänningen som används till AREF stift.
REFS1 REFS0 spänning referens
0 0 AREF, inre Vref avstängd
0 1 AVCC med extern kondensator på AREF pin
1 0 reserverade
1 1 inre 1.1v spänning referens med externa
kondensator på AREF pin
CBI(ADMUX,REFS1);
SBI(ADMUX,REFS0);
ADLAR lite påverkar presentationen av ADC konvertering resultatet
i ADC Data registret. Skriva en till ADLAR vänster justera den
resultatet. Annars kan justeras resultatet rätt. Ändra de ADLAR
bit kommer att påverka ADC Data registrera omedelbart, oberoende av någon
pågående omvandlingar.
SBI(ADMUX,ADLAR);
Värdet av dessa bitar väljer vilka analoga ingångar är anslutna till
ADC. Om dessa bitar ändras under en konvertering, förändringen
kommer inte att gå i kraft tills konverteringen är klar (ADIF i
ADCSRA är inställd).
ADMUX | = (ADCPIN & 0x07);

//---------------------------------------------------------------------
ADCSRA inställningar
//---------------------------------------------------------------------
Skriva denna bit till en möjliggör ADC. Genom att skriva det till noll, det
ADC är avstängd. Stänga ADC av medan en omvandling är i
framsteg, kommer att avsluta denna omvandling.
CBI(ADCSRA,ADEN);
I enda konvertering läge, skriva här lite till en för att starta varje
omvandling. I Free Running-läge, skriv här lite till en för att starta den
första konvertering. Den första konverteringen efter ADSC har skrivits
efter ADC har aktiverats, eller om ADSC är skriven på samma
tid att som ADC är aktiverad, ta 25 ADC klockcykler i stället för
den normala 13. Denna första konvertering utför initieringen av den
ADC. ADSC kommer att läsa som en så länge en konvertering pågår.
När konverteringen är klar, returneras noll. Skriver noll till
detta stycke har ingen effekt.
CBI(ADCSRA,ADSC);
När denna bit är skriven till en är automatisk utlösning av ADC
aktiverad. ADC startar en omvandling på en positiv kanten av den
valda utlösa signalen. Den utlösande källan markeras genom att ange
ADC Trigger Välj bitar, ADTS i ADCSRB.
SBI(ADCSRA,ADATE);
När denna bit är skriven till en och jag-bit i SREG ställs in, den
ADC konvertering komplett avbryta aktiveras.
SBI(ADCSRA,Adie);
Dessa bitar Bestäm division faktorn mellan systemklockan
frekvens och input klockan för att ADC.
ADPS2 ADPS1 ADPS0 Division faktor
0 0 0 2
0 0 1 2
0 1 0 4
0 1 1 8
1 0 0 16
1 0 1 32
1 1 0 64
1 1 1 128
SBI(ADCSRA,ADPS2);
SBI(ADCSRA,ADPS1);
SBI(ADCSRA,ADPS0);

//---------------------------------------------------------------------
ADCSRB inställningar
//---------------------------------------------------------------------
När denna bit skrivs logik en och ADC är avstängd
(ADEN i ADCSRA är noll), ADC multiplexer väljer negativa
ingång till den analoga motsvarigheten. När denna bit skrivs logik noll,
AIN1 används till negativa ingången på den analoga motsvarigheten.
CBI(ADCSRB,Acme);
Om ADATE i ADCSRA skrivs till en, värdet av dessa bitar
väljer vilken källa kommer att utlösa en ADC konvertering. Om ADATE är
avmarkerad har ADTS2:0 inställningarna ingen effekt. En konvertering kommer att
utlösas av den valda avbryta flaggans. Obs
att byta från en utlösare källa som rensas till en utlösare
källa som är inställd, kommer att generera en positiv kant på avtryckaren
signal. Om ADEN i ADCSRA är, startar en konvertering.
Byta till Free Running-läge (ADTS[2:0]=0) inte kommer att orsaka en
utlösa händelsen, även om ADC avbryta flaggan är inställd.
ADTS2 ADTS1 ADTS0 utlösande källan
0 0 0 free Running läge
0 0 1 analog komparator
0 1 0 yttre mellanjobb begära 0
0 1 1 timer/Counter0 jämför Match A
1 0 0 timer/Counter0 Overflow
1 0 1 timer/Counter1 jämför Match B
1 1 0 timer/Counter1 Overflow
1 1 1 timer/Counter1 fånga händelsen
CBI(ADCSRB,ADTS2);
CBI(ADCSRB,ADTS1);
CBI(ADCSRB,ADTS0);

//---------------------------------------------------------------------
DIDR0 inställningar
//---------------------------------------------------------------------
När denna bit skrivs logik en, digitalt ingången buffert på den
motsvarande ADC PIN-koden är inaktiverad. Det motsvarande stift registret
bitars kommer alltid läsa som noll när denna bit är inställd. När en analog
signalen används för ADC5... 0 stift och den digitala ingången från detta
PIN-koden inte behövs, bör denna bit skrivas logik att minska
Effektförbrukning i digital indatabufferten.
Observera att ADC stift ADC7 och ADC6 inte har digital input buffertar,
och därför inte kräver Digital Input inaktivera bitar.
SBI(DIDR0,ADC5D);
SBI(DIDR0,ADC4D);
SBI(DIDR0,ADC3D);
SBI(DIDR0,ADC2D);
SBI(DIDR0,ADC1D);
SBI(DIDR0,ADC0D);
}

Se Steg
Relaterade Ämnen

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

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

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

Trådlös Arduino oscilloskop

I denna guide kommer jag förklara hur du använder en Windows 8.1 telefon, Arduino Uno styrelsen och HC-05 Bluetooth-modulen för att bygga ett trådlöst oscilloskop. Telefon ansökan har kritiska funktioner av ett oscilloskop, även om bandbredden är en...

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

Snabb Arduino MIDI Laser harpa

Hej du!Jag har skapat några Arduino (och mer nyligen, Olimexino) inramade MIDI laser harpor (se en här), och jag får ofta mail ber för mer information om hur man bygger en. Jag sätter detta instructable tillsammans för att ge en grundläggande introdu...

Spara 81 sekunder: snabb Arduino Bootload/Program för produktion

Kräver: AVRISP mkII och en Linux dator (eller virtuell dator)Detta Instructable visar hur till automatisera och fart upp installationen av en bootloader och demo program på en Arduino-kompatibel enhet.Arduino bootloader och IDE gör det otroligt enkel...

Snabb Arduino Hygrometer (Fuktsensor)

Vi har haft några kondens och mögel frågor i vår lägenhet nyligen tack vare, tror jag, luftfuktigheten. Vår egendom är relativt nybyggt och, som sådan, har mycket god isoleringsförmåga (tvåglasfönster etc.). Bieffekt av detta är att det finns mycket...

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

RC kontroll och Arduino: A färdiga arbeten

i detta instructable jag kommer att ta dig med på min resa för att lära sig lägga till RC kontroll med en Arduino mikrokontroller. Till skillnad från andra Instructables eller Bloggar, kommer att jag innehålla all information jag kan även om det inte...

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

Arduino kommandoradsverktyget "MiniPirate"

Detta kommandoradsverktyg kan "Snabb" Arduino prototyper utan sammanställning. Läst analoga värden, dis- / aktivera portar och även I2C register manipulationer är klar på några sekunder i stället för minuter. Jag kommer visar dig hur du ställer...

Arduino cirkulär Cylon!

Detta är en snabb arduino projekt som är bra för nybörjare. Njut! Det finns en video på det sista steget!Steg 1: Vad du behöver Att bygga detta projekt behöver du:10 lysdioder, valfri färg kommer att göra.Vissa tråd, jag använde en bandkabel som jag...

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

LED Cube 8 x 8 x 8

skapa din egen 8 x 8 x 8 LED Cube 3-dimensionell display!Vi anser detta Instructable är den mest omfattande steg för steg guiden att bygga en 8 x 8 x 8 LED Cube någonsin publicerats på intertubes. Det kommer att lära dig allt från teorin om operation...