Второй шаг «от нуля»: эксперименты с компонентами набора
11. Моторчик
Самый простой вариант – подключить моторчик (коллекторный электродвигатель постоянного тока) к пинам «напрямую», как светодиод в эксперименте №1
Схема:
Код:
Эмуляция:
Моторчик крутится, останавливается, снова крутится и т.д.
На практике происходит как-то нечётко: то крутится и останавливается, то только дёргается и не крутится
Применю транзистор. Схема электрическая:
Схема:
Код:
Эмуляция:
На практике:
12. Сервопривод
Схема:
Код:
Эмуляция:
Практика:
13. РЕЛЕ
Электрическая схема:
У меня есть просто реле имодуль. Интереснее собрать схему на дискретных элементах, поэтому выводы реле я удлиннил:
Я предположил, что два отдельных вывода – это обмотка, а три других отдельных – это контакты. Собрал, подключил,залил – всё мёртво, ни мерцаний, ни щелчков
Кстати, для удобства я использовал самодельные «джамперочки» из одножильного монтажного провода.
Пришлось найти Datasheet на SRD-05VDC-SL-C, из которого следует:
Вот оно как! Только извращённый ум китайских инженеров мог придумать такую распиновку!
Переустановил детальки:
Код прежний:
Работа:
Чётко слышны щелчки реле, светодиодики моргают с интервалом 1с.
14. LCD-дисплей
У меня имеются два LCD 1602A с лицевой стороны – совершенно одинаковые
а с обратной:
Оказывается, на одном из них (слева) имеется специальный переходник (контроллер) для подключения по интерфейсу IC2. Подробнее см., например, на https://voltiq.ru/lcd-1602-and-arduino/
Я буду использовать LCD 1602A без переходника. Схема подключения многопроводная:
Реально:
Подключаю к компьютеру:
Для проверки работы использую программку из стандартных примеров:
Вот она:
Загружаю в Arduino и вижу до боли знакомое (из прежних систем программирования) приветствие "младенца":
Пришлось подкрутить переменный резистор, чтобы символы стали достаточно контрастными.
Попытка вывести по-русски «ПРИВЕТ»:
Для вывода русских букв нужна специальная библиотека. Это потом когда-нибудь…
Подправил:
15. Шаговый двигатель
С сайта http://robotclass.ru/tutorials/arduino-stepper-28byj-48-uln2003/
Имею в наличии 28BYj-48:
Схема:
Подключение:
Решил, что пора испытать другую плату Arduino Uno R3:
При подключении к ноутбуку с Windows 7 Starter, куда я ранее всё установил и проводил предыдущие опыты, система сообщила, что обнаружено новое устройство и затребовала драйверы. В Диспетчере устройств действительно оказалось неизвестное устройство, которое, после обновления драйверов из папки«arduino-1.8.8», определилось как Arduino Uno и село на порт COM5:
Скопировал скетч с вышеуказанного сайта. При компиляции ошибок не возникло:
После заливки загорелись светодиоды драйвера и вал двигателя стал вращаться, практически, бесшумно:
16. Меняю скорость вращения шагового двигателя
Сайт https://vk-book.ru/shagovyj-dvigatel-28byj-48-i-drajver-uln2003/
Схема:
Скетч:
Как видно, для нормальной работы необходима библиотека AccelStepper. Я скачал её по указанному адресу (rar-архив), разархивировал в папку Документы\Arduino\libraries. Сделал так, чтобы в папке libraries оказалась папка AccelStepper:
в которой два (как мне, «нулевику» в этом деле, видится) имеются два файла:
AccelStepper.cpp и AccelStepper.h. Названия этих файлов и папки библиотеки ОДИНАКОВЫЕ!
Я почерпнул это, например, на сайте https://doc.arduino.ua/ru/guide/Libraries
Запускаю IDE и наблюдаю новую библиотеку:
Копирую скетч, изменяю номера пинов в соответствии с моим подключением и компилирую:
Заливаю и регулирую. У меня в крайнем правом положении движка переменного резистора скорость минимальна, в крайнем левом – максимальна. При наименьшей скорости светодиоды драйвера переключаются довольно медленно, это отчётливо видно невооружённым глазом:
17. Микросхема сдвигового регистра 74НС595. Снова управляю4-разрядной матрицей
Сайт https://arduino-kit.ru/blogs/blog/project_08
Подключение:
Микросхема
«В железе»
Скетч из примеров того же сайта:
Компиляция дала простую ошибку – в конце лишняя } фигурная скобка. Удалил, скомпилировал, залил:
Секундомер работает, но я где-то или перепутал, или не подключил сегменты. Если будет желание (завтра) – разберусь, если нет – отставлю так. Всё-таки монтажная панель не очень удобна, особенно когда много контактов и проводов.
Продолжаю опыты. Сегодня с утра переподключил матрицу, и всё пошло нормально:
18. Модуль светодиодной матрицы с микросхемой MAX7219
Далее с сайта http://robotclass.ru/tutorials/arduino-matrix-8x8-max7219/
Схема(подправить):
Картинка (подправить):
В железе:
Как видно, подключение простое, чего нельзя сказать об управлении.
Скетч:
Здесь используются две библиотеки, которых в стандартном наборе нет. Скачал zip-архивы и поместил их в папку Документы\Arduino\libraries. Затем:
После перехожу в папку и открываю zip-архив. Смотрю:
Аналогично:
Компилирую:
Процесс прошёл нормально.
Загружаю программу в Arduino:
Следующая программа (см. сайт):
19. Подключение матричной клавиатуры
Поиски интересных примеров снова привели меня на сайт http://robotclass.ru/tutorials/matrix_keyboard/
Устройство клавиатуры:
Подключение:
Как видно, для вывода информации используется ЖК-дисплей c I2C интерфейсом. Именно его я до сих пор не применял в экспериментах. Кстати, на картинке ошибочка: красный проводок от «VCC» контроллера ЖК-дисплея должен идти на «+5V» платы Arduino.
Моя клавиатура 4Х4, следовательно, проводочков будет 8 и, соответственно, задействовано 8 DIGITAL пинов.
Скетч:
Думаю, одна библиотека здесь лишняя. Стандартную я оставил, две скачал и установил, Key.h удалил.
Программу немного изменил, чтобы она соответствовала моей клавиатуре 4Х4:
Все символы с клавиатуры выводятся в первую позицию второй строки:
Ещё немного подправил программу, чтобы вывести ВСЕ символы в одну строку:
Таким вот образом:
20. Датчик температуры и влажности
У меня два датчика DHT11, точнее – модуля, на которых уже установлен резистор подтяжки:
Схема подключения:
Далее с сайта http://zelectro.cc/TemperatureHumiditySensor
В железе:
Скетч с сайта:
Устанавливаю библиотеку dht11.h, компилирую:
После загрузки и запуска на дисплее появляется надпись «Timeout error» и ВСЁ! В мониторе порта то же самое!! Ё моё!!!
Оказалось, что допущена элементарная ошибка. Я поверил предыдущим картинкам и подключил датчик именно так, как там нарисовано! Не на картинки надо было внимательно смотреть, а на датчик, где около левой ноги стоит буква «S»:
Пересоединилпроводочки, и импровизированная метеостанция заработала:
Кто следит более-менее внимательно, заметил, что я (с некоторых пор) перестал заниматься эмуляцией-симуляцией.
Шустрик
настоятельно мне посоветовал:
Мы решили, что на данном этапе это пустая трата времени.
SEkorp, 20 март 2019
НАЗАД на страницу РАДИОардуино |