Spisu treści:
- Krok 1: Napięcie zasilania
- Krok 2: Temperatura wewnętrzna
- Krok 3: Komparator analogowy (przerwanie)
- Krok 4: Licznik
- Krok 5: Predefiniowane stałe
- Krok 6: Zachowaj zmienną w pamięci RAM przez zresetowanie
- Krok 7: Uzyskaj dostęp do sygnału zegara
- Krok 8: Wewnętrzna struktura portu ATmega328P
- Krok 9: Wbudowana (wbudowana) dioda LED jako fotodetektor
Wideo: Mniej znane funkcje Arduino: 9 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Jest to raczej zestawienie nieczęsto wymienianych cech platform Arduino, które są zazwyczaj używane (np. Uno, Nano). Ta aukcja powinna służyć jako odniesienie, gdy chcesz sprawdzić te funkcje i rozpowszechniać informacje.
Spójrz na kod, aby zobaczyć przykłady wszystkich tych funkcji, ponieważ użyłem ich w kilku moich projektach tutaj na instrukcji (np. Wyświetlacz 1-przewodowy Arduino (144 znaków)). Poniższe kroki wyjaśniają po jednej funkcji.
Krok 1: Napięcie zasilania
Arduino może mierzyć własne napięcie zasilania w sposób pośredni. Mierząc wewnętrzne odniesienie z napięciem zasilania jako górną granicą odniesienia, można uzyskać stosunek między wewnętrznym odniesieniem a napięciem zasilania (napięcie zasilania działa jako górna granica dla odczytu analogowego/ADC). Ponieważ znasz dokładną wartość wewnętrznego napięcia odniesienia, możesz obliczyć napięcie zasilania.
Aby uzyskać szczegółowe informacje, jak to zrobić, w tym przykładowy kod, zobacz:
- Tajny woltomierz Arduino – pomiar napięcia akumulatora:
- Czy Arduino może zmierzyć własnego Vin?:
Krok 2: Temperatura wewnętrzna
Niektóre Arduino są wyposażone w wewnętrzny czujnik temperatury, dzięki czemu mogą mierzyć swoją wewnętrzną (półprzewodnikową) temperaturę.
Aby uzyskać dokładne informacje, jak to zrobić, w tym przykładowy kod, zobacz:
Wewnętrzny czujnik temperatury:
Czy Arduino może zmierzyć własnego Vin?:
Krok 3: Komparator analogowy (przerwanie)
Arduino może skonfigurować komparator analogowy między pinami A0 i A1. Czyli jeden podaje poziom napięcia, a drugi jest sprawdzany pod kątem przekroczenia tego napięcia. Przerwanie zostaje podniesione w zależności od tego, czy przecięcie jest zboczem narastającym, czy opadającym (lub obydwoma). Przerwanie może być następnie przechwycone przez oprogramowanie i odpowiednio wykonane.
Aby uzyskać dokładne informacje, jak to zrobić, w tym przykładowy kod, zobacz:
Przerwanie komparatora analogowego:
Krok 4: Licznik
Oczywiście AVR zawiera kilka liczników. Zwykle są one używane do ustawiania timera o różnych częstotliwościach i podnoszenia przerwań w razie potrzeby. Innym może być bardzo staromodnym zastosowaniem jest użycie ich jako liczników bez dodatkowej magii, po prostu odczytaj wartość, kiedy jej potrzebujesz (sonda). Ciekawym zastosowaniem tego może być odrzucenie przycisków, np. Przywołaj na przykład ten post: AVR Przykład licznika T1
Krok 5: Predefiniowane stałe
Istnieje kilka predefiniowanych zmiennych, których można użyć do dodania informacji o wersji i kompilacji do projektu.
Aby uzyskać szczegółowe informacje, jak to zrobić, w tym przykładowy kod, zobacz:
Serial.println(_DATA_); // data kompilacji
Serial.println(_TIME_); // czas kompilacji
Ciąg Ciąg Jeden = Ciąg (ARDUINO, DEC);
Serial.println(ciągJeden); // wersja arduino ide
Serial.println(_WERSJA_); // wersja gcc
Serial.println(_PLIK_); // plik skompilowany
te fragmenty kodu wyprowadzą te dane do konsoli szeregowej.
Krok 6: Zachowaj zmienną w pamięci RAM przez zresetowanie
Powszechnie wiadomo, że Arduino Uno (ATmega328) ma wewnętrzną pamięć EEPROM, która pozwala zachować wartości i ustawienia podczas wyłączania zasilania i przywrócić je przy następnym włączeniu. Nie tak dobrze znanym faktem może być to, że faktycznie możliwe jest zachowanie wartości podczas resetowania nawet w pamięci RAM - jednak wartości są tracone podczas cyklu zasilania - ze składnią:
unsigned long variable_that_is_preserved _attribute_ ((sekcja (".noinit")));
Pozwala to np. zliczyć liczbę RESETÓW, a przy użyciu EEPROM także liczbę uruchomień.
Aby uzyskać szczegółowe informacje, jak to zrobić, w tym przykładowy kod, zobacz:
- Zachowaj zmienną w pamięci RAM poprzez Reset:
- Biblioteka EEPROM:
Krok 7: Uzyskaj dostęp do sygnału zegara
Arduino i inne AVR (takie jak ATtiny) mają wewnętrzny zegar, dzięki czemu można je uruchomić bez użycia zewnętrznego oscylatora kwarcowego. Ponadto w tym samym czasie są również w stanie podłączyć ten sygnał na zewnątrz, umieszczając go na bolcu (np. PB4). Trudne jest to, że musisz zmienić bity bezpieczników chipów, aby włączyć tę funkcję, a zmiana bitów fuse zawsze wiąże się z ryzykiem zepsucia chipa.
Musisz włączyć bezpiecznik CKOUT, a najprostszym sposobem na to jest postępowanie zgodnie z instrukcją Jak zmienić bity bezpiecznika w AVR Atmega328p - 8-bitowy mikrokontroler za pomocą Arduino.
Aby uzyskać dokładne informacje, jak to zrobić, w tym przykładowy kod, zobacz:
- Tuning wewnętrzny oscylator ATtiny:
- Jak zmienić bity bezpiecznika AVR Atmega328p - 8-bitowy mikrokontroler za pomocą Arduino:
Krok 8: Wewnętrzna struktura portu ATmega328P
Znajomość wewnętrznej struktury portów ATmega328P pozwala nam wyjść poza standardowe ograniczenia użytkowania. Więcej szczegółów i schemat obwodu wewnętrznego można znaleźć w rozdziale o mierniku pojemności dla zakresu od 20 pF do 1000 nF.
Prostym przykładem jest użycie przycisków z portami cyfrowymi, które nie wymagają żadnego rezystora ze względu na użycie wewnętrznego rezystora podciągającego, jak pokazano w przykładzie szeregowym Input Pullup lub instruktażowym przycisku Arduino bez rezystora.
Bardziej zaawansowane jest wykorzystanie tej wiedzy, jak wspomniano, do pomiaru kondensatorów tak małych jak 20 pF, a ponadto bez dodatkowego okablowania! Aby osiągnąć tę wydajność, przykład wykorzystuje impedancję wewnętrzną/wejściową, wewnętrzny rezystor podciągający i kondensator rozproszenia. Porównaj z samouczkiem Arduino CapacitanceMeter, który nie może być niższy niż kilka nF.
Krok 9: Wbudowana (wbudowana) dioda LED jako fotodetektor
Wiele płyt Arduino ma wbudowane lub wbudowane diody LED, którymi można sterować za pomocą kodu, np. płytki Uno lub Nano na pinie 13. Dodając jeden przewód z tego pinu do pinu wejścia analogowego (np. A0) możemy również użyć tej diody LED jako fotodetektora. Może to być używane na wiele różnych sposobów, takich jak; użyj do pomiaru oświetlenia otoczenia, użyj diody LED jako przycisku, użyj diody LED do komunikacji dwukierunkowej (PJON AnalogSampling) itp.
Zalecana:
Dodaj funkcję niestandardową w Arkuszach Google: 5 kroków
Dodaj funkcję niestandardową w Arkuszach Google: Jestem pewien, że w pewnym momencie swojego życia musiałeś używać oprogramowania do arkuszy kalkulacyjnych, takiego jak Microsoft Excel lub Arkusze Google. Są stosunkowo proste i proste w użyciu, ale także bardzo wydajne i łatwo rozszerzalne.Dzisiaj przyjrzymy się Goo
Wyłącz funkcję uśpienia w subwooferze Presonus Temblor T8: 5 kroków
Wyłącz funkcję uśpienia w subwooferze Presonus Temblor T8: zajęło mi około jednego dnia, aby zdać sobie sprawę, że chociaż Temblor T8 jest świetnie brzmiącym subwooferem, nienawidzę jego funkcji automatycznego uśpienia. Budzenie trwa zbyt długo, wyłącza się, gdy słuchasz na cichych poziomach, i za każdym razem wyskakuje jak szalony
Jak dodać funkcje IOT do swoich projektów: 5 kroków
Jak dodać funkcje IOT do swoich projektów: Nie ma nic lepszego niż wykonanie projektu DIY, który zastąpi produkt komercyjny, który uznasz za przydatny. Właściwie jest coś lepszego niż to. Dodanie możliwości IOT do twojego projektu. Jeśli chodzi o automatyzację, początkujący zwykle wariują
Dynaframe - bogata w funkcje ramka do zdjęć/wideo!: 6 kroków
Dynaframe - bogata w funkcje ramka do zdjęć/wideo!: Uwaga: Zdecydowałem się umieścić to w treści remiksu! Proszę, rozważ mnie, jeśli uważasz ten projekt za przyjemny! Hej! Dynaframe to cyfrowa ramka na zdjęcia, która ma się wyróżniać. Przejrzałem dziesiątki wdrożeń, ale
Strażnik V1.0 --- Aktualizacja kamery wizjera do drzwi za pomocą Arduino (funkcje nagrywania z wykrywaniem ruchu i porażenia prądem): 5 kroków
Strażnik V1.0 ||| Aktualizacja kamery wizjera do drzwi za pomocą Arduino (funkcje nagrywania z wykrywaniem ruchu i porażenia prądem): Zamówiłem kamerę wizjerową, ale kiedy jej używam, zdałem sobie sprawę, że nie ma funkcji automatycznego nagrywania (aktywowanej przez wykrywanie ruchu). Potem zacząłem badać, jak to działa. Aby nagrać wideo, należy 1-przytrzymać wciśnięty przycisk zasilania przez prawie 2 sekundy