![По -малко известни функции на Arduino: 9 стъпки По -малко известни функции на Arduino: 9 стъпки](https://i.howwhatproduce.com/images/001/image-68-73-j.webp)
Съдържание:
- Стъпка 1: Захранващо напрежение
- Стъпка 2: Вътрешна температура
- Стъпка 3: Аналогов компаратор (прекъсване)
- Стъпка 4: Брояч
- Стъпка 5: Предварително дефинирани константи
- Стъпка 6: Запазете променлива в RAM чрез нулиране
- Стъпка 7: Достъп до сигнала на часовника
- Стъпка 8: Вътрешна структура на порта на ATmega328P
- Стъпка 9: Вграден (вграден) LED като фотодетектор
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 14:36
![По -малко известни функции на Arduino По -малко известни функции на Arduino](https://i.howwhatproduce.com/images/001/image-68-74-j.webp)
Това е по -скоро списък на не толкова често споменавани функции на обикновено използваните платформи Arduino (например Uno, Nano). Този списък трябва да служи като справка винаги, когато трябва да потърсите тези функции и да разпространите думата.
Погледнете кода, за да видите примери за всички тези функции, тъй като ги използвах в няколко мои проекта тук на инструктаж (например Arduino 1-wire Display (144 знака)). Следващите стъпки обясняват по една функция.
Стъпка 1: Захранващо напрежение
Arduino може да измерва собственото си захранващо напрежение по непряк начин. Чрез измерване на вътрешната референция с захранващото напрежение като референтна горна граница можете да получите съотношението между вътрешното референтно и захранващото напрежение (захранващото напрежение действа като горна граница за аналоговото/ADC отчитане). Тъй като знаете точната стойност на референтното вътрешно напрежение, можете да изчислите захранващото напрежение.
За точни подробности как да направите това, включително примерен код, вижте:
- Тайният волтметър Arduino-Измерете напрежението на батерията:
- Може ли Arduino да измери своя собствен Vin ?:
Стъпка 2: Вътрешна температура
Някои Arduino са оборудвани с вътрешен температурен сензор и следователно могат да измерват вътрешната си температура (полупроводник).
За точни подробности как да направите това, включително примерен код, вижте:
Вътрешен температурен сензор:
Може ли Arduino да измери своя собствен Vin ?:
Стъпка 3: Аналогов компаратор (прекъсване)
Arduino може да настрои аналогов сравнител между изводи A0 и A1. Така единият дава нивото на напрежение, а другият се проверява за пресичане на това напрежение. Прекъсването се повишава в зависимост от това дали пресичането е нарастващ или спадащ ръб (или и двете). След това прекъсването може да бъде уловено от софтуер и да действа съответно.
За точни подробности как да направите това, включително примерен код, вижте:
Прекъсване на аналоговия компаратор:
Стъпка 4: Брояч
Разбира се, AVR имат включени няколко брояча. Обикновено те се използват за настройка на таймер с различни честоти и увеличаване на прекъсванията при нужда. Друга може да бъде много старомодна употреба е да ги използвате просто като броячи без допълнителна магия, просто прочетете стойността, когато имате нужда от нея (анкета). Интересно използване на това може да бъде премахване на бутоните, напр. Посочете например тази публикация: AVR Пример T1 брояч
Стъпка 5: Предварително дефинирани константи
Има някои предварително дефинирани променливи, които могат да се използват за добавяне на информация за версията и компилацията към вашия проект.
За точни подробности как да направите това, включително примерен код, вижте:
Serial.println (_ DATE_); // дата на компилация
Serial.println (_ TIME_); // време за компилация
String stringOne = String (ARDUINO, DEC);
Serial.println (stringOne); // версия на arduino ide
Serial.println (_ ВЕРСИЯ_); // gcc версия
Serial.println (_ FILE_); // файл компилиран
тези кодови фрагменти ще изведат тези данни в серийна конзола.
Стъпка 6: Запазете променлива в RAM чрез нулиране
Добре известно е, че Arduino Uno (ATmega328) има вътрешен EEPROM, който ви позволява да запазвате стойности и настройки по време на изключване и да ги възстановявате при следващото включване. Не толкова известен факт може да е, че всъщност е възможно да се запази стойността по време на нулиране дори в RAM - въпреки това стойностите се губят по време на цикъла на захранване - със синтаксиса:
unsigned long variable_that_is_preserved _attribute_ ((раздел (".noinit")));
Това ви позволява например да преброите броя на RESET-овете и чрез използване на EEPROM също броя на включванията.
За точни подробности как да направите това, включително примерен код, вижте:
- Запазване на променлива в Ram чрез нулиране:
- Библиотека на EEPROM:
Стъпка 7: Достъп до сигнала на часовника
Arduinos и други AVR (като ATtiny) имат вътрешен часовник, който ви позволява да ги стартирате, без да използвате външен кристален осцилатор. Освен това в същото време те също могат да свържат този сигнал към външната страна, като го поставят на щифт (например PB4). Сложната част тук е, че трябва да смените битовете на предпазителите на чиповете, за да активирате тази функция, а промяната на предпазителите винаги носи риска от запушване на чипа.
Трябва да активирате предпазителя CKOUT и най -лесният начин да направите това е като следвате инструкциите за Как да смените битовете на предпазителите на AVR Atmega328p - 8 -битов микроконтролер, използвайки Arduino.
За точни подробности как да направите това, включително примерен код, вижте:
- Настройка на вътрешния осцилатор ATtiny:
- Как да сменим предпазителите на AVR Atmega328p-8-битов микроконтролер с помощта на Arduino:
Стъпка 8: Вътрешна структура на порта на ATmega328P
Познаването на вътрешната структура на портовете на ATmega328P ни позволява да надхвърлим стандартните граници на използване. Вижте раздела за измервател на капацитет за обхват 20 pF до 1000 nF за повече подробности и схема на вътрешната верига.
Простият пример е да използвате бутони с цифрови портове, които не се нуждаят от никакъв резистор, поради използването на вътрешен резистор за издърпване, както е показано от серийния пример за входящо извличане или инструктирания бутон Arduino без резистор.
По -напредналото е използването на тези знания, както е споменато за измервателни кондензатори с размер до 20 pF и освен това без допълнително окабеляване! За да се постигне това представяне, примерът използва вътрешния/входния импеданс, вътрешния издърпващ резистор и разсеяния кондензатор. Сравнете с урока за Arduino CapacitanceMeter, който не може да бъде по -нисък от няколко nF.
Стъпка 9: Вграден (вграден) LED като фотодетектор
Много платки Arduino имат вградени или вградени светодиоди, които могат да се управляват от код, напр. платките Uno или Nano на щифт 13. Като добавим един единствен проводник от този щифт към аналогов входен щифт (например A0), можем също да използваме този светодиод като фотодетектор. Това може да се използва по различни начини като; използвайте за измерване на осветеността на околната среда, използвайте LED като бутон, използвайте LED за двупосочна комуникация (PJON AnalogSampling) и т.н.
Препоръчано:
Квадрокоптери за борба с дронове, известни като истинско изживяване на борба с кучета: 8 стъпки (със снимки)
![Квадрокоптери за борба с дронове, известни като истинско изживяване на борба с кучета: 8 стъпки (със снимки) Квадрокоптери за борба с дронове, известни като истинско изживяване на борба с кучета: 8 стъпки (със снимки)](https://i.howwhatproduce.com/images/005/image-13103-j.webp)
Квадрокоптери за бойни дронове, известни като истинско изживяване на борба с кучета: Добре дошли в моята " ible " #37 Трябва да признаем, че настоящите бойни дронове на пазара са малко объркани. Много е трудно да се разбере кой печели и кой губи. Когато един дрон се спусне, другият го следва (блъска се един в друг
Arduino UNO (създаване на менюта и функции): 4 стъпки
![Arduino UNO (създаване на менюта и функции): 4 стъпки Arduino UNO (създаване на менюта и функции): 4 стъпки](https://i.howwhatproduce.com/images/004/image-9747-10-j.webp)
Arduino UNO (създаване на менюта и функции): В тази инструкция ще изследваме как да създаваме менюта, да четем температура от сензор TC74A0 и да показваме „стойности“(в този случай номера на мобилни телефони) по начин, който е безкраен, но ограничен до arduino е на борда на паметта. Ние ще
Преносим генератор на функции на Arduino: 7 стъпки (със снимки)
![Преносим генератор на функции на Arduino: 7 стъпки (със снимки) Преносим генератор на функции на Arduino: 7 стъпки (със снимки)](https://i.howwhatproduce.com/images/002/image-4650-19-j.webp)
Преносим генератор на функции на Arduino: Генераторът на функции е много полезен инструмент, особено когато обмисляме да тестваме реакцията на нашата верига на определен сигнал. В тази инструкция ще опиша последователността на изграждане на малък, лесен за използване, преносим генератор на функции
Генератор на тонове Arduino без библиотека или серийни функции (с прекъсвания): 10 стъпки
![Генератор на тонове Arduino без библиотека или серийни функции (с прекъсвания): 10 стъпки Генератор на тонове Arduino без библиотека или серийни функции (с прекъсвания): 10 стъпки](https://i.howwhatproduce.com/images/001/image-2689-38-j.webp)
Arduino Tone Generator без библиотека или серийни функции (с прекъсвания): Това обикновено не е нещо, на което обикновено бих инструктирал, предпочитам моята метална конструкция, но тъй като съм студент по електротехника и трябва да взема курс по микроконтролери ( Дизайн на вградени системи), мислех, че ще направя инструкция на един от моите п
Guardian V1.0 --- Надграждане на камера за шпионка на вратата с Arduino (Записване на откриване на движение и функции на токов удар): 5 стъпки
![Guardian V1.0 --- Надграждане на камера за шпионка на вратата с Arduino (Записване на откриване на движение и функции на токов удар): 5 стъпки Guardian V1.0 --- Надграждане на камера за шпионка на вратата с Arduino (Записване на откриване на движение и функции на токов удар): 5 стъпки](https://i.howwhatproduce.com/images/001/image-1694-84-j.webp)
Guardian V1.0 ||| Надграждане на камера за шпионка на вратата с Arduino (Записване с откриване на движение и функции на токов удар): Поръчах камера с шпионка, но когато я използвах, разбрах, че няма функция за автоматично записване (активирана чрез откриване на движение). След това започнах да проучвам как работи. За да запишете видео, трябва 1- да задържите натиснат бутона за захранване почти 2 секунди