Pomóż w opracowaniu witryny, udostępniając artykuł znajomym!

Wiele smartfonów może zadowolić swoich właścicieli zestawem funkcji realizowanych przez wbudowany akcelerometr. Jest to urządzenie elektromechaniczne, które rejestruje wszelkie zmiany w ciele roboczym w przestrzeni. Zasada działania opiera się na pomiarze przyspieszenia bezwładnościowego ruchu masy wewnątrz akcelerometru. Na jego podstawie działa funkcja automatycznego odwracania ekranu, dostosowując obraz do pozycji telefonu, licznika kroków, aplikacji do wykrywania przeszkód, wielu aplikacji fitness itp.

Dzięki zastosowaniu mikrokontrolera Arduino możesz samodzielnie zaprojektować czujnik pochylenia w domu.

Do tego będziesz potrzebował:

  • Akcelerometr ADXL335;
  • Płyta Arduino Uno;
  • Wyświetl, aby wyświetlić kierunek nachylenia (w tym przypadku używamy wersji LED).

Praktyczna implementacja czujnika nachylenia Arduino jest pokazana na rysunku poniżej:

Rysunek 1: Widok ogólny czujnika

Ten przykład opisuje instalację akcelerometru ADXL335 produkowanego przez Analog Devices, który łączy się z odpowiednimi pinami w mikrokontrolerze Arduino Uno, a sygnały z mikrokontrolera są przesyłane na wyświetlacz. Aby zmontować taki schemat, wygodnie jest korzystać z fabrycznej prototypowej płyty, chociaż czujnik przechyłu może doskonale działać na każdej innej płaskiej powierzchni, której użyjesz jako podstawy. Głównym zadaniem jest wdrożenie podstawowej zasady działania czujnika, co pokazano na poniższym schemacie blokowym.

Rys. 2: schemat blokowy czujnika

Zaletą tego modelu jest instalacja Arduino Uno, ponieważ ten mikrokontroler jest najlepszym rozwiązaniem dla urządzeń elektronicznych kontrolowanych przez sygnały z płyty. Jego programowanie i wykorzystanie w schemacie jest dostępne dla mas dzięki prostej adaptacji do standardowego oprogramowania komputerowego i możliwości samodostrajania, a następnie poprawiania ich pracy. Dlatego ta opcja jest idealna zarówno dla profesjonalnych projektantów, jak i fanów w dziedzinie robotyki i modelowania elektronicznego.

Aby wdrożyć czujnik przechyłu, Arduino Uno został wybrany z jakiegoś powodu, jest montowany na podstawie układu ATmega328 i zawiera 14 wyjść cyfrowych, 6 analogowych, złącze USB do podłączania do urządzeń programujących, złącze ICSP, wejście zasilania i jest wyposażony w funkcję resetowania lub resetowania. Ta płyta posiada również oscylator kwarcowy 16 MHz zaprojektowany do utrzymania stabilnej pracy całego mikrokontrolera.

Pomimo imponującej liczby elementów, Arduino Uno ma stosunkowo mały rozmiar i jest dość łatwy w obsłudze. Aby to zrobić, musisz podłączyć płytę do komputera za pomocą wejścia USB, aby ustawić parametry pracy i zasilać ją przez akumulator lub przez adapter. Programowanie i dalsza obsługa są wykonywane w środowisku operacyjnym Arduino.

Jak zbudować czujnik nachylenia?

Rys. 3: obwód czujnika nachylenia

Połączenie akcelerometru z mikrokontrolerem odbywa się zgodnie z następującą zasadą:

  • Pin ST łączy się z pinem karty Arduino A0;
  • Wyjście przemieszczeń wzdłuż osi Z jest połączone z pinem płyty Arduino A1;
  • Wyjście przemieszczeń wzdłuż osi Y jest połączone z pinem płyty Arduino A2;
  • Wyjście przemieszczeń wzdłuż osi X jest połączone z pinem płyty Arduino A3;
  • Pin GND łączy się z pinem karty Arduino A4;
  • Pin VCC łączy się z pinem na płycie Arduino A5.

Następnie z wyświetlacza Arduino podłączany jest mikrokontroler, w tej sytuacji składający się z grupy diod LED. Aby połączyć się z płyty, pobierane są sygnały wyjściowe od 8 do 12 i pin mocy 5 V, które są rozdzielane zgodnie z logiką obwodu w następujący sposób:

  • Pin 5V jest wspólnym punktem połączenia;
  • Ósma jest podłączona do diody LED sygnalizującej przechylenie w prawo;
  • Dziewiąty jest podłączony do diody LED, co oznacza, że czujnik znajduje się w środku stabilnej pozycji (aby go zmienić, robimy to na czerwono, ale nie jest to krytyczne);
  • Dziesiąta część jest podłączona do diody LED sygnalizującej ruch tyłu czujnika;
  • Jedenasty jest podłączony do diody LED sygnalizującej przechylenie w lewo;
  • Dwunasta łączy się z diodą LED sygnalizującą przechylenie czujnika do przodu.

