(11-07-2018, 12:21)es2 napisał(a):(11-07-2018, 10:42)mojojek napisał(a): i zaczynają mi świrować diody :
Co znaczy świrować?
Pokaż schemat jak to wszystko zasilasz i z czego.
Świrować tzn. tak jakby się zwieszały na jakiś czas, reagowały z opóźnieniem na kontaktron ale wydaje mi się, że tamten kod był po prostu źle napisany.
Odnośnie połączenia to wygląda to tak:
Zasilanie:
Nano V3 - zasilam z laptopa przez usb lub z ładowarki 5V 2A.
SIM800L v2 zasilam z ładowarki 5V 2A poprzez piny 5VIN oraz GND
Podłączenie:
SIM800 TXD - D11 Arduino
SIM800 RXD - D12 Arduino
Arduino D4 - zielona dioda przez rezystor 220Ohm
Arduino D3 - czerwona dioda przez rezystor 220Ohm
Arduino D2 - kontaktron
Arduino GND - kontaktron
Arduino GND - obie diody
Dodam, że dla testów wgrałem wczorajszy program, który w teorii powinien wysyłać testowego smsa na mój numer przy starcie systemu (wczoraj wysłał bez problemu). Niestety dziś nic mi nie wysyła. Dioda SIM800L miga po włączeniu szybko, następnie po chwili zaczyna już migać powiedzmy raz na 3 sekundy. Rozumiem, że w tym wypadku SIM800 sygnalizuje prawidłową siłę sygnału? Oczywiście podpięta jest dołączona do zestawu antenka.
Kod:
#include <SoftwareSerial.h>
SoftwareSerial gsm800(11,12);
void setup()
{
pinMode(2, INPUT_PULLUP);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
Serial.begin(9600);
while(!Serial);
gsm800.begin(9600);
delay(100);
gsm800.write("AT+CMGF=1\r\n");
delay(100);
gsm800.write("AT+CMGS=\"+48xxxxxxxxx\"\r\n");
delay(100);
gsm800.write("START SYSTEMU");
delay(100);
gsm800.write((char)26);
delay(100);
}
void loop()
{
if (digitalRead(2)==LOW)
{
digitalWrite(4,HIGH);
digitalWrite(3,LOW);
}
else
{
digitalWrite(4,LOW);
digitalWrite(3,HIGH);
}
}