Таймер для отправки периодического импульса
Я ищу очень маломощный, небольшой компонент (возможно, arduino), который будет посылать импульсный логический импульс 3,3 В один раз каждые X секунд в другую систему. Я хочу иметь возможность настроить X (возможно, обрезать горшок или что-то в этом роде) на основе варианта использования, наиболее быстрый вариант использования будет примерно один раз в секунду, а самый медленный-один раз в час. Длительность импульса на самом деле не имеет большого значения, если она составляет одну секунду или меньше.
Adafruit продает товар (ИДЕНТИФИКАТОР ПРОДУКТА: 3573) на основе чипа Texas Instruments TPL5110, который вроде как делает это, но это сигнал постоянного ВЫСОКОГО напряжения, а не импульс. Я новичок в электронике и не уверен, к какой категории компонентов это относится, но я пробовал гуглить и читать учебники по тайм-тайм.
@rfii, 👍0
Обсуждение1 ответ
Лучший ответ:
Как прокомментировал Эдгар Бонет, вы можете сделать это с помощью микросхемы ATtiny85 в 8-контактном DIP-пакете, который доступен примерно за 1 доллар и может быть запрограммирован с помощью Arduino IDE.
Вы должны рассказать программному обеспечению Arduino о ATtiny85, установив для него "ядро", такое как у Спенса Конда
Вам понадобится устройство для переноса программы в ATtiny85, либо AVR-программатор стоимостью от 5 до 15 долларов, либо что-то вроде Arduino Uno с использованием скетча Arduino-as-ISP .
Написание программного обеспечения будет чрезвычайно простым по стандартам Arduino.
Одним из преимуществ ATtiny85 по сравнению с NE555 того же размера является то, что ATtiny85 не нуждается во внешних компонентах (резисторах, конденсаторах и т.д.) и поэтому намного проще в использовании. Вы можете запустить этот ATtiny85 на источнике питания 3,3 В (будет работать что угодно от 2,7 до 5,5 В).
Если вам нужен ATtiny85 на предварительно собранной печатной плате (например, продукт Adafruit TPL5110), попробуйте Digispark или клон Digispark за 1 доллар, его можно подключить непосредственно к USB-порту для программирования с помощью Arduino IDE. Я не пробовал запускать его на 3,3 В, но подозреваю, что это возможно, подключив источник питания 3,3 В к контакту "5 В", чтобы обойти регулятор 5 В Digispark.
Видишь https://wokwi.com/arduino/projects/310458692893934146
Я также смог запустить его на дешевом клоне Digispark из источника 3V3
Единственное преимущество перед голым ATtiny85 заключается в том, что вам не нужно никакого программного обеспечения, только USB - порт на ПК.
Потрясающая идея! это идеально. Я не думал об Arduino как о компоненте другого arduino! Я также ценю действительно подробный ответ с отличными ссылками, скетчем и даже картинкой. Действительно полезно, и я ценю это, @rfii
У вас есть мысли о том, чтобы сделать этот сон между импульсами, так как мне это нужно для низкой мощности?, @rfii
@rfii: Это другой вопрос, здесь могут быть некоторые ответы на аналогичные вопросы. Вам нужно перевести устройство в спящий режим с низким энергопотреблением и установить таймер прерывания, чтобы разбудить его. Есть действительно хороший [пример проекта в блоге Дэвида Джонсона-Дэвиса](http://www.technoblogy.com/show?KX0) - у него много проектов, в которых используется режим сна с низким энергопотреблением для продления срока службы батареи. Однако он склонен использовать более серьезный стиль кодирования., @RedGrittyBrick
Спасибо! Я нашел код от Sparkfun в https://learn.sparkfun.com/tutorials/h2ohno/all который имеет функции сна. Я вставил периоды сна, и это работает, @rfii
- Использование millis() и micros() внутри процедуры прерывания
- Как сделать очень долгую функцию delay(), несколько часов
- Разница между «time_t» и «DateTime»
- Получение BPM из данного кода
- Как считать время в секундах?
- Создание таймера с использованием часов реального времени с указанием времени начала и остановки
- Arduino непрерывно считывает значение АЦП с помощью прерывания
- Использование TIMER0_COMPB_vect
В Интернете опубликовано множество схем 555 (NE555), которые, вероятно, будут делать то, что вы хотите. Вы можете поискать генератор импульсов 555 и выбрать схему, которую вы можете построить из имеющихся деталей., @Gil
Спасибо! Я попробую поискать "генераторы импульсов"., @rfii
в вашем вопросе нет "arduino" , @jsotola
Вы могли бы сделать это с помощью Arduino: это сделало бы вопрос здесь актуальным. Затем используйте спящий режим и перенесите свой код на ATtiny85 (для этого есть ядра Arduino): это сделает компонент небольшим и маломощным., @Edgar Bonet