Странно работает UNO

VIKRUD
Offline
Зарегистрирован: 12.12.2020

Начал понемногу изучать UNO (именно UNO с китая), а проблема возникла с входами. Определить PIN как входа, и не подключая к ним ничего считываю их состояние и оно постоянно меняется, что мешает при написании программки. Если кто может подсказать, буду очень признателен....

VIKRUD
Offline
Зарегистрирован: 12.12.2020
#include <LiquidCrystal_PCF8574.h>
#include <Wire.h>
LiquidCrystal_PCF8574 lcd(0x27); 
void setup() {
  Serial.begin(115200);
  lcd.begin(16, 2);  
   lcd.setBacklight(255); 
   pinMode(1,INPUT)  ;
   pinMode(2,INPUT)  ;        
   pinMode(3,INPUT)  ;        
   pinMode(4,INPUT)  ; 
   pinMode(5,INPUT)  ;        
   pinMode(6,INPUT)  ;        
   pinMode(7,INPUT)  ;        
   pinMode(12,OUTPUT)  ;
   }
void loop() {
   lcd.setCursor(0, 0);                              
  lcd.print(digitalRead(1));
  lcd.print(digitalRead(2));
  lcd.print(digitalRead(3));
  lcd.print(digitalRead(4));
  lcd.print(digitalRead(5));
  lcd.print(digitalRead(7));
 
delay(200);
if (digitalRead(7) == HIGH) 
{
 lcd.setCursor(0, 1);
 lcd.print("ghj45");
 digitalWrite(12, HIGH);
 delay(500);}
 else {
  lcd.setCursor(0, 1);
  lcd.print("         ");
  digitalWrite(12, LOW);
 delay(500);}
 
 
 }
 
sadman41
Offline
Зарегистрирован: 19.10.2016
andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

VIKRUD пишет:

Начал понемногу изучать UNO (именно UNO с китая), а проблема возникла с входами. Определить PIN как входа, и не подключая к ним ничего считываю их состояние и оно постоянно меняется, что мешает при написании программки. Если кто может подсказать, буду очень признателен....

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

Если этот факт мешает Вам написать программу - займитесь чем-нибудь другим, Ардуино - не для Вас.

nik182
Offline
Зарегистрирован: 04.05.2015

INPUT_PULLUP используйте для режима ноги. Будет всегда высокий уровень и кнопка на массу будет давать низкий.

VIKRUD
Offline
Зарегистрирован: 12.12.2020

самый лучший совет

 

VIKRUD
Offline
Зарегистрирован: 12.12.2020

nik182 пишет:

INPUT_PULLUP используйте для режима ноги. Будет всегда высокий уровень и кнопка на массу будет давать низкий.

Можете подробней объяснить, если не тяжело, в кратце

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

VIKRUD пишет:

nik182 пишет:

INPUT_PULLUP используйте для режима ноги. Будет всегда высокий уровень и кнопка на массу будет давать низкий.

Можете подробней объяснить, если не тяжело, в кратце

 много где написано

nik182
Offline
Зарегистрирован: 04.05.2015

http://arduino.ru/Tutorial/DigitalPins

Все описано в разделе Программирование сайта. Прочитайте всё, что бы не было детских вопросов. 

Aleksandr Makarov
Offline
Зарегистрирован: 01.02.2019

Вот в ролике про подключение кнопки и там же про INPUT и про INPUT_PULLUP

https://www.youtube.com/watch?v=3UwgMAdV4xQ&list=PLgAbBhxTglwmVxDDC5TSYU...

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

VIKRUD пишет:

Определить PIN как входа, и не подключая к ним ничего считываю их состояние и оно постоянно меняется, что мешает при написании программки. 

Ужас! И как жить-то?

VIKRUD пишет:

Если кто может подсказать, буду очень признателен....

Могу! Вы очень близки к изобретению антенны! Продолжайте работать и обязательно запатентуйте результат!

----------------

А если серьёзно - это нормальное поведение. Даже не знаю, что Вам подсказывать. Либо не делайте их входами, либо обеспечьте, чтобы входы не болтались в воздухе, и имели разумные значения.

Гриша
Offline
Зарегистрирован: 27.04.2014

VIKRUD пишет:

Определить PIN как входа, и не подключая к ним ничего считываю их состояние и оно постоянно меняется, что мешает при написании программки. Если кто может подсказать, буду очень признателен....

ну написали многое, добавлю, прочитайте про сенсорную кнопку, ну хотя бы тут

и вообще, учится нужно не отрываясь от теории, а вы сразу за практику - повторите пару тройку хорошо описанных проектов, их полно на просторах инета. Имейте ввиду Гивер не самый лучший источник - у него очень много ошибок, и он не отвечает на вопросы и тут его терпеть не могут по этой причине.

как у вас с законом Ома?