Skocz do zawartości

Przeszukaj forum

Pokazywanie wyników dla tagów 'sms'.

  • Szukaj wg tagów

    Wpisz tagi, oddzielając przecinkami.
  • Szukaj wg autora

Typ zawartości


Kategorie forum

  • Elektronika i programowanie
    • Elektronika
    • Arduino i ESP
    • Mikrokontrolery
    • Raspberry Pi
    • Inne komputery jednopłytkowe
    • Układy programowalne
    • Programowanie
    • Zasilanie
  • Artykuły, projekty, DIY
    • Artykuły redakcji (blog)
    • Artykuły użytkowników
    • Projekty - roboty
    • Projekty - DIY
    • Projekty - DIY (początkujący)
    • Projekty - w budowie (worklogi)
    • Wiadomości
  • Pozostałe
    • Oprogramowanie CAD
    • Druk 3D
    • Napędy
    • Mechanika
    • Zawody/Konkursy/Wydarzenia
    • Sprzedam/Kupię/Zamienię/Praca
    • Inne
  • Ogólne
    • Ogłoszenia organizacyjne
    • Dyskusje o FORBOT.pl
    • Na luzie
    • Kosz

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Rozpocznij

    Koniec


Ostatnia aktualizacja

  • Rozpocznij

    Koniec


Filtruj po ilości...

Data dołączenia

  • Rozpocznij

    Koniec


Grupa


Znaleziono 1 wynik

  1. Przedstawiam projekt domowej centralki. Założenia przy budowie tego urządzenia były zbliżone do klasycznych alarmów aczkolwiek ja miałem swoją wizję i chciałem do tego wykorzystać Arduino nano. W związku z tym , że projekt po ukończeniu chciałem zamontować w domu to sporo czasu zajęło znalezienie właściwej obudowy. Ostatecznie wybrałem obudowę kradex z37 w kolorze czarnym , która jest całkiem spora jak na arduino nano ale w środku miały też znaleźć się inne moduły połączone przewodami. Do obudowy chciałem zamontować wyświetlacz LCD i tu zaczęły się schody bo nie chciałem ciąć obudowy. Po przeszukaniu kilku sklepów internetowych i przestudiowaniu rysunków technicznych okazało się , że pasuje jedna obudowa. Na szczęście obydwie obudowy pasowały do siebie wymiarami a pod spodem znalazło się miejsce na klawiaturę numeryczną. W ten sposób powstało to co widać na zdjęciach. Zanim przejdziemy do tego co w środku popatrzmy na cały schemat projektu. Schemat bardzo prosty aczkolwiek opiszę nieco poszczególne elementy. Zasilacz podłączony do cewki przekaźnika i dodatkowo jego dodatni biegun do styku NO. Bateria podłączona do styku NC przekaźnika (bieguny ujemne połączone razem). Po włączeniu zasilacza do sieci prąd płynie przez kondensatory i zasila arduino. Od arduino zasilanie +5V dociera do pozostałych modułów. W sytuacji chwilowego zaniku napięcia lub dłuższej awarii Styki NC przekaźnika zwierają się i układ pracuje na baterii. Kondensatory mają za zadanie potrzymać napięcie na czas przełączania między NO a NC. Rozwiązanie bardzo skuteczne i nie zawiodło ani razu od ponad roku. Tutaj wiele nie trzeba mówić moduł pir zamknięty w puszce instalacyjnej. Dodam jedynie , że kabel (w zasadzie kable bo mam dwa czujniki) sygnałowy podłączony jest do złącza analogowego arduino. Tutaj LCD z konwerterem na magistralę I2C. No i "pajączek" w całej okazałości. Zacznijmy od lewego polnego rogu widać widać tam buzzer , (w zasadzie to widać tylko konektory bo zam buzzer jest wyprowadzony na zewnątrz) który odgrywa melodyjkę przy uzbrojonym alarmie i wykrytym ruchu. Po prawej stronie tak w połowie wysokości obudowy widać przekaźnik. Pod przekaźnikiem moduł DS3231 czyli zegar czasu rzeczywistego podłączony do arduino przez magistralę I2C(mając więcej niż jeden moduł podpięty do tej magistrali warto użyć programu I2C scanner do sprawdzenia ich adresów). W prawym dolnym rogu moduł BT podłączony bez konwertera napięć ale pin RX modułu BT podłączony z pinem TX arduino przez dzielnik napięcia co daje bezpieczne 3,3V . Jak na dobry alarm przystało chciałem mieć możliwość otrzymywania powiadomień przez SMS. Ze względu na to , że moduły GSM do arduino są w różnych cenach a ja nie chciałem dużo wydawać zdecydowałem się na zakup najtańszego jaki tylko znalazłem. Mowa oczywiście o module Neoway 590E za 15zł . Zlutowałem oddzielny projekt z tym modułem żeby zobaczyć jak będzie działał. Powiem szczerze , że działał całkiem nieźle ale po tygodniu testów raz nie wysłał sms'a i ostatecznie stwierdziłem , że jednak wykorzystam stary smartfon z androidem. Program do obsługi alarmu (konkretnie chodziło o wysyłanie wiadomości SMS) pod androida stworzyłem przez appinventor jest tam naprawdę mnóstwo możliwości na zrobienie czegoś przydatnego ze "starego smartfona". Od strony programowania arduino głównie korzystałem arduino IDE ale momentami było to trochę uciążliwe. Zwłaszcza gdy chce się napisać kilka linijek kodu. Poszukałem więc alternatywy pod coś z androidem i tak trafiłem na... Bluino loader, który naprawdę świetnie sobie radzi (ze standardowymi bibliotekami) czas kompilowania i wgrywania skeczy trwa dosłownie błyskawicznie. Aczkolwiek aby wgrywać skecze przez usb wymagane jest pełne wsparcie dla hosta USB (ja w swoim am ). Mam nadzieję że kod będzie czytelny bo widać tam funkcję która jak sama nazwa może wskazywać wyświetla datę i godzinę w odpowiednim układzie (samą bibliotekę do obsługi ds3231 pobrałem z internetu) tutaj terminal USB pod androida dostępny w sklepie play i wyświetlane kolejne zdarzenia z alarmu (niestety niema opcji sms) Terminal ma sporo opcji i najczęściej z niego korzystam. Na koniec zamieszczam jedną opcję dodatkową czyli wyświetlanie temperatury wewnętrznej (odczyt z modułu ds3231 z małą kalibracją programową bo w środku obudowy jest nieco wyższa temperatura) Następnie mamy przedstawione odliczanie do uzbrojenia i detekcja z dwóch czujników. Cyfry przy miejscach detekcji określają liczbę naruszeń czujnika. Sam kod alarmu ma ponad 800 linijek kodu więc niema sensu tego tu wklejać... void zmienPin() { Serial.println(); serialCzas(); Serial.print(" podaj obecny pin "); for (int i=0; i<4; i++) { while (Serial.available() == 0) {} while (Serial.available() > 0) { nowyPin[i] = Serial.read();// wpisanie starego Serial.print(nowyPin[i]); delay(150); } } int check=0; for(int i=0; i<4; i++) { if (PIN[i]==nowyPin[i]) { check++; } else if (PIN[i]!=nowyPin[i]) { check--; } }// zamyka for check++ if (check==4) { Serial.println(); serialCzas(); Serial.print(" wpisz nowy pin "); //----- for (int i=0; i<4; i++) { while (Serial.available() == 0) {} while (Serial.available() > 0) { nowyPin[i] = Serial.read();// wpisanie nowego Serial.print(nowyPin[i]); PIN[i]=nowyPin[i]; delay(150); } } Serial.println(); serialCzas(); Serial.print(" pin zmieniony "); } else if (check!=4) { Serial.println(); serialCzas(); Serial.print(" zmiana nie powiodla sie"); } Serial.println(); } Wklejam funkcję zmiany pinu a tak właściwie to podmiany wartości w tablicy. Oczywiście , żeby to zadziałało to trzeba zadeklarować zmienne (u mnie są to zmienne globalne ) char PIN[4]={'2','3','5','6'}; char nowyPin[4]; PIN[4] to pin domyślny wraca zawsze po resecie arduino. Jeśli ktoś chciał by aby nowyPin zostawał po resecie to trzeba by było zapisywać wartości do pamięci EEPROM a następnie je odczytać przy starcie arduino. Mam nadzieję , że kogoś zaciekawi ten projekt albo spowoduje , że zrobicie coś nowego , lepszego , coś co wam się przyda.
×
×
  • Utwórz nowe...