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

Тема в разделе "Arduino & Shields", создана пользователем Andrey.D, 11 ноя 2016.

  1. Andrey.D

    Andrey.D Нерд

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

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

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

    01 #include <SoftwareSerial.h>
    02 #include <DFPlayer_Mini_Mp3.h>
    03 #include <AFMotor.h>
    04 #include <Servo.h>
    05 AF_DCMotor motor2(2, MOTOR12_64KHZ);
    06 AF_DCMotor motor1(1, MOTOR12_64KHZ);
    07 AF_DCMotor motor3(3, MOTOR12_64KHZ);
    08 AF_DCMotor motor4(4, MOTOR12_64KHZ);
    09 Servo servo1;
    10 SoftwareSerial mySerial(2,13); // RX, TX
    11 /*int sound==0;
    12 long previousMillis = 0;
    13 long interval = 1000;*/
    14
    15 void setup() {
    16 servo1.write(90);
    17 delay(15);
    18 Serial.begin(9600);
    19 mySerial.begin(9600);
    20 mp3_set_serial (Serial); //set Serial for DFPlayer-mini mp3 module
    21 mp3_set_volume (30);
    22 motor1.setSpeed(100);
    23 motor2.setSpeed(100);
    24 motor3.setSpeed(100);
    25 motor4.setSpeed(100);
    26 motor1.run(RELEASE) ;
    27 motor2.run(RELEASE) ;
    28 motor3.run(RELEASE) ;
    29 motor4.run(RELEASE) ;
    30 servo1.attach(9);
    31 pinMode(A0, OUTPUT);
    32 pinMode(A4, OUTPUT);
    33 pinMode(A1, OUTPUT);
    34
    35 }
    36
    37 void loop() {
    38 if (mySerial.available() > 0) {
    39 char control = mySerial.read();
    40 switch(control)
    41 {
    42 case 'S':
    43 digitalWrite(A1,LOW);
    44 motor1.run(RELEASE) ;
    45 motor2.run(RELEASE) ;
    46 motor3.run(RELEASE) ;
    47 motor4.run(RELEASE) ;
    48 break;
    49 case 'F':
    50 digitalWrite(A1,LOW);
    51 motor1.run(FORWARD) ;
    52 motor2.run(FORWARD) ;
    53 motor3.run(FORWARD) ;
    54 motor4.run(FORWARD) ;
    55 break;
    56 case 'B':
    57 motor1.run(BACKWARD) ;
    58 motor2.run(BACKWARD) ;
    59 motor3.run(BACKWARD) ;
    60 motor4.run(BACKWARD) ;
    61 digitalWrite(A1, HIGH);
    62 break;
    63 case 'L':
    64 servo1.write(50);
    65 delay(15);
    66 break;
    67 case 'R':
    68 servo1.write(130);
    69 delay(15);
    70 break;
    71 case 'C':
    72 servo1.write(90);
    73 delay(15);
    74 break;
    75 case 'Q':
    76 digitalWrite(A4, HIGH);
    77 break;
    78 case 'W':
    79 digitalWrite(A4, LOW);
    80 break;
    81 case 'P':
    82 digitalWrite(A0, HIGH);
    83 break;
    84 case 'O':
    85 digitalWrite(A0, LOW);
    86 break;
    87 case '1':
    88 mp3_play (1);
    89 break;
    90 case '2':
    91 mp3_stop ();
    92 break;
    93
    94 }
    95 }
    96 }
    Кто то знает в чем проблема?
     
  2. rkit

    rkit Гуру

    Ну для начала всё разобрать и проверить пины на работособность в принципе.
     
  3. Andrey.D

    Andrey.D Нерд

    Все уже разберал второй день сижу с паяльником:(.
    Есть такое предчувствие что это программный косяк, хотя вроде все просто.
    Есть в цепочке мотор шильд и мп3 модуль с каждым своя история но все вроде работает кроме 2 светодиодов подключенных параллельно через резисторы.
     
  4. rkit

    rkit Гуру

    И?

    Определитесь уже. Либо одно, либо другое.
     
  5. Tomasina

    Tomasina Сушитель лампочек Модератор

    Попробуй на другой ардуинке. Сразу будет понятно - программный или аппаратный косяк.
    С виду скетч вполне корректный.
     
  6. rkit

    rkit Гуру

    Или вторая убитая ардинка.
     
  7. Andrey.D

    Andrey.D Нерд

    Пока не чего не нашол. Включается без проблем а вот выключить не могу.
    Я новичок, есть противоречия? к каждему светодиоду я припаял по резистору а потом сойденил оба плюса и минуса.
    При подачи питание на плату не чего само произвольно не загорается,только при подачи моего сигнала. исходя из этого могу предположить что аппаратный косяк отпадает.

    Может быть такое что это какие то наводки мешают?
     
  8. rkit

    rkit Гуру

    Вы меня не поняли. Я сказал "надо проверить пины". Четыре строчки кода и тестер. Тут неопределенности быть не может. Либо пин работает, либо нет. Вы чем-то другим занимались.

    Еще менее понятно.
     
  9. Andrey.D

    Andrey.D Нерд

    сейчас проверю.
     

    Вложения:

  10. Andrey.D

    Andrey.D Нерд

    Проверил пин отдельно и все четко работает! аппаратный косяк отпадает.
     
  11. rkit

    rkit Гуру

    Ну тогда надо считать сколько потребляет питания весь обвес, и не превышены ли максимумы.
     
  12. Andrey.D

    Andrey.D Нерд

    а причем тут питание? если все загорается как надо, да есче и все в месте?!
     
  13. Andrey.D

    Andrey.D Нерд

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