Girino - snel Arduino oscilloscoop (10 / 26 stap)

Stap 10: Instellen van de ADC


In de schets, schreef ik een initialisatie functie die reeksen-omhoog alle parameters van de ADC functioneren. Zoals ik de neiging om schoon en becommentarieerde code te schrijven, zal ik net voorbij de functie hier. Wij kan verwijzen naar de vorige stap en naar de opmerkingen voor de betekenis van de registers.

VOID initADC(void)
{
//---------------------------------------------------------------------
ADMUX instellingen
//---------------------------------------------------------------------
Deze bits Selecteer de referentiespanning voor de ADC. Als deze bits
worden gewijzigd tijdens een conversie, de verandering zal niet gaan in feite
totdat deze conversie voltooid is (ADIF in ADCSRA is ingesteld). De
interne spanning referentie opties mogen niet worden gebruikt als een externe
referentie spanning wordt toegepast op de AREF pin.
REFS1 REFS0 referentiespanning
0 0 AREF, interne Vref uitgeschakeld
0 1 AVCC met externe condensator op AREF pin
1 0 voorbehouden
1 1 interne 1.1V referentiespanning met externe
condensator op AREF pin
CBI(ADMUX,REFS1);
SBI(ADMUX,REFS0);
De ADLAR-bit van invloed is op de presentatie van het resultaat van de ADC-conversie
in het Register van de ADC-gegevens. Schrijven naar ADLAR links om de
resultaat. Anders is het resultaat direct aangepast. De ADLAR wijzigen


bits zal van invloed zijn op het ADC Data Register onmiddellijk, ongeacht om het even welk
lopende conversies.
SBI(ADMUX,ADLAR);
De waarde van deze bits selecteert welke analoge ingangen zijn aangesloten op
de ADC. Als deze bits worden gewijzigd tijdens een conversie, de verandering
Ga niet van kracht totdat deze conversie is voltooid (ADIF in
ADCSRA is ingesteld).
ADMUX | = (ADCPIN & 0x07);

//---------------------------------------------------------------------
ADCSRA instellingen
//---------------------------------------------------------------------
Het schrijven van dit stukje aan één maakt de ADC. Door deze te schrijven tot nul, de
ADC is uitgeschakeld. De ADC uitschakelen terwijl een conversie is in
vooruitgang, deze conversie zal beëindigen.
CBI(ADCSRA,ADEN);
In één-conversiemodus, dit stukje te schrijven naar een die start elk
conversie. In de gratis Running modus, dit stukje te schrijven naar een om te beginnen de
eerste conversie. De eerste conversie nadat ADSC is geschreven
Nadat de ADC is ingeschakeld of als ADSC is geschreven op hetzelfde
tijd duurt zoals de ADC is ingeschakeld, 25 ADC klokcycli in plaats van
de normale 13. Deze eerste conversie uitvoert initialisatie van de
ADC. ADSC leest als een zo lang als een conversie in volle gang is.
Als de conversie voltooid is, keert het terug naar nul. Schrijven van nul tot
Deze bit heeft geen effect.
CBI(ADCSRA,ADSC);
Als deze bit naar een geschreven is, is Auto Triggering van de ADC
ingeschakeld. De ADC start een conversie op een positieve rand van de
geselecteerde trigger signaal. De bron van de trigger is ingeschakeld door in te stellen
de ADC Trigger selecteren bits, ADT's in ADCSRB.
SBI(ADCSRA,ADATE);
Als deze bit wordt weggeschreven naar een en de ik-bit in de SREG is ingesteld, de
ADC conversie volledig onderbreken is geactiveerd.
SBI(ADCSRA,Adie);
Deze bits bepalen de factor van de verdeling tussen de systeemklok
frequentie en de input klok naar de ADC.
ADPS2 ADPS1 ADPS0 divisie Factor
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 instellingen
//---------------------------------------------------------------------
Wanneer dit stukje is geschreven logica een en de ADC wordt uitgeschakeld
(ADEN in ADCSRA is nul), de ADC multiplexer selecteert de negatieve
input voor de Analoge Comparator. Wanneer dit stukje logica nul, is geschreven
AIN1 wordt toegepast op de negatieve inbreng van de Analoge Comparator.
CBI(ADCSRB,Acme);
Als ADATE in de ADCSRA wordt geschreven naar een, de waarde van deze bits
Hiermee selecteert u welke bron zal leiden tot een ADC-conversie. Als ADATE is
uitgeschakeld, zal de ADTS2:0 instellingen hebben geen effect. Een conversie zal
worden geactiveerd door de stijgende rand van de geselecteerde Interrupt-vlag. Opmerking
dat overschakelen van een trigger bron die is aan een trigger uitgeschakeld
bron die is ingesteld, zal het genereren van een positieve rand op de trekker
signaal. Als ADEN in ADCSRA is ingesteld, zal dit de start van een conversie.
Overschakelen naar de modus gratis uitgevoerd (ADTS[2:0]=0) zal niet leiden tot een
gebeurtenis, zelfs als de ADC Interrupt-vlag is ingesteld.
ADTS2 ADTS1 ADTS0 Trigger bron
0 0 0 gratis Running-modus
0 0 1 Analoge Comparator
0 1 0 externe Interrupt Request 0
0 1 1 timer/Counter0 wedstrijd A vergelijken
1 0 0 timer/Counter0 overloop
1 0 1 timer/Counter1 wedstrijd B vergelijken
1 1 0 timer/Counter1 overloop
1 1 1 timer/Counter1 gebeurtenis vastleggen
CBI(ADCSRB,ADTS2);
CBI(ADCSRB,ADTS1);
CBI(ADCSRB,ADTS0);

//---------------------------------------------------------------------
DIDR0 instellingen
//---------------------------------------------------------------------
Als deze bit logica een geschreven is, de digitale ingang buffer op de
corresponderende ADC pin is uitgeschakeld. De corresponderende PIN-Register
bits verschijnt altijd als nul als deze bit is ingesteld. Wanneer een analoge
signaal wordt toegepast op de ADC5... 0 pin en de digitale ingang van deze
PIN is niet nodig, moet dit stukje worden geschreven logica te verminderen
Stroomverbruik in de digitale input buffer.
ADC PIN ADC7 en ADC6 hoeft niet digitale input buffers,
en daarom vereisen geen digitale Input uitschakelen bits.
SBI(DIDR0,ADC5D);
SBI(DIDR0,ADC4D);
SBI(DIDR0,ADC3D);
SBI(DIDR0,ADC2D);
SBI(DIDR0,ADC1D);
SBI(DIDR0,ADC0D);
}

