Вверх ↑
Этот топик читают: Гость
Главный модератор
Ответов: 2999
Рейтинг: 396
#1: 2022-02-01 05:55:21 ЛС | профиль | цитата
Так на небе звёзды сошлись, что пришлось покупать и программировать некоторое железо у китайских коллег для отечественных нужд. Жалко стало выбрасывать наработки и сделал несколько элементов для проекта HiAsm.NET:
Demo

Покупаем контроллер: Converter CH341A USB to SPI I2C IIC UART TTL ISP
Покупаем сенсор: Sensor BH1750
Соединяем сенсор и контроллер:

Подключаем контроллер к USB на ПК:

Запускаем SHA схему:

Наблюдаем результат:


Подключение простых датчиков по протоколу I2C достаточно тривиальное с использованием документации из datasheet устройства и элемента HCI2C. Для сложных датчиков приходится делать отдельные элементы, например элемент HCBMP280 для датчика BMP280:

P.S. Для упрощения изложения некоторые подробности были опущены, например установка драйвера контроллера и необходимость лицензии для использования элемента HCCH341A.

Редактировалось 10 раз(а), последний 2022-02-01 06:45:37
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
1
файлы: 2Core_CH341.sha.zip [1.1KB] [287], Core_BMP280.sha.zip [1KB] [289]
Голосовали:lisnic
Главный модератор
Ответов: 2999
Рейтинг: 396
#2: 2022-02-01 07:10:02 ЛС | профиль | цитата
Сложный вариант подключения, когда датчиков много и они разные:

Редактировалось 4 раз(а), последний 2022-02-02 10:44:30
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Главный модератор
Ответов: 2999
Рейтинг: 396
#3: 2022-02-02 00:52:23 ЛС | профиль | цитата
Перезалил схему.

BH1750 цифровой 16-битный датчик освещённости (люксметр) со стабилизатором напряжения и удобными выводами подключения:

    VCC — питание 5 В;
    GND — общий;
    SDA — данные;
    SCL — синхронизация;
    ADDR — выбор адреса;
Диапазон измерений: от 1 до 65535 люкс. Согласно datasheet, датчик BH1750 чувствителен к видимому свету и практически не подвержен влиянию инфракрасного излучения, т.е. реагирует примерно на тот же спектральный диапазон, что и человеческий глаз. У датчика BH1750 вывод ADDR — это выбор адреса на шине I2C. BH1750 отвечает на запросы, в зависимости от уровня сигнала на входе ADDR, по адресу 0x23 или 0x5C. Это значит, что управляя сигналом ADDR можно одновременно работать с двумя датчиками BH1750. Для того, чтобы работать с большим количеством датчиков BH1750 надо ставить на шину I2C расширители адресов, либо использовать динамическое управление уровнем на выводах ADDR. Я использовал второй способ, так как управление расширителем адресов шины I2C - это дополнительные расходы, а количество датчиков меньше чем выводов TTL уровня у контроллера CH341. Следующая таблица показывает логику выбора любого из 3-х датчиков для опроса по адресу 0x23:
Датчик с адресом 0x23Сигнал на выводе D0Сигнал на выводе D1Сигнал на выводе D2
1-й 0 1 1
2-й 1 0 1
3-й 1 1 0

Для работы с 3-мя датчиками собираем следующую схему и, управляя в программе уровнями сигналов на выводах D0-D2, выбираем только один датчик, который будет отвечать на адрес 0x23, что позволит прочитать данные с любого из 3-х датчиков.

P.S. Для тестирования на макетной плате подтягивающие резисторы можно не подключать.

Редактировалось 8 раз(а), последний 2022-02-03 09:03:42
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
файлы: 1Core_CH341_Multi_Sensors.sha.zip [1.7KB] [285]
Ответов: 537
Рейтинг: 14
#4: 2022-02-02 01:03:06 ЛС | профиль | цитата
Установил Hiasm 5, установился, все делал строго по инструкции с первых постов, среда запускается, при попытке компиляции, ошибка, не найдено ни одного компонента, при попытке посмотреть код элемента, пишут, его не найдено. При регистрации программы, ссылки не действительны. Так как же все таки попробовать новый Hiasm 5? Делал все строгого по инструкциям три раза, потом удалил. Система Win7 X64
карма: 4

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#5: 2022-02-02 01:21:58 ЛС | профиль | цитата
Sersey писал(а):
Установил Hiasm 5
Здесь тема про HiAsm.NET или Вы брезгуете вводить это название?
Sersey писал(а):
При регистрации программы, ссылки не действительны
Какие именно?
Sersey писал(а):
при попытке компиляции
Какой пакет?
Sersey писал(а):
при попытке посмотреть код элемента
Какой пакет?
Sersey писал(а):
потом удалил
Лучше бы даже не ставили.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 1821
Рейтинг: 168
#6: 2022-02-02 12:53:42 ЛС | профиль | цитата
offtopic
Nic, понимаю, что, в какой-то мере, резкие отзывы о проекте, который делается для всеобщего блага бесплатно, не очень хорошо воспринимаются. Но Вам, как главному модератору, следовало бы задавать культуру общения на форуме и быть примером для других в этом плане.

Nic писал(а):
Дорогу осилит идущий.

Если демотивировать желающих идти, найдутся ли идущие по дороге?

Редактировалось 1 раз(а), последний 2022-02-02 12:54:20
карма: 5

2
Голосовали:Netspirit, ogrif
6
Сообщение
...
Прикрепленные файлы
(файлы не залиты)