Po zmianie położenia akcelerometru w przestrzeni przesunie się masa bezwładności. W wyniku tego ruchu masa bezwładności doprowadzi do zamknięcia styków i da odpowiedni sygnał z jednego z wniosków. Następnie sygnał ten zostanie przetworzony przez mikrokontroler Arduino i przekształcony w napięcie zasilające do określonej diody LED lub grupy diod LED. Na tej zasadzie czujnik pochylenia jest oparty na Arduino.

Oprócz powyższej metody montażu czujnika na płytce kuchennej można równie dobrze wdrożyć go na płytce drukowanej. Przykład takiej tablicy pokazano na poniższym rysunku.

Rysunek 4: Układ PCB

Weryfikacja poprawności połączenia odbywa się w punktach kontrolnych, pokazanych na rysunku 3. Napięcie w nich powinno odpowiadać danym z tabeli.

Tabela: Poziomy napięcia w punktach testowych

Punkt na rysunkuNapięcie punktowe, V
T00
T15
T2Niższy niż w t3
T3Wyższy niż T2

Testowanie zdrowia i korekta parametrów

Po podłączeniu elektrycznym elementów czujnika pochylenia program jest ładowany do urządzenia za pomocą komputera, do którego potrzebujesz:

  • Podłącz mikrokontroler do komputera za pomocą adaptera USB;
  • Pobierz program (test.ino) z komputera do Arduino UNO;
  • Następnie na komputerze otwórz środowisko programowe Arduino, które wyświetla kod źródłowy z odpowiednich pinów akcelerometru;
  • Zresetuj dane i zanotuj zmiany numeryczne na wszystkich trzech osiach (X, Y, Z), które występują, gdy czujnik jest przechylony w lewo, w prawo.

Jeśli nie jesteś zadowolony z pozycji, w której dioda LED zaczyna się świecić, możesz to skorygować. Aby zmienić kąt nachylenia, przy którym czujnik będzie sygnalizował zmianę pozycji, będziesz potrzebował:

  • Pozostając w środowisku oprogramowania Arduino, zacznij przechylać czujnik w lewo, gdy kąt nachylenia osiągnie punkt, w którym dioda LED powinna się zaświecić, sprawdź sam - będzie to wartość kodu „A_max”, limit wyłączania diody LED, gdy czujnik porusza się do tyłu;
  • Aby dostosować kąt nachylenia w prawo, powtórz tę samą operację, przechylając ją do żądanego kąta, zaznacz dla siebie wartość cyfrową - będzie to wartość kodu „A_min”, ta sama wartość przestanie palić się po powrocie do pozycji neutralnej czujnika;
  • Wartości te muszą zostać zmienione w treści programu tiltdetection.ino, dla którego uruchomiono Arduino IDE, wcześniej zapisane dane są wprowadzane w liniach „A_max” i „A_min” (Rysunek 5);
    Rys. 5. Zrzut ekranu programowania Arduino Uno
  • Następnie zapisz wprowadzone zmiany i ponownie załaduj poprawiony program na mikrokontroler.

Teraz urządzenie będzie pracować z bardziej nachylonym kątem. Oto przykład regulacji kąta ruchu czujnika w lewo i w prawo. Ale jeśli chcesz, możesz wykonać te same manipulacje, aby zmienić kąt nachylenia w przód iw tył, podczas gdy diody LED zapalą się i zgasną.

Co jest potrzebne do uruchomienia programu?

Ponieważ mikrokontroler jest zaprogramowany na specjalnie opracowanej dla niego platformie Arduino IDE, nie trzeba mieć żadnych dodatkowych języków programowania i specjalnych umiejętności do pracy z nimi, wystarczy podłączyć Arduino do komputera. Warto również zauważyć, że układ ATmega328 w Arduino Uno zawiera wstępnie zainstalowany mechanizm ładowania. Dzięki temu można zaprogramować urządzenie bez programistów sprzętowych, a interakcja środowiska oprogramowania na komputerze i chipie odbywa się za pośrednictwem protokołu STK500.

Aby pracować z oprogramowaniem mikrokontrolera, musisz przejść do menu „Narzędzia”, następnie wybrać „Karty” i zainstalować Arduino Uno (jeśli używasz innego modelu, zainstaluj go). Następnie, za pomocą Arduino IDE, zaprogramuj kartę zgodnie z logiką czujnika przechyłu i możesz zacząć korzystać z gotowego urządzenia. Możliwe jest również zaprogramowanie Arduino za pomocą protokołu ICSP, ale ta metoda jest bardziej odpowiednia dla doświadczonych programistów, a nie dla początkujących, dlatego znacznie łatwiej jest użyć standardowej metody.

Kod źródłowy programu:

Czujnik pochylenia oparty na Arduino (3, 4 KB, pobrano: 30)

Pomóż w opracowaniu witryny, udostępniając artykuł znajomym!

Kategoria: