Skocz do zawartości
slon

Mobilny system powiadamiania

Pomocna odpowiedź

W moim poprzednim projekcie niektórzy przeczytali zapewne wzmiankę o tym , że powstała jego oddzielna wersja z modułem GSM , który całkiem nieźle sobie radził. Pomyślałem więc , że czemu by go tutaj nie opisać w końcu sam projekt został ukończony.

pierwsze.thumb.jpg.233b7d07b8ba9c16903ccb25aa4af4a3.jpg

tutaj początki czyli zlutowany moduł neoway a w tle genuine arduino uno , które w początkowej fazie zostało wykorzystane do przetestowania coś na zasadzie "czy to będzie działać". Okazało się , że tak aczkolwiek trzeba było dokonać zmiany baud rate na 9600 bit/s. Pod arduino jest bateria ze smartfona z , której zasilany jest moduł. Natomiast na arduino nakładka , która dała łatwiejszy dostęp (powielony) do pinów zasilania i masy. Na płytce stykowej widać konwerter poziomów logicznych przez który odbywa się komunikacja (SoftwareSerial). Piny IO  modułu neoway pracują z napięciem 2,85V ale tolerują napięcie do 3,3V. Dobrze jest sprawdzić napięcie na pinie 3,3V przed podaniem go na konverter (w orginalnym uno nie będzie raczej problemu ale jeśli to będzie klon to możecie się zaskoczyć). Po kilku testach postanowiłem całość nieco zmniejszyć.

WP_20180618_002.thumb.jpg.f6d3c07decb229477d4d871250577d68.jpg

to w zasadzie dalej jest to samo tyle , że model arduino uno zastąpiłem nano jeszcze z ATMega 168. Tact switch nad modemem to przycisk on/off  , który uruchamia modem po dłuższym przytrzymaniu. 

dwa.thumb.jpg.29644b2112f2ca542ab107e9b636ea38.jpg

tutaj już prawie wszystko było gotowe. Nad modemem przetwornica step-up regulowana. Wyjście z przetwornicy ustawione na 4,89V. Pewnie zastanawiacie się czemu na nie na 5V a to dlatego, że w tym modelu na pinie 3,3V jest 3,4V to wolałem nie ryzykować i lekko obniżyłem napięcie zasilania co dało pożądany rezultat w postaci spadku napięcia na pinie 3,3V nawet lekko poniżej 3,3V. ogniwo 18650 które widzicie pojawiło się tylko tymczasowo jako źródło zasilania aczkolwiek gdyby obudowa była większa to pewnie bym je zostawił. Na płytce znajdują się 4 DIP switch'e i tak pierwszy od góry włącza/wyłącza przetwornicę i tym samym doprowadza napięcie do wszystkich modułów poza modemem gsm (modem jest zasilany bezpośrednio z ogniwa). Następnie dwa DIP switch'e obok siebie wlączają/wyłączają piny TX i RX arduino od bluetooth. Ostatni DIP switch odcina napięcie do arduino. W ten sposób można wgrywać skecze do arduino po usb bez rozłączania kabli. Po prawej stronie mamy czujnik ruchu a po lewej to ten "stary telefon" w  , którym nie działa dotyk ale można do niego podłączyć mysz.

terminal.thumb.jpg.d0a4e35a3a5096aa51710109b12eb5ca.jpg

tutaj widać kolejno, start modemu, sprawdzenie rejestracji do sieci , siłę i jakość sygnału, a na koniec napięcie ogniwa.

void skalaAku()
{ 
  int aku2 = analogRead(A6);
if ((aku2 == 860) && (charging == 0)) {  
digitalWrite(4, HIGH);    //wyłączamy przekaźnik zasilania tp4056
Serial.println("Ogniwo max");
  skala = 0;
  charging++;
} else if ((aku2 == 790) && (skala == 0)) {
  m590.write("AT+CMGS=\"111222333\"\r");  // podajemy nr telefonu 
  delay(300);
  getm590();
  m590.write("Ogniwo 3,9V");  //podajemy treśc wiadomości
  m590.write(26); // Kod 26 = CTRL+Z
  delay(2000); // czekamy na wysłanie
  getm590();   // sprawdzamy czy poszło czy error
  skala++;  
 } else if ((aku2 == 720) && (skala == 1)) { //740 OK
  m590.write("AT+CMGS=\"111222333\"\r");  // podajemy nr telefonu 
  delay(300);
  getm590();
  m590.write("Ogniwo 3,5V");  //podajemy treśc wiadomości
  m590.write(26); // Kod 26 = CTRL+Z
  delay(2000); // czekamy na wysłanie
  getm590();   // sprawdzamy czy poszło czy error
  digitalWrite(4, LOW); //włączamy przekaźnik zasilania tp4046
  charging = 0;
  skala++;
  delay(300);
 } else if ((aku2 == 705) && (skala == 2)) {
  m590.write("AT+CPWROFF\r");
 }
}

Tutaj mamy funkcję, która była wykonywana przez około tydzień czasu no i raz nie dostałem sms'a. Czas pracy na jednym cyklu ładowania to było jakieś 17h jak dobrze pamiętam więc wychodziło 2 smsy na dobę. Jeżeli ktoś chciał by z tej funkcji skorzystać to trzeba...

void getm590() 
{
  if (m590.available() > 0) {
   Serial.print(m590.readString());  
 }
}

najpierw wpisać tą funkcję albo przynajmniej wcześniej zadeklarować , że funkcja  getm590() wystąpi oraz zadeklarować dwie zmienne typu int , które występują w funkcji skalaAku()

obecny.thumb.jpg.48d0e3d754d6fbf856d5301ebd519f6c.jpg

a to "świeże zdjęcie" dzisiaj zrobione na potrzeby opisu ale sam projekt tak wyglądał już w lipcu 2018 i tak jak wyżej pisałem bateria ze smartfona wróciła pod płytkę a zaoszczędzone miejsce zostało przeznaczone na moduł z dwoma przekaźnikami i od góry ładowarka tp 4056. Jeden przekaźnik może trochę dziwnie wykorzystany ale chciałem żeby ładowarka była wyłączana przed przekroczeniem napięcia 4,2V na baterii co widać w kodzie. 

WP_20180712_004.thumb.jpg.38a317cbd2992870f6283e9336ad3ee8.jpg

tak to wyglądało po zamknięciu i jedynym problemem było to , że PIR sam się wzbudzał co kilka godzin pracy nawet po próbie przeniesienia go poza obudowę. Przyczyn dalszych nie szukałem bo tak jak napisałem na początku projekt powstał aby przetestować sam modem a ten nawet całkiem dobrze radził sobie z raportowaniem stanu naładowania baterii.

  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

Właśnie zaakceptowałem Twój opis, możesz go teraz zgłosić do akcji rabatowej umieszczając link w temacie zbiorczym. Dziękuję za przedstawienie ciekawego projektu, zachęcam do prezentowania kolejnych DIY oraz aktywności na naszym forum 🙂

Udostępnij ten post


Link to post
Share on other sites

Z tej samej apki do bt/wi-fi/rs232 korzystam 😛

Udostępnij ten post


Link to post
Share on other sites

Jak widać na foto ja też ale z tej wersji do WiFi to jeszcze nie korzystałem bo jakoś nie było okazji.

Sam system miałem chęć zamontować do samochodu (odpalanie zdalne) ale z rezygnowałem z tego. Chociaż sam system do odpalania samochodu oparty o arduino , serwo , bluetooth i adapter do stacyjki powstał. Samochód można było odpalić przez BT z poziomu terminala.

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Napisz odpowiedź...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...