Страница 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
это я и сделал
выдаёт всё тоже и теперь добавилось что нет папки вире