Почему на ардуино реле моргает зеленным и не может включиться? Подключил: +5В от БП, минус общий с ардуино и Реле, на управление контакт Д4 пробовал и А0

Комментарии: 12

  1. Imya

    Может тока не хватает, попробуй управление через транзистор с пина сделать или оптопару, ещё программу покажи

    • Bekzat

      БП на 10А

      • Imya

        Тока пина ардуинки

        • Bekzat

          Транзистор с чего снят можно? По идее реле для ардуино

          • Imya

            Вариантов много с чего, фото реле, как подключаешь и программу скинь,

            • Bekzat

              Код ? SoftwareSerial SIM900(7, 8); // RX, TX const int powerPin = 9; const int relayPin = 4; void setup() { pinMode(powerPin, OUTPUT); pinMode(relayPin, OUTPUT); digitalWrite(relayPin, LOW); // Power on the SIM900 module SIM900power(); // Turn off relay for 3 seconds at the start pinMode(relayPin, INPUT); // Turn off relay delay(3000); SIM900.begin(9600); // Start the software serial communication with SIM900 at 9600 baud rate } void loop() { if (SIM900.available()) { if (SIM900.readString().indexOf(" ") > 0) { answerCall(); } } } void SIM900power() { digitalWrite(powerPin, LOW); delay(1000); digitalWrite(powerPin, HIGH); delay(2000); digitalWrite(powerPin, LOW); delay(3000); } void answerCall() { SIM900.println("ATA"); // Answer the call delay(1000); pinMode(relayPin, OUTPUT); // Turn on relay while (SIM900.readString().indexOf("NO CARRIER") == -1) { // Wait for the call to end } pinMode(relayPin, INPUT); // Turn off relay }

              • Ensem

                Может реле на 12 вольт?

                • Bekzat

                  5В Я сам его включал от 5В Он в начале с другим кодом включался Только сразу после подачи напряжения А сейчас дергается но не может

                  • Ensem

                    А оно не pnp что-ли? Не плюсом управляется?

                    • Bekzat

                      Нет нулем почему-то Собирал на ардуино нано

                  • Wpe

                    странновато выглядит я не понимаю зачем relayPin переназначать с типа OUTPUT на INPUT   // Turn off relay for 3 seconds at the start  digitalWrite(relayPin, LOW); // Turn off relay   delay(3000); void answerCall() {   SIM900.println("ATA"); // Answer the call   delay(1000);   digitalWrite(relayPin, HIGH); // Turn on relay     while (SIM900.readString().indexOf("NO CARRIER") == -1) {     // Wait for the call to end   }     digitalWrite(relayPin, LOW); // Turn off relay } вот в этих трех кусках попробуй заменить в другом коде там в void видимо прописано было реле с HIGH ставить, а потом выключать через 3 сек

                    • Bekzat

                      Он сначала включался со старата Без команды Потом чтобы он начальное положение выкл принял прописал чтобы он выключил его

Не нашли ответ?

Вам также может быть интересно