pin0 всегда High

rotermelk
Offline
Зарегистрирован: 07.01.2018

Реализую 1 проэкт где нужны все входы но столкнулся с проблемой pin 0 в режиме входа всегда равен единице

Araris
Offline
Зарегистрирован: 09.11.2012

Serial.begin() в скетче присутствует ?

pinMode(0,INPUT) или pinMode(0,INPUT_PULLUP) в скетче присутствует ?

rotermelk
Offline
Зарегистрирован: 07.01.2018

""Serial.begin() в скетче присутствует ?"" Нет

""pinMode(0,INPUT) ""да или ""pinMode(0,INPUT_PULLUP)"" нет
вход подтянут к земле резистором на 10ком как и 10 других входов но всегда high только он

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

rotermelk пишет:
Реализую 1 проэкт где нужны все входы но столкнулся с проблемой pin 0 в режиме входа всегда равен единице

Пин0 - это ваш сериальный порт.
Вы уверены что  у вас он не используется программой ?

Даже если не используется программой - он  всё равно используется загрузчиком.
И там ВСЕГДА подключен ( на пины 0 и 1)  USB-to-SERIAL ( за исключением плат PRO MINI)

rotermelk
Offline
Зарегистрирован: 07.01.2018

Той что я писал нет, или вы имеете в виду техническую особенность платы? пин 1 нормально принимает оба состояния, но 0 всегда 1. питаю через блок питания не по юсб

rotermelk
Offline
Зарегистрирован: 07.01.2018

плата ардуино уно

b707
Offline
Зарегистрирован: 26.05.2017

rotermelk пишет:
плата ардуино уно

Неужели нет ни одного свободного, кроме пина 0? - На уно вы можете использовать как цифровой любой из аналоговых портов

rotermelk
Offline
Зарегистрирован: 07.01.2018

нет ни одного, поключаю 6 датчиков положения через оптопары, дисплей по i2c , 6 кнопок , и 6 модулей на мосфетах. все 20 забиты есть еще а6 и а7(ардуина от robotdyn)но они не хотят работать как цифровые входы. если не найду выхода из ситуции придется мудрить с соединением кнопок по матричной схеме.

sadman41
Offline
Зарегистрирован: 19.10.2016

Наверняка можно оптопары можно на A6/A7 завесить и через map() приводить их к 1/0.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Один или парочка мультиплексоров типа 74HC165 может помочь отцу русской демократии, считаю.

b707
Offline
Зарегистрирован: 26.05.2017

Самое простое - на А6 и А7 перевесить две кнопки. Ну или все 6 кнопок на один аналоговый пин по резистивной схеме.

b707
Offline
Зарегистрирован: 26.05.2017

DIYMan пишет:

Один или парочка мультиплексоров типа 74HC165 может помочь отцу русской демократии, считаю.

та на што? - у него и так запас пинов пять...

rotermelk
Offline
Зарегистрирован: 07.01.2018

откуда 5 то насчитали

rotermelk
Offline
Зарегистрирован: 07.01.2018

можете поделится примером как ? я подключаюсь к а0-3 через digitalRead, но с а6-7 так не получается. с ардуино работаю впервые до этого только с пром ПЛК

b707
Offline
Зарегистрирован: 26.05.2017

rotermelk пишет:
откуда 5 то насчитали

даже шесть или семь

а) шесть кнопок вешаем на пин А6 - выигрываем 6 портов

б) одну оптопару перевешиваем на А7 - вот седьмой

Может и это не все

 

b707
Offline
Зарегистрирован: 26.05.2017

rotermelk пишет:
можете поделится примером как ? я подключаюсь к а0-3 через digitalRead, но с а6-7 так не получается. с ардуино работаю впервые до этого только с пром ПЛК

а6 и а7 - "analog ONLY pins" - с ними digitalRead не работает, пользуйте analogRead. Если результат больше 512 - это HIGH. иначе - LOW

sadman41
Offline
Зарегистрирован: 19.10.2016

Только для пары кнопок это не совсем выгодно, потому что программно дребезг нужно будет обрабатывать двумя способами - как для диджитального пина, так и для аналогового. А в оптике проблема дребезга не стоит.