Hallo
Ich habe dass Problem dass mir mein gsm Modul (sim800l) eine gewünschte sms nicht sendet. wenn ich aber in einem anderen Sketch eine test sms sende Sendet es mir die sms
Hier der Code
Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden. Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.
Ich vermute, du verwendest einen Uno oder Nano.
Somit solltest du für deinen GSM800 einen anderen Pin als den D1 verwenden.
Der (und D0) wird schon vom USB-Wandler verwendet und macht somit Probleme.
Solltest du zu wenig digitale Pins haben, kannst du auch die Pins A0 bis A5 als digitale Pins verwenden. Allerdings auch nur, wenn diese frei sind. Bei der Nutzung von I2C sind A4 und A5 schon belegt.
There is an automatic function for doing this in the Arduino-IDE
just three steps
press Ctrl-T for autoformatting your code
do a rightclick with the mouse and choose "copy for forum"
paste clipboard into write-window of a posting
best regards Stefan
An Arduinos ist der IO-pin 1 die TX-Leitung der seriellen Schnittstelle zum Computer
Wenn du den IO-pin 1 gleichzeitig für etwas anderes benutzen willst dann funktioniert das nicht.
Und ich wäre auch vorsichtig damit in der Entwicklungsphase ständig in den EEPROM zu schreiben. Wenn du da einen bug drin hast der dir 1000 mal pro Sekunde in den EEPROM schreibt dann ist der EEPROM nach 100000 Schreibzyklen / 1000 = 100 Sekunden dauerschreiben ausgelutscht und nicht mehr zu gebrauchen.
Ich würde da lieber gleich einen I2C-FRAM-Chip oder wenigstens einen leicht austauschbaren externen I2C EEPROM nehmen.
Ich habe im code nur dass pin 11 high ind low schaltet weggelassen das war nur ein test ob dass mit der uhrzeit funktioniert und die pins vom gsm modul habe ich geändert
ATmega4809 is a microcontroller featuring the 8-bit AVR® processor with hardware multiplier - running at up to 20 MHz and with up to 48 KB Flash, 6 KB SRAM and 256 bytes of EEPROM
Das heisst EEPROM ist 4 Mal kleiner als Atmega328.
außerdem,
float tara; // das heisst Variable nimmt 4 Bytes im Speicher
if (EEPROM.read(2000) != 0)EEPROM.update(2000, tara); // diese Befehle arbeiten nur mit einem einzigem Byte.
else EEPROM.put(2000, tara);
was ich sagen will. Du sollst jede Komponente deines Projektes einmal alleine untersuchen und ausprobieren. Sobald du erfolgreich alles getestet hast und die Benutzung verstanden hast, stellst du eine nach den anderen zusammen und prüfst sich selbst ob immernoch alles richtig zusammen arbeitet.