Метка: avr
-
Сдвиговые регистры в Arduino (74hc595)
Сдвиговые регистры – очень нужная и популярная вещь во многих проектах. Они позволяют размножить выходы вашего контроллера, что очень полезно, когда в реальном проекте вы нагрузите mega328 экраном, клавиатурой и другой периферией. Немного изучим теорию работы этого элемента, соберём простой скетч, а потом по графикам будет понятен алгоритм работы. Взглянем на выводы нашей микросхемы.
-
i2c передача данных между двумя arduino. Передаём числа float и int
Часто по разным причинам не хватает одного контроллера в проекте, особенно в процессе прототипирования. Допустим, подключили вы на одну плату дисплей и тачпад, и он занял почти все выводы, аппаратную шину SPI, а какой-нибудь датчик отнимает всё время для вычислений. Нужно временно расшириться, ставим рядом ещё одну плату, но возникает логический вопрос – как передавать…
-
От Arduino к продукту на примере игры кубика
В прошлой статье мы разобрали, что нужно для голого микроконтроллера, для его работы и как его прошить прошивкой от Arduino. Попробуем проделать это на практике. Чтобы завершить проект игрального кубика, мне нужно было уместить всю электронику в размер куба 4х4 см, т.е. плата должна была быть и того меньше. Вспомним, как у нас это выглядело…
-
Как перейти от Arduino к серийному образцу. Минимальная обвязка AtMega 328
Вот вы написали программу, и залили её в свой UNO. Всё великолепно работает, но такую громадную железку не запихнуть в миниатюрный корпус. Да и вдруг, вы хотите сделать 100 таких устройств, а зачем вам увеличение себестоимости, ведь на платах Arduino куча ненужного барахла.
-
Динамическая индикация в Arduino, на примере led-матрицы 8х8 + uln2803
Нашёл я недавно пример игральной кости, на матрице 8х8, но много чего там мне не понравилось. Захотелось поместить это в маленький корпус, но размер периферии arduino не позволяет это сделать. Поэтому делаем программу на arduino, а потом переходим на обычную плату с запаянным atmega328. Обычно используется индикатор 8х8 пикселей уже со сдвиговыми регистрами, мы будем…
-
Контроль доступа, часть 5. Алгоритм сброса и первого старта программы через джампер в Arduino.
В прошлый раз, мы сравнивали введённый пароль с паролем, который был записан во flash память контроллера. Но ведь известно, что эту область памяти нельзя изменить в процессе работы устройства, и для хранения таких данных нужно бы использовать EEPROM. Сегодня разберём, как можно делать аппаратный сброс, где и как хранить эти данные, как реализовать первичный запуск…
-
Знакомимся с EEPROM AVR в Arduino IDE.
Самое время вспомнить, что при перезагрузке arduino теряет сохранённые данные. Конечно, мы можем вписать пароль, который будет верифицирован, в тело программы, но если потом пользователь захочет поменяеть его? Для этого в arduino есть ячейки энергонезависимой памяти eeprom. Расшифровывается, как Electrically Erasable Programmable Read-Only Memory, т.е. дословно, энергонезависимая память. Отличается от ПЗУ, в которой хранится программа…
-
Контроль доступа. Часть 4 — алгоритм ввода чисел с клавиатуры.
В прошлой статье мы научились работать с кнопкой и управлять замком и светодиодом. Чтобы не мешать этому коду, сканирование клавиатуры мы временно закомментировали. Сегодня мы немного доработаем код, чтобы всё это не конфликтовало друг с другом, а самое главное, реализуем программу считывания цифрового кода в 4 значную переменную. Если она совпадёт, с числом-кодом, что записан…
-
Считываем кнопку в Arduino и управляем замком
В предыдущей статье, мы рассмотрели, как уйти от простой команды delay();. Предлагаю убрать дребезг кнопки открытия двери нашим новым кодом, с использованием millis. Просто будем опрашивать кнопку раз в 70 мс, чаще смысла нет, потому что физически нажать кнопку на более короткое время, учитывая дребезг контактов практически невозможно. Но сначала зададим переменные, которые мы будем…
-
Работаем с задержками без delay() на arduino.
В прошлом уроке мы поняли принцип считывания значения с матричной клавиатуры и написали простой код, который реализует данное действие. Прежде чем переходить к более сложной задаче – сохранению введённого значения с клавиатуры, попробуем реализовать функцию работы с замком разного типа, и открытию его по кнопке с обратной стороны двери, а также сделаем звуковую и световую…