05-09-2016, 21:27
(Ten post był ostatnio modyfikowany: 13-09-2016, 09:25 przez CEO.
Powód edycji: Używamy znaczników kodu
)
Cześć!
Mam shield'a WaveShare z modułem SIM808 (http://www.waveshare.com/wiki/GSM/GPRS/G...ld_%28B%29) i w jego dokumentacji ładnie jest pokazane, że włączanie/wyłączenie modułu robi się przyciskiem PWRKEY lub tranzystorem za pomocą linii A5. Schemat zawiera ładnie informację, że przycisk PWRKEY jest równolegle podłączony do pinu 8 modułu SIM808 za pomocą tranzystora NPN2 (8050). Tranzystor ten zaś jest sterowany za pomocą linii A5 i tu pojawia mi się schodek, bo: programowo za pomocą kodu wysyłającego na linę A5 impuls dodatni o długości trwania nieco ponad sekundę wyłączam grzecznie moduł, ale już załączyć go nie załączę.
Definiuję w programie że:
potem steruję A5 najprościej jak się da funkcją jak niżej:
i... popełniam jakiś błąd bo wyłączyć moduł wyłączę, ale nie mogę go w ten sposób załączyć.
Proszę o podpowiedź.
Pozdrawiam
Piotr
Mam shield'a WaveShare z modułem SIM808 (http://www.waveshare.com/wiki/GSM/GPRS/G...ld_%28B%29) i w jego dokumentacji ładnie jest pokazane, że włączanie/wyłączenie modułu robi się przyciskiem PWRKEY lub tranzystorem za pomocą linii A5. Schemat zawiera ładnie informację, że przycisk PWRKEY jest równolegle podłączony do pinu 8 modułu SIM808 za pomocą tranzystora NPN2 (8050). Tranzystor ten zaś jest sterowany za pomocą linii A5 i tu pojawia mi się schodek, bo: programowo za pomocą kodu wysyłającego na linę A5 impuls dodatni o długości trwania nieco ponad sekundę wyłączam grzecznie moduł, ale już załączyć go nie załączę.
Definiuję w programie że:
Kod:
void setup()
{
...
...
pinMode(A5, OUTPUT);
digitalWrite(A5, LOW);
...
...
}
potem steruję A5 najprościej jak się da funkcją jak niżej:
Kod:
void SIM808_CTRL (void)
{
digitalWrite(A5, HIGH);
delay(1500);
digitalWrite(A5, LOW);
delay(1000);
}
i... popełniam jakiś błąd bo wyłączyć moduł wyłączę, ale nie mogę go w ten sposób załączyć.
Proszę o podpowiedź.
Pozdrawiam
Piotr