Аналоговые входы ATMega 32u4

UniDay
Offline
Зарегистрирован: 18.05.2019

Приветствую всех!

Сильно тапками не кидайтесь только начал ковырять ардуинку и сразу вопрос.

Сразу скажу проверял это сразу на 4х ардуинках глюк один и тот же.

Ситуация следующая: Есть плата про микро (китай) (как уже говорл 4 штуки глюк один и тот же)

есть 8 понециометров которые подсоединены к входам А0-А7 (А0-3,10,9,8,6) (5 вольт внешний источник, напряжение мерял 5.02В стабильное)

Первые 7 показывают нормальные значения а восьмой вход показывает случайные числа в диапазоне значений 7 входа +- 50

Понимаю что есть какой то нюанс, но какой ума не приложу. Где искать ?

на всякий случай прикладываю код

#define Ctrl1Pin A0            
#define Ctrl2Pin A1   
#define Ctrl3Pin A2   
#define Ctrl4Pin A3  
#define Ctrl5Pin 10  
#define Ctrl6Pin 9    
#define Ctrl7Pin 8   
#define Ctrl8Pin 6    



unsigned long ChP1,ChP2,ChP3,ChP4,ChP5,ChP6,ChP7,ChP8;
String ASas; 

void setup()
{
  Serial.begin (9600);
  RXLED0;
  TXLED0;
  pinMode (Ctrl1Pin, INPUT);
  pinMode (Ctrl2Pin, INPUT);
  pinMode (Ctrl3Pin, INPUT);
  pinMode (Ctrl4Pin, INPUT);
  pinMode (Ctrl5Pin, INPUT);
  pinMode (Ctrl6Pin, INPUT);
  pinMode (Ctrl7Pin, INPUT);
  pinMode (Ctrl8Pin, INPUT);
}
void loop()
{
  ChP1 = analogRead (Ctrl1Pin);
  ChP2 = analogRead (Ctrl2Pin);
  ChP3 = analogRead (Ctrl3Pin);
  ChP4 = analogRead (Ctrl4Pin);
  ChP5 = analogRead (Ctrl5Pin);
  ChP6 = analogRead (Ctrl6Pin);
  ChP7 = analogRead (Ctrl7Pin);
  ChP8 = analogRead (Ctrl8Pin);
  ASas =  ChP1;
  Serial.print (ChP1);
  Serial.print (" - ");
  Serial.print (ChP2);
  Serial.print (" - ");
  Serial.print (ChP3);
  Serial.print (" - ");
  Serial.print (ChP4);
  Serial.print (" - ");
  Serial.print (ChP5);
  Serial.print (" - ");
  Serial.print (ChP6);
  Serial.print (" - ");
  Serial.print (ChP7);
  Serial.print (" - ");
  Serial.println (ChP8);

}//loop

Заранее спасибо.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

#define Ctrl5Pin 10  
#define Ctrl6Pin 9    
#define Ctrl7Pin 8   
#define Ctrl8Pin 6    

Что это за отсебятина? Вот так надо:

#define Ctrl5Pin A10  
#define Ctrl6Pin A9    
#define Ctrl7Pin A8   
#define Ctrl8Pin A7

 

UniDay
Offline
Зарегистрирован: 18.05.2019

Никогда бы не подумал, но помогло ))) Спасибо !!!!!!

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

А для чего строки №№ 13, 20-27 и 39. Мне кажется, что они лишние.

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

UniDay пишет:

Никогда бы не подумал

дейстаительно, как же догадаться...

UniDay
Offline
Зарегистрирован: 18.05.2019

ЕвгенийП пишет:

А для чего строки №№ 13, 20-27 и 39. Мне кажется, что они лишние.

Все верно строковую переменную ввел, хотел суммировать значения с входов переведя в строки и добавив " - " между ними но устал и забросил идею просто написал в тупую print и println )

Обявил порты вводами на всякий случай, искал где глючит, как OUTPUT работали норм. Вначале вообще думал, что где то непропай или наоборот сопля. На программу не думал вообще.

UniDay
Offline
Зарегистрирован: 18.05.2019

b707 пишет:

дейстаительно, как же догадаться...

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