Страница 1 из 2
AHT10
Добавлено: 05 ноя 2019, 17:47
MTSnik
Доброго дня всем.
Прикупил недавно пару датчиков AHT10 оказалось в флпрог нет такого блока (поиском не нашёл) да и вообще на просторах интернета не смог найти примеров. Нашел библиотеку, с ней был один пример. На основе него сделал блок вывода данных на монитор порта. Может кто-нибудь на досуге сделает блок для вывода на дисплей.
Датчик работает от 1.8-5.6в
Рабочая температура от -45 до 85градусов
Давление от 0-100
Еще выводит точку росы.
В файле библиотека и даташит
Отправлено спустя 24 минуты 39 секунд:
I2C
AHT10
Добавлено: 07 ноя 2019, 12:44
ДедОк
MTSnik писал(а): 05 ноя 2019, 17:47
Может кто-нибудь на досуге сделает блок для вывода на дисплей.
да есть блоки под любые дисплеи
AHT10
Добавлено: 07 ноя 2019, 12:58
MTSnik
Может кому пригодится сделал блок
Отправлено спустя 3 минуты 52 секунды:
ДедОк писал(а): 07 ноя 2019, 12:44
MTSnik писал(а): 05 ноя 2019, 17:47
Может кто-нибудь на досуге сделает блок для вывода на дисплей.
да есть блоки под любые дисплеи
на этот датчик я не нашел. Пришлось самому стряпать.
AHT10
Добавлено: 07 ноя 2019, 16:54
edyapd
[ref]MTSnik[/ref], пару вопрос по вашему блоку.
Для чего нужен Delay 500 в каждом цикле?
И для чего эти две строки? Они куда-то выводятся? Как можно узнать, прошёл датчик инициализацию или нет?

