Arduino pro mini 5v проблема с аналоговыми пинами
- Войдите на сайт для отправки комментариев
Пт, 11/11/2016 - 22:24
Доброго времени суток всем. Делаю машинку под управоением ардуино по 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; } } }
Кто то знает в чем проблема?
Пины А6 и А7 - чисто аналоговые входы, в качестве цифровых входов-выходов работать не могут.
Если пины от А0 до А5 работают как-то не так, как остальные, вероятно, они повреждены либо неправильно подключены.
A4 A5 задействованы могут быть в протоколах последовательной передачи данных (в используемых библиотеках)
Остальные порты (кроме А0 А1) не сконфигурированы на вывод информации в программе
31
pinMode(A0, OUTPUT);
32
pinMode(A4, OUTPUT);
33
pinMode(A1, OUTPUT);