Sehr geehrte Community,
Ich habe bei meinem eigenen Projekt ein Porblem vieles hab ich herausgefunden bei dem Epaper Projekt.
Bei meinem Projekt verwenden ich einen Arduino Uno, ein GSM Shield(Telefonica) und ein ePaper.
Ich habe mein Programm jetzt so weit das ich die SMS Ausgelesen bekomme nur das Problem ist dabei wenn ich eine 1 auslesen will bekomme ich 49 raus (decimal) und ich habe es mit if(Volt == 49) versucht aber genau so mit switch(Volt){ case 49: ..... break;} jedes mal kam aber leider das selbe ergebnis das er switch case ignoriert und bei if zur else rüber springt obwohl im seriellen monitor die 49(1) angezeigt wird. Hier ist noch der if befehl drin 49 wird angezeigt im serielen monitor und bei der if abfrage wird die 49 nicht akzeptiert und es kommt geht nicht
Programm:
#include <GSM.h>
#include <Arduino.h>
#include <epa20.h>
#include <font_8x16.h>
#include <font_16x32nums.h>
#define PINNUMBER ""
epa20 EPA20;
GSM gsmAccess;
GSM_SMS sms;
char remoteNumber[20];
void setup() {
//Seriel initialisieren
Serial.begin(9600);
//Display Initialisieren
EPA20.initialize(10,0,0,0,9,8);
EPA20.clear();
//DEBUG
Serial.println("SMS Empfangssystem");
//NORMAL
EPA20.clear();
EPA20.string(33,54,font_8x16,"Empfangssystem",BLACK,WHITE);
EPA20.string(48,38,font_8x16,"Startet...",BLACK,WHITE);
EPA20.update();
//PIN CHECK
boolean notConnected = true;
while(notConnected)
{
if(gsmAccess.begin(PINNUMBER)==GSM_READY)
notConnected = false;
else
{
//DEBUG
Serial.println("Nicht verbunden(SIM Karten Fehler/Falsche Pin");
//NORMAL
EPA20.clear();
EPA20.string(25,54,font_8x16,"SIM KARTEN ERROR",BLACK,WHITE);
EPA20.string(73,38,font_8x16,"ODER",BLACK,WHITE);
EPA20.string(25,20,font_8x16,"PIN NUMMER ERROR",BLACK,WHITE);
EPA20.update();
delay(3000);
//DEBUG
Serial.println("Gerät wurde ausgeschaltet");
//Normal
EPA20.clear();
EPA20.string(40,54,font_8x16,"SYSTEM WURDE",BLACK,WHITE);
EPA20.string(35,38,font_8x16,"AUSGESCHALTEN",BLACK,WHITE);
EPA20.update();
delay(999999999999999999999);
}
}
//DEBUG
Serial.println("GSM Initialisiert");
Serial.println("Warte auf SMS");
//Normal
EPA20.clear();
EPA20.string(20,38,font_8x16,"GSM Initialisiert",BLACK,WHITE);
EPA20.update();
delay(3000);
EPA20.clear();
EPA20.string(28,38,font_8x16,"Warte auf Daten",BLACK,WHITE);
EPA20.update();
}
void loop() {
Abfrage();
delay(500);
}
void Abfrage() {
uint32_t c;
char Volt[20];
if (sms.available())
{
Serial.println("Nachricht von:");
sms.remoteNumber(remoteNumber, 20);
Serial.println(remoteNumber);
if(sms.peek()=='#')
{
Serial.println("Discarded SMS");
sms.flush();
}
while(c=sms.read())
//Serial.print(c);
snprintf(Volt,sizeof(c), "%ld", c/1,c%100);
Serial.print(Volt);
EPA20.clear();
EPA20.string(0,0,font_8x16,Volt,BLACK,WHITE);
EPA20.update();
delay(5000);
Serial.print("Switch");
if(Volt == 49){
Serial.print("geht");
}
else{
Serial.print("geht nicht");
}
delay(5000);
Serial.print("Ende");
Serial.println("\nEnde der Nachricht");
sms.flush();
Serial.println("Nachricht gelöscht");
}
}