AHT10
Добавлено: 07 ноя 2019, 19:40
MTSnik
Сильно не ругайте. Это мой 2й блок созданный из кода. Код взят из примера в библиотеке с маленькой доработкой.
Delay 500 стояла в скетче. Возможно опрос происходит каждые 500милисек.
Без 2х строк показания выводятся слишком большие, 4значные. Видимо это делитель.
Выходы string, не смог сделать fload.
Проверял на 2х датчиках, блок работает.
AHT10
Добавлено: 07 ноя 2019, 20:03
edyapd
Я вообще не знаю С. Но сделал бы примерно так:
Добавил бы вход, скажем Read. И в коде прописал:
Код: Выделить всё
if (Read) {
Temperature = AHT10.GetTemperature();
Humidity = AHT10.GetHumidity();
Dewpoint = AHT10.GetDewPoint();
}
Соответственно выходы установив Float.
AHT10
Добавлено: 08 ноя 2019, 07:02
MTSnik
Я тоже не знаю С.
Завтра попробую как Вы посоветовали.
Отправлено спустя 10 часов 24 минуты 40 секунд:
Переделал
AHT10
Добавлено: 08 ноя 2019, 11:35
ДедОк
[ref]MTSnik[/ref],
Большая просьба. Избавься от delay. Во время задержки, процессор ничего другого не делает, и пол секунды простаивает. А это тормоза, и геморрой. Например, даже данные отправить или вывести на дисплейчик чаще чем раз в секунду, уже не выйдет. Перепиши через if и millisec, в инете полно примеров на эту тему. это несложный код, зато никаких тормозов.
AHT10
Добавлено: 09 ноя 2019, 16:00
MTSnik
В последнем блоке нет delay.
AHT10
Добавлено: 17 янв 2020, 09:06
Di123
[ref]MTSnik[/ref],
тоже повёлся на дешовую цену по сравнению с хту21
в общем на работает ваш блок
пишит
[spoiler]In file included from c:\Users\User\Desktop\Portable_FLProg_6-2-1_Win64\ideV4\libraries\AHT10-master\src\Thinary_AHT10.cpp:29:0:
C:\Users\User\Desktop\Portable_FLProg_6-2-1_Win64\ideV4\portable\packages\arduino\hardware\avr\1.8.2\libraries\Wire\src/Wire.h: In member function 'long unsigned int AHT10Class::readSensor(boolean)':
C:\Users\User\Desktop\Portable_FLProg_6-2-1_Win64\ideV4\portable\packages\arduino\hardware\avr\1.8.2\libraries\Wire\src/Wire.h:64:13: note: candidate 1: uint8_t TwoWire::requestFrom(int, int)
uint8_t requestFrom(int, int);
^~~~~~~~~~~
C:\Users\User\Desktop\Portable_FLProg_6-2-1_Win64\ideV4\portable\packages\arduino\hardware\avr\1.8.2\libraries\Wire\src/Wire.h:61:13: note: candidate 2: uint8_t TwoWire::requestFrom(uint8_t, uint8_t)
uint8_t requestFrom(uint8_t, uint8_t);
^~~~~~~~~~~
C:\Users\User\Desktop\Portable_FLProg_6-2-1_Win64\ideV4\portable\packages\arduino\hardware\avr\1.8.2\libraries\Wire\src/Wire.h: In member function 'unsigned char AHT10Class::readStatus()':
C:\Users\User\Desktop\Portable_FLProg_6-2-1_Win64\ideV4\portable\packages\arduino\hardware\avr\1.8.2\libraries\Wire\src/Wire.h:64:13: note: candidate 1: uint8_t TwoWire::requestFrom(int, int)
uint8_t requestFrom(int, int);
^~~~~~~~~~~
C:\Users\User\Desktop\Portable_FLProg_6-2-1_Win64\ideV4\portable\packages\arduino\hardware\avr\1.8.2\libraries\Wire\src/Wire.h:61:13: note: candidate 2: uint8_t TwoWire::requestFrom(uint8_t, uint8_t)
uint8_t requestFrom(uint8_t, uint8_t);
^~~~~~~~~~~
Скетч использует 9452 байт (65%) памяти устройства. Всего доступно 14336 байт.
Глобальные переменные используют 540 байт (52%) динамической памяти, оставляя 484 байт для локальных переменных. Максимум: 1024 байт.
Неверная библиотека найдена в c:\Users\User\Desktop\Portable_FLProg_6-2-1_Win64\ideV4\libraries\AHT1x: нет заголовочных файлов (.h), найденных в c:\Users\User\Desktop\Portable_FLProg_6-2-1_Win64\ideV4\libraries\AHT1x
Неверная библиотека найдена в c:\Users\User\Desktop\Portable_FLProg_6-2-1_Win64\ideV4\libraries\AHT1x: нет заголовочных файлов (.h), найденных в c:\Users\User\Desktop\Portable_FLProg_6-2-1_Win64\ideV4\libraries\AHT1x
[/spoiler]
AHT10
Добавлено: 18 янв 2020, 05:57
MTSnik
Уважаемый Di123, блок проверен в нескольких проектах и все работает. Удалите в иде лишние библиотеки и будет Вам счастье.
AHT10
Добавлено: 19 янв 2020, 05:42
Di123
[ref]MTSnik[/ref],
лишних нет
я скачал блок и библиотеку
распаковал архив в библиотеку но скеч загружается но ничего не работает
удалил из библиотеки распакованое и распаковал второй архив в архиве и скинул в библиотеку но всё тоже самое
снова удалил из библиотеки это новьё и нашол в интернете библиотеку на него и скачал её но опять всё тоже самое
снова распаковал вашу библиотеку закинул он опять в ошибку
притом он создаёт вторую папку вместо той что я скинул от вас
я удаляю ту что скинул и вытаскиваю папку из той что он создал потомучто по скейчу обращение идёт как вроде напрямую к папке Thinary_AHT10Thinary_AHT10 но ничего не помогает
AHT10
Добавлено: 19 янв 2020, 06:56
MTSnik
В последних версиях иде библиотеки хранятся в двух местах. В обоих чистили?
Скиньте свой проект.
Отправлено спустя 5 минут 31 секунду:
Посмотрите, в сполере который Вы прислали указаны адреса где лежат библиотеки.
AHT10
Добавлено: 19 янв 2020, 06:57
Di123
1.flp
стандартно в одном
а где второе место у него
AHT10
Добавлено: 19 янв 2020, 09:24
MTSnik
C:\Users\User\Desktop\Portable_FLProg_6-2-1_Win64\ideV4\portable\packages\arduino\hardware\avr\1.8.2\libraries
У Вас тут.
AHT10
Добавлено: 19 янв 2020, 10:05
Di123
так там нету ничего от него
2020-01-19_140451.png
AHT10
Добавлено: 19 янв 2020, 15:15
MTSnik
☝есть же. Папка Wire. На неё ругается.
AHT10
Добавлено: 19 янв 2020, 16:24
Di123
теперь вообще всё сломалось
2020-01-19_202356.png
AHT10
Добавлено: 19 янв 2020, 16:45
MTSnik
Теперь скачайте последние версии библиотек и установите
AHT10
Добавлено: 19 янв 2020, 16:51
Di123
это я и сделал
выдаёт всё тоже и теперь добавилось что нет папки вире