Оглавление:
- Шаг 1: напряжение питания
- Шаг 2: внутренняя температура
- Шаг 3: Аналоговый компаратор (прерывание)
- Шаг 4: счетчик
- Шаг 5: предопределенные константы
- Шаг 6. Сохраните переменную в ОЗУ с помощью сброса
- Шаг 7: доступ к тактовому сигналу
- Шаг 8: Внутренняя структура порта ATmega328P
- Шаг 9: Встроенный светодиод в качестве фотоприемника
Видео: Менее известные особенности Arduino: 9 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Это скорее список не так часто упоминаемых функций обычно используемых платформ Arduino (например, Uno, Nano). Этот список должен служить справочником всякий раз, когда вам нужно найти эти функции и распространить информацию.
Посмотрите на код, чтобы увидеть примеры для всех этих функций, поскольку я использовал их в нескольких своих проектах здесь, в инструкциях (например, 1-проводный дисплей Arduino (144 символа)). Следующие шаги объясняют по одной функции.
Шаг 1: напряжение питания
Arduino может косвенным образом измерять собственное напряжение питания. Измеряя внутренний опорный сигнал с напряжением питания в качестве верхней границы опорного напряжения, вы можете получить соотношение между внутренним опорным напряжением и напряжением питания (напряжение питания, действующее как верхняя граница для показаний аналогового сигнала / АЦП). Поскольку вы знаете точное значение внутреннего опорного напряжения, вы можете рассчитать напряжение питания.
Подробные сведения о том, как это сделать, включая пример кода, см. В следующих разделах:
- Секретный вольтметр Arduino - Измерьте напряжение батареи:
-
Может ли Arduino измерить свой собственный Vin ?:
Шаг 2: внутренняя температура
Некоторые Arduino оснащены внутренним датчиком температуры и поэтому могут измерять внутреннюю (полупроводниковую) температуру.
Подробные сведения о том, как это сделать, включая пример кода, см. В следующих разделах:
Внутренний датчик температуры:
Может ли Arduino измерить свой собственный Vin ?:
Шаг 3: Аналоговый компаратор (прерывание)
Arduino может установить аналоговый компаратор между контактами A0 и A1. Таким образом, один дает уровень напряжения, а другой проверяется на пересечение этого напряжения. Прерывание возникает в зависимости от того, является ли пересечение передним или задним фронтом (или обоими). Затем прерывание может быть перехвачено программным обеспечением и действовать соответствующим образом.
Подробные сведения о том, как это сделать, включая пример кода, см. В следующих разделах:
Прерывание аналогового компаратора:
Шаг 4: счетчик
Конечно, в AVR есть несколько счетчиков. Обычно они используются для настройки таймера различных частот и повышения прерываний по мере необходимости. Другое может быть очень старомодным использованием - использовать их как счетчики без какой-либо дополнительной магии, просто прочитайте значение, когда оно вам нужно (опрос). Интересным использованием этого может быть отключение кнопок, например. Предложите, например, этот пост: Пример счетчика T1 AVR
Шаг 5: предопределенные константы
Есть несколько предопределенных переменных, которые можно использовать для добавления информации о версии и компиляции в ваш проект.
Подробные сведения о том, как это сделать, включая пример кода, см. В следующих разделах:
Serial.println (_ ДАТА_); // дата компиляции
Serial.println (_ ВРЕМЯ_); // время компиляции
Строка stringOne = Строка (ARDUINO, DEC);
Serial.println (stringOne); // версия arduino ide
Serial.println (_ VERSION_); // версия gcc
Serial.println (_ FILE_); // файл скомпилирован
эти фрагменты кода будут выводить эти данные на последовательную консоль.
Шаг 6. Сохраните переменную в ОЗУ с помощью сброса
Хорошо известно, что Arduino Uno (ATmega328) имеет внутреннюю EEPROM, которая позволяет сохранять значения и настройки во время выключения и восстанавливать их при следующем включении. Не очень известный факт может заключаться в том, что на самом деле можно сохранить значение во время сброса даже в ОЗУ - однако значения теряются во время цикла включения питания - с синтаксисом:
unsigned long variable_that_is_preserved _attribute_ ((section (".noinit")));
Это позволяет вам, например, подсчитать количество СБРОСОВ и, используя EEPROM, также количество включений питания.
Подробные сведения о том, как это сделать, включая пример кода, см. В следующих разделах:
- Сохранить переменную в оперативной памяти с помощью сброса:
- Библиотека EEPROM:
Шаг 7: доступ к тактовому сигналу
Arduinos и другие AVR (например, ATtiny) имеют внутренние часы, позволяющие запускать их без использования внешнего кварцевого генератора. Кроме того, в то же время они также могут подключить этот сигнал к внешнему устройству, поместив его на контакт (например, PB4). Сложная часть здесь заключается в том, что вам нужно заменить биты предохранителей чипа, чтобы включить эту функцию, а замена битов предохранителей всегда несет риск замораживания чипа.
Вы должны включить предохранитель CKOUT, и самый простой способ сделать это - следовать инструкциям по изменению битов предохранителя AVR Atmega328p - 8-битного микроконтроллера с использованием Arduino.
Подробные сведения о том, как это сделать, включая пример кода, см. В следующих разделах:
- Настройка внутреннего генератора ATtiny:
- Как изменить биты предохранителя AVR Atmega328p - 8-битный микроконтроллер с помощью Arduino:
Шаг 8: Внутренняя структура порта ATmega328P
Знание внутренней структуры портов ATmega328P позволяет нам выйти за рамки стандартных ограничений использования. Обратитесь к разделу, посвященному измерителю емкости для диапазона от 20 пФ до 1000 нФ, для получения более подробной информации и схемы внутренней цепи.
Простым примером является использование кнопок с цифровыми портами, для которых не требуется резистор из-за использования внутреннего подтягивающего резистора, как показано в примере последовательного подключения входного сигнала или управляемой кнопке Arduino без резистора.
Более продвинутым является использование этих знаний, как уже упоминалось, для измерения конденсаторов размером до 20 пФ и, кроме того, без каких-либо дополнительных проводов! Для достижения этой производительности в примере используются внутреннее / входное сопротивление, внутренний подтягивающий резистор и паразитный конденсатор. Сравните с Учебным пособием Arduino CapacitanceMeter, которое не может быть ниже нескольких нФ.
Шаг 9: Встроенный светодиод в качестве фотоприемника
Многие платы Arduino имеют встроенные или встроенные светодиоды, которыми можно управлять с помощью кода, например платы Uno или Nano на выводе 13. Добавив один провод от этого вывода к выводу аналогового входа (например, A0), мы также можем использовать этот светодиод в качестве фотодетектора. Это можно использовать по-разному, например: используйте для измерения освещения окружающей среды, используйте светодиод в качестве кнопки, используйте светодиод для двунаправленной связи (PJON AnalogSampling) и т. д.
Рекомендуемые:
Боевые дроны, квадрокоптеры, также известные как настоящий воздушный бой: 8 шагов (с изображениями)
Боевые дроны, квадрокоптеры, также известные как настоящий воздушный бой: добро пожаловать в мою " ible " # 37 Мы должны признать, что нынешние боевые дроны на рынке немного запутаны. Очень сложно понять, кто выигрывает, а кто проигрывает. Когда один дрон падает, другой следует за ним (врезаясь друг в друга
Как сделать точный датчик расхода воздуха с помощью Arduino для вентилятора COVID-19 стоимостью менее 20 фунтов стерлингов: 7 шагов
Как сделать точный датчик расхода воздуха с помощью Arduino для вентилятора COVID-19 стоимостью менее 20 фунтов стерлингов: см. Этот отчет, чтобы узнать о самой последней конструкции этого датчика расхода с отверстием: https://drive.google.com/file/d/1TB7rhnxQ6q6C1cNb. ..Эти инструкции показывают, как построить датчик расхода воздуха, используя недорогой датчик перепада давления и легко
Релейная плата для Arduino менее чем за 8 долларов: 5 шагов
Плата реле для Arduino менее чем за 8 долларов: Привет, друзья, сегодня я собираюсь рассказать вам, как сделать плату реле для Arduino менее чем за 8 долларов. В этой схеме мы не собираемся использовать какие-либо микросхемы или транзисторы, так что давайте
Деревянные венецианские слепые часы Nixie, также известные как «Маленькая сестра Сары»: 7 шагов (с изображениями)
Деревянные венецианские жалюзи Nixie Clock, также известная как «Маленькая сестра Сары». Недавно я купил подержанные деревянные венецианские жалюзи, которые были слишком большими, чтобы соответствовать тем окнам, на которых я собирался их использовать. После некоторой тщательной реструктуризации я остался с кучей отрезанных секций и сохранил их на будущее
Учебное пособие по ME 470: Особенности выкройки: 6 шагов
Учебное пособие по ME 470: Особенности узора: узоры могут значительно сэкономить время на деталях, которые имеют повторяющиеся функции