Gerelateerde Artikelen

Hoe maak je een goedkope 16 MHz Arduino oscilloscoop met behulp van Excel en uw computerscherm naar Display

Hoe maak je een goedkope 16 MHz Arduino oscilloscoop met behulp van Excel en uw computerscherm naar Display

Vaak zal een elektronica-hobbyist ontwerpen en bouwen iets alleen te vinden dat het de juiste manier hij of zij zich niet gedraagt. Soms is het probleem in dit soort situaties gerelateerd aan een elektrisch signaal, maar dat spul met de snelheid van
Hoe maak je een Arduino oscilloscoop sonde

Hoe maak je een Arduino oscilloscoop sonde

deze instructabe zal u tonen hoe te maken van een arduino oscilloscoop sonde voor deze links, van een poorman oscilloscoop en een multi-kanaal oscilloscoop voor arduino /Stap 1: Materialen en onderdelen Toolssoldeerboutsoldeerhobby boor (hebt u niet
Arduino oscilloscoop jonger dan 5 $ - 3-kanaals

Arduino oscilloscoop jonger dan 5 $ - 3-kanaals

Oscilloscopen worden gebruikt door elektronica-liefhebbers, hobbyisten en het is een van de gemeenschappelijke instrumenten op een werkbank. Maar het kopen van een dure dus uiteindelijk heb ik besloten dat de reden waarom niet kan krijgen te maken me
Arduino oscilloscoop

Arduino oscilloscoop

Een zeer eenvoudige en makkelijk te maken van de arduino PC oscilloscoop.Kenmerken:50K monsters/seconde(eigenlijk het maximaal 110K kan gaan maar het signaal zal worden luidruchtig)Auto trekkerFrequentie counterRedelijk nauwkeurige spanning lezingen
Arduino - oscilloscoop (arme man oscilloscoop)

Arduino - oscilloscoop (arme man oscilloscoop)

Hi guys,een paar dagen geleden vond ik deze code in de github en het is het beste wat die ik tot nu toe gevonden dus ik besloten heb om dit project te verspreiden zo veel als ik kan, voor iedereen die wil dat een goedkope oscilloscoop rond dit is de
Snelle Arduino MIDI Laser Harp

Snelle Arduino MIDI Laser Harp

Hoi!Ik heb een paar Arduino (en meer recentelijk, Olimexino) ingelijst MIDI laser harpen (zie een hier), en ik krijg regelmatig e-mails te vragen voor meer informatie over hoe een te bouwen. Ik zet dit instructable samen om een basiscursus volgen bet
Nokia 5110 Arduino oscilloscoop

Nokia 5110 Arduino oscilloscoop

Een nieuwe video over mijn nieuwe oscilloscoop. Vragen laat ze in de comments.---Downloads---https://github.com/adafruit/Adafruit-PCD8544-Nokia...https://github.com/adafruit/Adafruit-GFX-LibraryDe Arduino schets is gekoppeld aan dit instructable.----
Eenvoudig goedkoop Arduino oscilloscoop

Eenvoudig goedkoop Arduino oscilloscoop

Hallo iedereen!Ik kwam met dit interessante project, als ik beginnen ben te leren verwerken, dus ik dacht dat het zou gaaf zijn om het te delen met u. Hoop dat u zult genieten!OK, gewoon om dingen duidelijk, absoluut dit geen een oscilloscoop profess
Draadloos Arduino oscilloscoop

Draadloos Arduino oscilloscoop

In deze handleiding zal ik uitleggen hoe een Windows 8.1 telefoon, Arduino Uno bestuur en HC-05 Bluetooth-module gebruiken om te bouwen van een draadloze oscilloscoop. De telefoontoepassing heeft de kritieke functies van een oscilloscoop, hoewel de b
Snelle Arduino Hygrometer (vochtigheid Sensor)

Snelle Arduino Hygrometer (vochtigheid Sensor)

Wij zijn geweest having sommige condens en schimmel problemen in ons appartement onlangs moet, denk ik, de luchtvochtigheid. Ons eigendom is relatief nieuw gebouwd en als zodanig heeft zeer goede isolatiewaarde (dubbele beglazing enz.). De bijwerking
81 seconden besparen: snel Arduino Bootload/programma voor de productie van

81 seconden besparen: snel Arduino Bootload/programma voor de productie van

Vereist: AVRISP mkII en een Linux computer (of virtuele machine)Dit Instructable laat zien hoe te automatiseren en versnellen van de installatie van een bootloader en demo programma op een Arduino-compatibel apparaat.De Arduino bootloader en IDE make
OFFscope - off line oscilloscoop (Arduino + SD kaart snel logboekregistratie)

OFFscope - off line oscilloscoop (Arduino + SD kaart snel logboekregistratie)

Dit is geen real time oscilloscoop!Eerst verwerven u signaal door besparing/logging het naar SD-kaart. U bekijkt het verworven signaal op uw PC.Deze off line oscilloscoop is bedoeld voor auto sensor diagnose. 99% van de automotive sensoren werken in
Arduino - meerkanaals oscilloscoop (Poor Man's oscilloscoop)

Arduino - meerkanaals oscilloscoop (Poor Man's oscilloscoop)

ik presenteer software-upgrades voor de Arduino oscilloscoop (Poor Man's oscilloscoop) die het mogelijk maken om te visualiseren van gegevens voor twee of drie tegelijk kanalen. De belangrijkste functies zijn identiek aan de oorspronkelijke oscillosc
Arduino High speed oscilloscoop met PC-interface

Arduino High speed oscilloscoop met PC-interface

Uw Arduino en PC gebruiken als een Snelle geheugenoscilloscoop.De Arduino kunt spanning lezingen met een frequentie van betrouwbaar verzamelen tussen 141 en 153 KiloHertz.1000 kan data worden afgelezen in ongeveer 6.8ms.Overgedragen aan een PC, deze