• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Prośba o sprawdzenie kodu
#1
Witam
Na początku pragnę poinformować że dopiero raczkuje z elektroniką i programowaniem.W związku z tym proszę o wyrozumiałość : >
Chcę za pomocą arduino + neoway m590 + czujnik temperatury DS18B20 przesyłać temperaturę po wysłaniu smsa z komendą.Przy wsparciu książek+internetu wyskrobałem taki kod:

Kod:
#include <DallasTemperature.h>
#include <OneWire.h>
#include <SoftwareSerial.h>
String textForSMS;
float currentTemp;
char inchar;

SoftwareSerial cellSerial(4,5); // numery pinów tx rx chyba?
#define ONEWIRE_PIN 2             /// numer pinu czujnika temp.
byte address[8] = {0x28, 0xFF, 0xFC, 0xDA, 0x84, 0x16, 0x5, 0x50}; /// adres czujnika temp.

OneWire onewire(ONEWIRE_PIN);
DallasTemperature sensors(&onewire);

void setup()
{
cellSerial.begin(57600); /// boud rate modułu GSM
Serial.begin(9600); /// rate sensora temp.
delay(3000);
sensors.begin();
}

void SendTextMessage(String message) ///funkcja do wysyłania wiadomości SMS
{
cellSerial.print("AT+CMGF=1\r"); // przełączenie modułu na text mode
delay(300);
cellSerial.println("AT+CSCS=\"GSM\"\r"); /// ustawianie znaków GSM
delay(300);
cellSerial.println("AT+SMGS=\"+48697516999\"\r"); // numer telefonu do którego ma wysłać
delay(300);
cellSerial.println(message); // zawartość wiadomości SMS
cellSerial.println((char)26); // kod26 to zakończenie "CTRL+Z"
delay(2000);
cellSerial.println();
}


void loop()
{
if (cellSerial.available() > 0)
{
 inchar = cellSerial.read();
 if (inchar == '#') // początek polecenia w komendzie SMS
 {
   delay(20);
   inchar = cellSerial.read();
   if (inchar == 't')
   {
     delay(20);
     inchar = cellSerial.read();
     if (inchar == 'm')
     {
       delay(20);
       inchar = cellSerial.read();
       if (inchar == 'p')
      {
      Serial.println ("rozpoczecie odczytu temperatury");
      currentTemp = sensors.getTempCByIndex(0);
      textForSMS = "Temperatura:";
      textForSMS = (textForSMS, currentTemp);
      Serial.println("wiadomosc:");
      Serial.println(textForSMS);
      SendTextMessage (textForSMS);
      delay(30000);
      Serial.println("zakonczono czas oczekiwania");
      }
      }
      cellSerial.println("AT+CMGD=3"); // usuwanie smsów
     }
   }
 }
}



Z góry dziękuję za wyrozumiałość i pomoc.
 
Odpowiedź
  


Wiadomości w tym wątku
Prośba o sprawdzenie kodu - przez aqq - 27-08-2017, 18:42
RE: Prośba o sprawdzenie kodu - przez adix - 27-08-2017, 20:46
RE: Prośba o sprawdzenie kodu - przez aqq - 29-08-2017, 21:15
RE: Prośba o sprawdzenie kodu - przez Robson Kerman - 30-08-2017, 09:30
RE: Prośba o sprawdzenie kodu - przez aqq - 30-08-2017, 10:30
RE: Prośba o sprawdzenie kodu - przez aqq - 30-08-2017, 11:48
RE: Prośba o sprawdzenie kodu - przez adix - 30-08-2017, 20:02
RE: Prośba o sprawdzenie kodu - przez aqq - 30-08-2017, 22:07
RE: Prośba o sprawdzenie kodu - przez adix - 09-09-2017, 18:10

Skocz do:


Przeglądający: 1 gości