Indholdsfortegnelse:
- Trin 1: Forsyningsspænding
- Trin 2: Intern temperatur
- Trin 3: Analog komparator (afbrydelse)
- Trin 4: Tæller
- Trin 5: Foruddefinerede konstanter
- Trin 6: Behold variabel i RAM gennem nulstilling
- Trin 7: Få adgang til urets signal
- Trin 8: Portens interne struktur af ATmega328P
- Trin 9: Indbygget (indbygget) LED som fotodetektor
Video: Arduino Mindre kendte funktioner: 9 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Dette er mere en liste over ikke så ofte nævnte funktioner på Arduino -platforme, der typisk bruges (f.eks. Uno, Nano). Denne fortegnelse bør fungere som en reference, når du har brug for at slå disse funktioner op og sprede budskabet.
Se på koden for at se eksempler på alle disse funktioner, da jeg brugte dem i flere af mine projekter her på instruerbare (f.eks. Arduino 1-wire display (144 tegn)). Følgende trin forklarer hver en funktion.
Trin 1: Forsyningsspænding
Arduinoen kan måle sin egen forsyningsspænding på en indirekte måde. Ved at måle den interne reference med forsyningsspændingen som øvre grænsehenvisning kan du få forholdet mellem intern reference og forsyningsspænding (forsyningsspændingen fungerer som øvre grænse for analog/ADC -aflæsningen). Som du kender den nøjagtige værdi af den interne spændingsreference, kan du derefter beregne forsyningsspændingen.
For nøjagtige detaljer om, hvordan du gør dette inklusive eksempelkode, se:
- Hemmeligt Arduino voltmeter-Mål batterispænding:
- Kan Arduino måle sin egen Vin ?:
Trin 2: Intern temperatur
Nogle Arduino er udstyret med en intern temperatursensor og kan derfor måle deres interne (halvleder) temperatur.
For nøjagtige detaljer om, hvordan du gør dette inklusive eksempelkode, se:
Intern temperatursensor:
Kan Arduino måle sin egen Vin ?:
Trin 3: Analog komparator (afbrydelse)
Arduino kan opsætte en analog komparator mellem pin A0 og A1. Så den ene giver spændingsniveauet, og den anden kontrolleres for en krydsning af denne spænding. En afbrydelse hæves afhængigt af om krydset er en stigende eller faldende kant (eller begge dele). Afbrydelsen kan derefter fanges af software og handle i overensstemmelse hermed.
For nøjagtige detaljer om, hvordan du gør dette inklusive eksempelkode, se:
Analog Comparator Interrupt:
Trin 4: Tæller
AVR har selvfølgelig flere tællere inkluderet. Normalt bruges de til at indstille timer for forskellige frekvenser og øge afbrydelser efter behov. En anden kan være meget gammeldags brug er at bruge dem lige som tællere uden yderligere magi, bare læs værdien, når du har brug for det (meningsmåling). En interresant brug af dette kunne være at de-bounce knapper f.eks. Overfør f.eks. Dette indlæg: AVR Eksempel T1 -tæller
Trin 5: Foruddefinerede konstanter
Der er nogle foruddefinerede variabler, der kan bruges til at tilføje version og kompilationsoplysninger til dit projekt.
For nøjagtige detaljer om, hvordan du gør dette inklusive eksempelkode, se:
Serial.println (_ DATE_); // kompilationsdato
Serial.println (_ TIME_); // kompileringstid
String stringOne = String (ARDUINO, DEC);
Serial.println (stringOne); // arduino ide version
Serial.println (_ VERSION_); // gcc version
Serial.println (_ FILE_); // fil udarbejdet
disse kodestykker sender disse data til den serielle konsol.
Trin 6: Behold variabel i RAM gennem nulstilling
Det er velkendt, at Arduino Uno (ATmega328) har intern EEPROM, der giver dig mulighed for at bevare værdier og indstillinger under slukning og gendanne dem ved den næste opstart. Et ikke så kendt faktum kan være, at det faktisk er muligt at bevare værdien under nulstilling, selv i RAM - dog går værdierne tabt under strømcyklus - med syntaksen:
unsigned long variable_that_is_preserved _attribute_ ((section (".noinit")));
Dette giver dig f.eks. Mulighed for at tælle antallet af RESET'er og ved hjælp af EEPROM også antallet af power-ups.
For nøjagtige detaljer om, hvordan du gør dette inklusive eksempelkode, se:
- Behold variabel i Ram gennem nulstilling:
- EEPROM -bibliotek:
Trin 7: Få adgang til urets signal
Arduinos og andre AVR (som ATtiny) har et internt ur, der giver dig mulighed for at køre dem uden at bruge en ekstern krystaloscillator. Samtidig er de også i stand til at forbinde dette signal til ydersiden ved at sætte det på en stift (f.eks. PB4). Den vanskelige del her er, at du er nødt til at ændre chips -sikringsbitene for at aktivere denne funktion, og skift af sikringsbits bærer altid risikoen for at mure chippen.
Du skal aktivere CKOUT -sikringen, og den nemmeste måde at gøre dette på er ved at følge instruktionerne i Sådan ændres sikringsbits i AVR Atmega328p - 8bit mikrokontroller ved hjælp af Arduino.
For nøjagtige detaljer om, hvordan du gør dette inklusive eksempelkode, se:
- Tuning ATtiny intern oscillator:
- Sådan ændres sikringsbits i AVR Atmega328p-8bit mikrokontroller ved hjælp af Arduino:
Trin 8: Portens interne struktur af ATmega328P
At kende havnenes interne struktur i ATmega328P giver os mulighed for at gå ud over de normale anvendelsesgrænser. Overfør afsnittet om kapacitansmåler for område 20 pF til 1000 nF for flere detaljer og en skematisk oversigt over det interne kredsløb.
Det enkle eksempel er at bruge knapper med digitale porte, der ikke har brug for nogen modstand på grund af brugen af intern pull-up-modstand som vist ved Input Pullup Serial-eksempel eller den instruerbare Arduino-knap uden modstand.
Mere avanceret er brugen af denne viden som nævnt til måling af kapacatorer helt ned til 20 pF og desuden uden yderligere ledninger! For at opnå denne ydelse gør eksemplet brug af den interne/inputimpedans, den interne pull-up-modstand og den omstrejfende kondensator. Sammenlign med Arduino CapacitanceMeter Tutorial, som ikke kan gå lavere end et par nF.
Trin 9: Indbygget (indbygget) LED som fotodetektor
Mange Arduino-tavler har indbyggede eller indbyggede lysdioder, der kan styres fra kode, f.eks. Uno- eller Nano -kortene på pin 13. Ved at tilføje en enkelt ledning fra denne pin til en analog input -pin (f.eks. A0) kan vi også bruge denne LED som fotodetektor. Dette kan bruges på en række forskellige måder som; brug til at måle miljøbelysningen, brug LED som knap, brug LED til tovejskommunikation (PJON AnalogSampling) osv.
Anbefalede:
Dyrkning af mere salat på mindre plads eller Dyrkning af salat i rummet, (mere eller mindre) .: 10 trin
Dyrkning af mere salat på mindre plads eller … Dyrkning af salat i rummet, (mere eller mindre) .: Dette er en professionel indsendelse til Growing Beyond Earth, Maker Contest, indsendt via Instructables. Jeg kunne ikke være mere begejstret for at designe til produktion af rumafgrøder og sende min første Instructable. Til at begynde med bad konkurrencen os om at
Arduino UNO (oprettelse af menuer og funktioner): 4 trin
Arduino UNO (oprettelse af menuer og funktioner): I denne instruktive vil vi undersøge, hvordan man opretter menuer, læser temperaturen fra en TC74A0 -sensor og viser "værdier" (i dette tilfælde mobiltelefonnumre) på en måde, der er uendelig, men begrænset til arduinoens hukommelse om bord.Vi vil b
Arduino -tonegenerator uden bibliotek eller serielle funktioner (med afbrydelser): 10 trin
Arduino -tonegenerator uden bibliotek eller serielle funktioner (med afbrydelser): Dette er normalt ikke noget, jeg normalt ville instruere om, jeg foretrækker mit metalarbejde, men da jeg er el -ingeniørstuderende og skal tage en klasse om mikrokontrollere ( Embedded Systems Design), jeg tænkte, at jeg ville lave en instruerbar på en af mine sider
SÅDAN GØR DU EN REPLIKA AF DEN KENDTE ALTOIDS FORM. (OG GENVIND SAMTIDIG): 7 trin
SÅDAN GØR DU EN REPLIKA AF DEN KENDTE ALTOIDS FORM. (OG RECYKLER SAMTIDIG): Hej Denne uforgængelige handler om, hvordan man laver en metalboks af samme størrelse (eller hvilken størrelse man end vil have) af Altoids -blikket. VED DU, HVAD DETTE BETYDER ????
Montering af "Wise Clock 2" (Arduino-baseret vækkeur med masser af ekstra funktioner): 6 trin
Montering af "Wise Clock 2" (Arduino-baseret vækkeur med masser af ekstra funktioner): Denne vejledning viser, hvordan du samler sættet til Wise Clock 2, et open source (hardware og software) projekt. Et komplet Wise Clock 2 -sæt kan købes her. Sammenfattende er dette, hvad Wise Clock 2 kan gøre (med den nuværende open source softwa