а зачем обязательно оформлять классом? у вас есть пользовательские функции (uscr.py) которые отрабатывают в каждой итерации рабочего цикла. Просто вставляйте в них стандартные библиотечные вызовы этого дисплея и выводите на него показания любого датчика. Адрес дисплея на шине вам известен. Я когда-то экспериментировал с этим, вроде все получалось. Развивать потом у себя эту тему не стал, т.к. 4 строки по 20 символов показалось очень мало, перешел на использование других устройств отображения...
malina74
Новичок
Пушкино
3
Отв.2641 26 Июня 24, 06:40
Спасибо за ответ.Поэксперементирую.
GregoryBlackJeans
Новичок
Южный Урал
2 1
Отв.2642 16 Июля 24, 18:13
Paulschenekochnev, 16 Апр. 24, 16:34
давил до 1.5кгс - температура была в районе 135 градусов. DS18B20 - показывает нормально
ekochnev
Магистр
Екатеринбург
210 54
Отв.2643 16 Июля 24, 18:27 (через 14 мин)
давил до 1.5кгс - температура была в районе 135 градусов. DS18B20 - показывает нормальноGregoryBlackJeans, 16 Июля 24, 18:13
Хммм... По даташиту у DS18B20 верхний предел 125 градусов... Я до 135 его не пытался разогнать, но в тех процессах, что я пока делал (тушенка, рыбные консервы, каши), максимальная температура требовалась 120 градусов, в бОльшей необходимости не было. На 120 градусах DS18B20 работает нормально, подтверждаю. Поэтому я остался на нем и все дальнейшие изыскания по поиску более высокотемпературных датчиков прекратил.
dee
Научный сотрудник
Минск
8.6K 2.3K
Отв.2644 28 Июля 24, 08:10
Терморезисторы работают в экструдерах 3д принтеров при температурах порядка 220-230°
Виктрыч
Профессор
Екатеринбург
9.1K 2.3K
Отв.2645 28 Июля 24, 09:35
И в бытовых термометрах 350 цельсия показывают. Их задача не отпаятся. У меня как то на дымоходе сажа вспыхнула. 1000 цельсия.Обычно там до сотни. Компаунд в датчике вскипел и резистор просто выплюнуло из гильзы. Сейчас так на сухую и работает. То есть нужно самому в гильзу упаковывать предвидя задачу. А не брать комнатный. Вот исполнение бытового термометра. 300 цельсия шкала. Плюс конструкторский запас.
Задавал в прошлом году вопрос: "Хочу подключить к хабу 1-Wire датчик уровня жидкости XKC-Y26A-V DC5-24V (Потребляемый ток: 5 мА, Выходной ток: ≤ 100 мА). Помню, что были какие-то ограничения по току, связанные с малинкой. Могу ли я запитать это датчик прямо от хаба или лучше подать на него 5 вольт со стороны?" OldBean ответил : "Датчик, конечно, лучше запитать отдельно. Не стоит перегружать малинку. Земли датчика и 1-Wire хаба нужно соединить."
Теперь добрался до реализации и затупил)) - 5 вольт можно взять с БП малинки или нужно отдельный БП?
dee
Научный сотрудник
Минск
8.6K 2.3K
Отв.2647 04 Сент. 24, 16:56
NBVV, нужно смотреть сколько выдает стабилизатор на плате и что от него питается, например дисплей, чей-то я сомневаюсь что малина от 5в работает, там скорее всего 3,3 или ниже. А вот порт USB вполне себе 5В и 500мА должен уметь выдавать.
NBVV
Специалист
Новосибирск
132 2
Отв.2648 07 Сент. 24, 12:04
Перефразирую вопрос. Какой из вариантов нужно использовать для запитывания датчика?Opo. Ненавязчивая автоматизация ректификационной установки. Автоматика.Fgjudyj. Ненавязчивая автоматизация ректификационной установки. Автоматика. Или любой годится?
dee
Научный сотрудник
Минск
8.6K 2.3K
Отв.2649 07 Сент. 24, 12:25 (через 21 мин)
второй точно нет, обрати внимание на фразу
Земли датчика и 1-Wire хаба нужно соединитьNBVV, 24 Авг. 24, 12:11
но я бы попробовал посчитать энергопотребление и почитать документы на плату что бы запитать хаб от малины, если на ней есть USB она способна отдать в нагрузку минимум 600мА
BogAD
Кандидат наук
Красногорск - Белово
408 186
Отв.2650 07 Сент. 24, 17:44
Здравия, бояре! По поводу питания 5 вольт от Raspberry Pi. Raspberry Pi 3В+ не содержит встроенных 5V стабилизаторов напряжения, кроме защитного диода SMBJ5.0A и самовостанавливающего предохранителя на 2,5А (MF-MSMF250/X), а значит в случе перегрузки по току, сработатет предохранитель. В крайнем случае, выгореть может только дорожка на плате Raspberry Pi или внешний источник питания. У последних защита обычно встроена, однако позаботиться нужно о не возникновении КЗ, после обхода или удалении защиты, всё же стоит. Получается, через Raspberry Pi в принципе для датчиков можно брать 5В с GPIO по цепи через разъем micro-USB на pin 2 и 4 разъма 40-pin GPIO. Но, если иметь ввиду, что встроенные предохранитель на 2,5А, а сама Raspberry Pi3В+ чавкает под 2А (грубо), на переферию запитки через GPIO остатется в сумме 0,5А. Это мало и сложно исключить перегрузку при различных нестандартных ситуациях. Я бы не стал делать так. Я сам питаю Raspberry Pi 3В+ и всю автоматику через сложную цепь 220-24-5V. По существу вопроса, у меня Raspberry Pi 3В+ получает свои 5v и не через через разъём micro-USB, а через pin 2 и 4 разъма 40-pin GPIO. Параллельно, эти 5v я запитываю и остальные узлы нашей автоматики. Т.е., ток для питания автоматики идет не через плату Raspberry Pi. Так посчитал недёжней. Если что случится в цепях автоматизации по питанию, Raspberry Pi не пострадает. В любом случае, GND Raspberry Pi и схемы автоматизации должна быть одна. За питание Raspberry Pi 4 и 5, не скажу, схему не видел, но думаю, что там не большое отличие. Попалось статья Замена контроллера питания Raspberry Pi 3B+. Может быть полезной для кругозора...
dee
Научный сотрудник
Минск
8.6K 2.3K
Отв.2651 07 Сент. 24, 19:42
через pin 2 и 4 разъма 40-pin GPIOBogAD, 07 Сент. 24, 17:44
а этот пин на 2,54 гребенке рассчитан на 2А ? на USB штырьки можно было бы подпаяться что бы ток шел на контроллер питания штатным путем
BogAD
Кандидат наук
Красногорск - Белово
408 186
Отв.2652 07 Сент. 24, 21:19
а этот пин на 2,54 гребенке рассчитан на 2А ? на USB штырьки можно было бы подпаяться что бы ток шел на контроллер питания штатным путемdee, 07 Сент. 24, 19:42
Чтобы ответить, посмотрим на схему 96427b761d. Ненавязчивая автоматизация ректификационной установки. Автоматика. Если подклчаем питание через micro-USB, по цепи 5v стоит самовостанавливающего предохранителя MF-MSMF250/X, током на 2,5А. Далее идет внутрянняя шина Raspberry Pi +5V, которая идет на pin 2 и 4 разъма 40-pin GPIO. С этой же шины питается внутренний контроллер питания и стабилизатор для 3.3v. Значит, если будем активно питать пиреферию с GPIO, то суммарный ток, который потребит сама малинка, будет сумироваться с током на перефирию. Этот ток будет течь через предохранитель MF-MSMF250/X. Если ток будет выше 2,5А, онг будет срабатывать с самовостоновлением, но это врят ли хорошо... Теперь представим, что мы подключим 5v "наизнанку", со стороны GPIO(2,4). Так мы обойдем предохранитель. Защитный диод SMBJ5.0A остается и выполняет свою функцию.| Заложим надежный источник 5v с защитой по току, на который рассчитан можность источника, и нет ни какого крименала. Да и агрузочные способности контактов micro-USB намного меньше, чем штирьки GPIO...
dee
Научный сотрудник
Минск
8.6K 2.3K
Отв.2653 07 Сент. 24, 22:15 (через 57 мин)
Чтобы ответить, посмотрим на схемуBogAD, 07 Сент. 24, 21:19
Не-а, что бы ответить нужно было посмотреть даташит на сам разъем https://hu.mouser.com/datasheet/2/181/M20-975-1220539.pdf и дорожки на печатной плате, типа такогоизображение_2024-09-07_221506004. Ненавязчивая автоматизация ректификационной установки. Автоматика. Из первого документа можно узнать что разъем терпит 3А а из второго про толстую дорожку к этим разъемам
BogAD
Кандидат наук
Красногорск - Белово
408 186
Отв.2654 07 Сент. 24, 22:53 (через 39 мин)
нужно было посмотреть даташит на сам разъем https://hu.mouser.com/datasheet/2/181/M20-975-1220539.pdf и дорожки на печатной плате, типа такого Из первого документа можно узнать что разъем терпит 3А а из второго про толстую дорожку к этим разъемамdee, 07 Сент. 24, 22:15
Увы, не пускают. "Access Denied You don't have permission to access "http://hu.mouser.com/datasheet/2/181/M20-975-1220539.pdf" on this server." Ну и ладно. Возможно, 3А с разъема mini-USB логично. Было бы не логично ставить разъем со слабыми контактами, чем предохранитель в цепи. Хотя из практичности, после многократной коммутации разъема, думаю нагрузочный ток будет падать. К тому же, это лишнее переходное сопротивление и падение напряжения. А малинка очень каризна по 5v. Ей мало будет даже ровно 5v. Ей подавай 5.1...5.15v. Иначе рисует в углу желтую молнию и тормозит жутко. Уже обсуждалось тут, если мне память не изменяет, года 3 назад. Но к чему зациклился на разъеме и дорожках? А как же номинальные 2,5А по цепи с micro-USB? Или в планах пыпаять предохранитель впаять "жука"? Дмитрий, что тебя смущает в плане "реверса" питания малинки, не от micro-USB, а со стороны GPIO? Заложена же у нас плата расширения малинки, так и питание малинки от туда и завести...
dee
Научный сотрудник
Минск
8.6K 2.3K
Отв.2655 08 Сент. 24, 00:08
BogAD, браузер опера сразу со встроенным бесплатным ВПН, жмешь кнопулю и пускает куда угодно. Меня смутил GPIO40, не думал что он такой ток потянуть может, просто такие вещи надо проверять по документации, ну например что бы не отгорел контакт или дорожка в самый не подходящий момент. Тонкая дорожка, большой ток и вот уже вместо земли появляется отрицательное напряжение которого достаточно -0,3в что бы что нибудь пошло не так. изображение_2024-09-08_000728584. Ненавязчивая автоматизация ректификационной установки. Автоматика.
BogAD
Кандидат наук
Красногорск - Белово
408 186
Отв.2656 08 Сент. 24, 09:32
Дмитрий, ну ок. Под 5v используются 2 пина, т.е. 6А. Но это не важно. Оставь это для разработчиков малинки. Главное мы знаем там в цепи питания через micro-USB есть предохранитель, и он не пропустит больше 2,5А... А запитать малинку и одного пина 2 или 4 GPIO40 хватит. Но нам не нужно пропускать большой ток через GPIO40! Пропускаем столько, сколь требуется для малинки и только для неё. Берем хороший блок питания (БП) мощностью от 25Вт (5А). Лучше ватт на 50. Очень желательно чтобы у БП была подстройка выходного напрядения. Имеем цель настроить выход до 5.15В. Запитываем малинку от БП 5В не со стороны micro-USB, подав плюс на контакты 2+4 GPIO. Минус с БП садим на любые 2 пина GPIO GND, поближе к 2,4, к примеру 6,9. Так мы запитаем малинку. Помним, что переполюсовка НЕДОПУСКАЕТСЯ! Те же 5В (+ и -)с БП, ДРУГОЙ цепью, пускаем на перефирию автоматики, включая всевозможные датчики. Т.е. получаем отдельную цепь С ОДНОГО БП, помимо внутренностей малинки. Всё! И не болит голова, что спалим малинку, если переферия перегрузит малинку или мы повесим датчик с большим током потребления. И даже, если будет КЗ в переферии, то достанется блоку питания, а не малинке! Ненавязчивая автоматизация ректификационной установки. Автоматика.
сообщение удалено
NBVV
Специалист
Новосибирск
132 2
Отв.2657 10 Нояб. 24, 11:52
Вдруг, на ровном месте получил вот что: nbv@Amrita:~/Desktop/Amrita/lite_0413 $ python3 main.py sr1.py Traceback (most recent call last): File "/home/nbv/Desktop/Amrita/lite_0413/main.py", line 22, in <module> exec('from ' + sp + ' import *') File "<string>", line 1, in <module> File "/home/nbv/Desktop/Amrita/lite_0413/sr1.py", line 9, in <module> from lite import * File "/home/nbv/Desktop/Amrita/lite_0413/lite.py", line 1318, in <module> exec(cinit) # Выполним код cinit, чтобы сформировать функцию finit() File "<string>", line 1 def finit(): ________^ # пробелы "съедаются", заменил их нижним подчеркиванием. IndentationError: expected an indented block nbv@Amrita:~/Desktop/Amrita/lite_0413 $
Смотрю lite.py, там вроде все нормально, или мне не по глазам?
cinit = 'def finit(): ' # Начало строки кода инициализации режима мониторинга ''' Добавим коды сброса всех контроллеров и накопительных виртуальных датчиков ( в данном случае - датчики расхода) ''' for nam in obn.keys(): if nam[0] >= 'a' and nam[0] <= 'z' or nam[0] == 'Q': cinit += ' ' + nam + '.v = 0.0 ' exec(cinit) # Выполним код cinit, чтобы сформировать функцию finit() # это строка 1318 ccond = 'def fcond(): pass ' # А функция проверки условий пустая exec(ccond) # Выполним код ccond, чтобы сформировать функцию fcond() m = Mode('Мониторинг', finit, fcond) ''' Начинаем формировать список режимов. Изначально там только мониторинг. Остальные режимы будут добавлены пользователем исходя из конкретной задачи ''' modes = [m] mode = 0 # Работа всегда начинается с режима мониторинга (0) modes[mode].init() # Инициализируем этот р
Добавлено через 54мин.:
Перезалил lite.py - ничего не изменилось.
C-Bell
Научный сотрудник
Улан-Удэ
1.8K 1.3K
Отв.2658 11 Нояб. 24, 01:09
IndentationError: expected an indented block (Ошибка отступа: ожидался блок с отступом)
Python критичен к отступам, которые организуют блоки программы. Похоже, в описании функции def finit(): упущены отступы.
NBVV
Специалист
Новосибирск
132 2
Отв.2659 11 Нояб. 24, 10:02
Дело в том, что файл не менялся и чудесно работал до этого. Даже если он оказался поврежденным, я скопировал его заново, но все равно дает ту же ошибку, только номер строки 1314 вместо 1318 (очевидно несколько строк убрали из оконечного варианта файла.)
Добавлено через 18ч. 4мин.:
Что интересно, даже если все три файла заменить на исходные с этого форума, то все равно ругается на отступ. Мало того, попробовал две SD карты (дубли нынешней) и там тоже самое. Попробую сегодня создать новую карту.
Добавлено через 6ч. 16мин.:
Увы...Новая карта, вновь залитая ОС, софт с форума.Первый раз ругается на отступ тут: s0.v = 36 # Поток направлен в емкость для приема голов (°) _______________________________________________________________________________time.sleep(1), убираю отступ, а потом та же ругань, но чуть иначе поданная в конце((.11111. Ненавязчивая автоматизация ректификационной установки. Автоматика. Такое ощущение, что косяк в железе, а из-за него всплывает непредвиденный баг в софте.