Второй шаг «от нуля»: эксперименты с компонентами набора

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


НАЗАД на страницу РАДИОардуино