Не удается запустить функцию при загрузке

Я пытаюсь сделать из устройства Adafruit 32u4 FONA простое устройство. Просто когда я нажимаю кнопку, система включается и набирает номер. Но по какой-то причине он отказывается включаться и делать то, что должен делать.

void PinMode_Setup() {
pinMode(13, OUTPUT);//This is the blinky light
pinMode(6, OUTPUT);//This is the MOSFET gate
digitalWrite(6, HIGH);//Immediately activate the MOSFET gate
}

#include "OneButton.h"#include "Adafruit_FONA.h"
#define FONA_RX 9
#define FONA_TX 8
#define FONA_RST 4
#define FONA_RI 7

#define Number "##########"
int count=0;//This will count how many times we blink before turning off

// Hardware serial is also possible!
HardwareSerial *fonaSerial = &Serial1;

// Use this for FONA 800 and 808s
Adafruit_FONA fona = Adafruit_FONA(FONA_RST);

uint8_t readline(char *buff, uint8_t maxbuff, uint16_t timeout = 0);

uint8_t type;

void setup() {

digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW);
delay(1000); count++; if(count>2) {int count=0;} delay(2);

{
while (1);}
type = fona.type();
switch (type) {
case FONA800L:
break;
case FONA800H:
break;
case FONA808_V1:
break;
case FONA808_V2:
break;
case FONA3G_A:
break;
case FONA3G_E:
break;
default:
break;
}

pinMode(FONA_RI, INPUT);

pinMode(LED_BUILTIN, OUTPUT);

while (1) {

digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
delay(100);                       // wait for a second
digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
delay(100);

uint8_t n = fona.getNetworkStatus();
if (n == 0) digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); count++; if(count>1) {int count=0;} delay(2); //Not registered
if (n == 1) digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); count++; if(count>2) {int count=0;} delay(2); //Registered (Online)
if (n == 2) digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); count++; if(count>3) {int count=0;} delay(2); //Not registered (searching)
if (n == 3) digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); count++; if(count>4) {int count=0;} delay(2); //Denied
if (n == 4) digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); count++; if(count>5) {int count=0;} delay(2); //Unknown
if (n == 5) digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); count++; if(count>6) {int count=0;} delay(2); //Registered roaming

if (n == 1) break;
}Serial.println("Ready to contact!");
fona.playToolkitTone(1, 100);

delay(500);

digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
delay(200);              // wait for a second
digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
delay(200);              // wait for a second
count++;
if(count>2)//After the third blink
{
Serial.print("Calling Phone");
fona.callPhone(Number);
}
}

Вот простая схема, которую я использую.

введите описание изображения здесь

Кстати, у меня вся система работает от аккумулятора 3,7 В 1200 мАч.

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

int count=0;//This will count how many times we blink before turning off

void setup() {
pinMode(13, OUTPUT);//This is the blinky light
pinMode(6, OUTPUT);//This is the MOSFET gate
digitalWrite(6, HIGH);//Immediately activate the MOSFET gate}

void loop() {

digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
delay(1000);              // wait for a second
digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
delay(1000);              // wait for a second
count++;
if(count>3)//After the fifth blink
{
digitalWrite(6, LOW);//Shut down the gate cutting off the power.
}
}

-4

Решение

Есть несколько проблем, которые я вижу здесь.

1. Из схемы видно, что вы подключаете кнопку к контакту 12, но она не была использована в вашем коде.

2. Вам не нужен MOSFET для того, чтобы вытащить вывод ввода-вывода высоко.

3. Рельсы электропитания должны быть соединены параллельно, так как они не связаны вместе под капотом (буквально).

Не забудьте сообщить нам о вашем прогрессе устранения неполадок!

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector