Arduino pro mini 5v проблема с аналоговыми пинами

Dron900
Offline
Зарегистрирован: 28.08.2016

Доброго времени суток всем. Делаю машинку под управоением ардуино по bluetooth. Все дигитальные пины заняты, использую аналоговые пины для того чтоб включать светодиоды и выключать. Суть проблемы в том что когда я подаю HIGH на пин А4 он зогарается как и должно быть но когда подаю LOW он не выключает светодиод.

на осттольных пинах(А0,А1) все работает ок. П.с пины А2,А3,А5,А6,А7 вообше не реагируют, как будто не работают.

вот скеч(он еше не дороботан):

#include <SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>
#include <AFMotor.h>
#include <Servo.h> 
AF_DCMotor motor2(2, MOTOR12_64KHZ);
AF_DCMotor motor1(1, MOTOR12_64KHZ);
AF_DCMotor motor3(3, MOTOR12_64KHZ);
AF_DCMotor motor4(4, MOTOR12_64KHZ);
Servo servo1;
SoftwareSerial mySerial(2,13); // RX, TX
/*int sound==0;
long previousMillis = 0;        
long interval = 1000;*/

void setup() {
  servo1.write(90);
  delay(15);
  Serial.begin(9600);
  mySerial.begin(9600);
  mp3_set_serial (Serial);  //set Serial for DFPlayer-mini mp3 module 
  mp3_set_volume (30);
  motor1.setSpeed(100);
  motor2.setSpeed(100);
  motor3.setSpeed(100);
  motor4.setSpeed(100);
  motor1.run(RELEASE) ;
  motor2.run(RELEASE) ;
  motor3.run(RELEASE) ;
  motor4.run(RELEASE) ;  
  servo1.attach(9);
  pinMode(A0, OUTPUT);
  pinMode(A4, OUTPUT);
  pinMode(A1, OUTPUT);
  
}

void loop() {
     if (mySerial.available() > 0) {
     char control = mySerial.read();
     switch(control)
     {
       case 'S':
        digitalWrite(A1,LOW);
        motor1.run(RELEASE) ;
        motor2.run(RELEASE) ;
        motor3.run(RELEASE) ;
        motor4.run(RELEASE) ;
        break;
       case 'F':
        digitalWrite(A1,LOW);
        motor1.run(FORWARD) ;
        motor2.run(FORWARD) ;
        motor3.run(FORWARD) ;
        motor4.run(FORWARD) ;
        break;
       case 'B':
        motor1.run(BACKWARD) ;
        motor2.run(BACKWARD) ;
        motor3.run(BACKWARD) ;
        motor4.run(BACKWARD) ;
        digitalWrite(A1, HIGH);
        break;
       case 'L':
        servo1.write(50);                                                       
        delay(15);
        break;
       case 'R':
        servo1.write(130);                            
        delay(15);
        break;
       case 'C':
        servo1.write(90);                            
        delay(15);
        break;
       case 'Q':
        digitalWrite(A4, HIGH);
        break;
       case 'W':
        digitalWrite(A4, LOW);
        break;
       case 'P':
        digitalWrite(A0, HIGH);
        break;
       case 'O':
        digitalWrite(A0, LOW);
        break;
       case '1':
        mp3_play (1);
        break;
       case '2':
        mp3_stop ();
        break;
         
     }
 }
}

Кто то знает в чем проблема?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Пины А6 и А7 - чисто аналоговые входы, в качестве цифровых входов-выходов работать не могут.

Если пины от А0 до А5 работают как-то не так, как остальные, вероятно, они повреждены либо неправильно подключены.

FAI4
Offline
Зарегистрирован: 23.09.2016

A4 A5 задействованы могут быть в протоколах последовательной передачи данных (в используемых библиотеках)

Остальные порты (кроме А0 А1) не сконфигурированы на вывод информации в программе

31   pinMode(A0, OUTPUT);
32   pinMode(A4, OUTPUT);
33   pinMode(A1, OUTPUT);