• 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
Arduino Uno + Waveshare GSM/GPRS/GPS Shield (B)
#1
Witam,

mam pewien problem z modułem z załącznika i w zasadzie znalazłem temat, gdzie problem został rozwiązany, ale odpowiedź użytkownika nie jest dla mnie do końca jasna - czy mógłbym prosić o pomoc? O jakim zewnętrznym zasilaniu pisał autor tematu? Zewnętrzne zasilanie do modułu Waveshare? 

https://forum.arduinopolska.pl/watek-sim...=waveshare
 
Odpowiedź
#2
Bez schematu nie ma wspólnego tematu.
 
Odpowiedź
#3
Tutaj jest schemat wyprowadzeń modułu Waveshare: https://www.waveshare.com/w/upload/1/10/...ematic.pdf
Tutaj instrukcja (na stronie 24 jest informacja o wzbudzeniu modułu poprzez podanie napięcia na dany pin, wychodzi na to, że jest to pin A5 w Arduino UNO): https://www.waveshare.com/w/upload/e/e8/..._V1.02.pdf
Tutaj ogólne informacje o płytce: https://www.waveshare.com/wiki/GSM/GPRS/GPS_Shield_(B)
 
Odpowiedź
#4
Coś nie kumasz kolego. Pokaz schemat jak to podłączyłeś, że nie działa.
 
Odpowiedź
#5
Jest tylko jedna możliwość podłączenia - moduł jest "nasadzany" na arduino uno w jednej pozycji - tylko tak pasują piny. Wszystkie funkcjonalności (sms, gprs, gps) działają, chodzi o sam fakt wzbudzenia modułu waveshare nie poprzez przycisk tylko podanie napięcia na dany pin. Robiłem dokładnie tak samo jak kolega w wątku, do którego wrzuciłem odnośnik i spotkałem się dokładnie z takim samym problemem jak on czyli niemożliwością wzbudzenia modułu poprzez ustawienie stanu wysokiego na PIN A5 w arduino. Kolega w tamtym wątku rozwiązał ten problem i opisał na czym polegał, ale nie do końca zrozumiałem jego wypowiedź stąd moja prośba o pomoc.

https://www.waveshare.com/wiki/File:GSM-...ual-17.jpg
 
Odpowiedź
#6
Cytat:Jest tylko jedna możliwość podłączenia - moduł jest "nasadzany" na arduino uno
Nie jestem w stanie znac kilka milionów rodzajów płytek produkowanych na całym Świecie.

Jakie jest napięcie na kolektorze tranzystora 8050 gdy na A5 ustawiasz poziom wysoki?
Czy czas przez jaki wystawiasz poziom wysoki na A5 jest odpowiedni? Inny jest czas dla włączenia modułu inny do wyłączenia.
Nie widzę aby z płytki z modemem wyprowadzono sygnał STATUS. Jeśli tak jest, to konstrukcja płytki jest do du.... W nocie katalogowej pokazane są zależności pomiędzy wejście KEY a STATUS. U siebie włączam modem na podstawie sygnału STATUS, on jasno określa, kiedy trzeba zdjąć poziom aktywny z wejścia KEY. Bez tego też się da, ale po co sobie utrudniać życie?

Na to co napisano w tamtym wątku
Cytat:Można ten wątek zamknąć, bo okazało się, że podciągnięcie do +5V w procesorach Atmela, w tym konkretnym przypadku jest niewystarczające
nie brał bym wiary. Zarówno z stanie niski, jak i wysokim, AVR może dać 20 czy 30mA. Problem musi leżeć gdzie indziej - może małe wzmocnienie chińskiego tranzystora?
 
Odpowiedź
#7
Jak chcesz uzyskać pomoc to wrzucaj kod, schemat, zdjęcia, nie tylko opis i życzenia. Wejdź w podgląd posta, do pełnej edycji, tam masz wszystkie narzędzia do tego. To co tamten użytkownik proponuje to wzięcie lutownicy w rękę i naprawianie pracy projektanta płytki. Być może jest to prawda, projektant lub fabryka dała ciała. Ale trzeba założyć również, że ktoś bez doświadczenia może popełnić jakiś banalny błąd. W tym wypadku jest to w programie. Więc wrzuć go.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#8
Poniżej zamieszczam zdjęcia podłączenia modułu oraz kod. Arduino podłączam zasilaczem sieciowym. Przy wzbudzeniu przyciskiem wszystko działa prawidłowo co jest sygnalizowane mruganiem jednej z diód na module waveshare, wzbudzenie programowe niestety się nie powiodło, próbowałem różnych czasów ale bez efektu.

[Obrazek: 274aed4954f6ddd3.jpg]
[Obrazek: d5ebff2ffc61f1b7gen.jpg]

Kod:
#include <TinyGPS++.h>
#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3); // RX, TX
TinyGPSPlus gps;

float longitude = 0; //długość
float latitude = 0; //szerokość
String text = "";

void setup()
{
 pinMode(A5,OUTPUT);
 digitalWrite(A5,LOW);
 Serial.begin(9600);
 mySerial.begin(9600);
 delay(200);
}

void loop()
{
 if (Serial.available() > 0) {
   text = Serial.readStringUntil('\n');
 }
 if (text == "gps") {
   digitalWrite(A5,HIGH);
   delay(3500);
   digitalWrite(A5,LOW);
   Serial.println("GPS Mode, waiting for fix");
   text="";
   getCoordinates();
 }
}
 
Odpowiedź
#9
(18-10-2018, 22:01)Grzechu16 napisał(a): Poniżej zamieszczam zdjęcia podłączenia modułu oraz kod.(...)próbowałem różnych czasów ale bez efektu.
Różnych czasów? Jakich?
Pisanie programu, nie polega na działaniu metodą prób i błędów. Przeczytaj w nocie katalogowej jaki ma być min i max czas zwarcia wejście KEY z masą. Jak Co się nie che, to próbuj wszystkie możliwe czasu ale pewnie życia zabraknie.
Jakie jest napięcie na kolektorze tranzystora kluczującego wejście KEY gdy na A5 jest poziom wysoki?
 
Odpowiedź
#10
Złośliwości wydają się być zbędne. Zapomniałem dopisać w poprzedniej wiadomości, że niestety nie jestem jeszcze na tyle biegły w elektronice, żeby wiedzieć w którym miejscu dokonać pomiaru, o którym piszesz - byłbym wdzięczny za jakieś wskazówki. Mówiąc o "różnych czasach" miałem na myśli te z zakresu przedstawionego na poniższym schemacie z dokumentacji technicznej. Dostałem też potwierdzenie z supportu waveshare, żeby spróbować wymusić stan wysoki na pinie A5 przez około 3sekundy co nie przyniosło efektu stąd postanowiłem zasięgnąć pomocy na forum od osób z większym doświadczeniem i wiedzą techniczną.

[Obrazek: da523e2632484472gen.png]
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości