» Elektronika » Arduino »Dalmierz na platformie Arduino!

Dalmierz na platformie Arduino!


Dobry dzień wszystkim! W tym artykule chciałbym powiedzieć, jak używać Arduino, zestaw diod LED i czujnik ultradźwiękowy, możesz zmontować urządzenie, które określa odległość od obserwatora do obiektu, innymi słowy, dalmierz. A więc chodźmy!
Czego potrzebujemy:
Zwykły pudełko. Pożądane jest, aby był mały, ponieważ będzie on zawierał tylko jeden mikrokontroler.

Korzystanie przetwornik ultradźwiękowy HC-SR04 możemy określić odległość.

Czterocyfrowy wskaźnik musimy wygenerować uzyskane wartości.

Set Diody LED dowolne kolory (użyłem zieleni, ponieważ są jaśniejsze), rezystory przy 220 omach druty lub też zworki deska do krojenia





Aby elementy naszego urządzenia były bezpiecznie przymocowane, przylutuję je.
Do tego potrzebujemy lutownica, topnik, lutrównież płyta chlebowa do lutowania.

I oczywiście bez Arduino nie możemy tego zrobić! (Możesz wybrać dowolny mikrokontroler, wolałem Arduino Leonardo lub jego odpowiednik Iskra Neo)

Z narzędzi potrzebujemy lutownicy, jak powiedziałem powyżej, nóż i szczypce.

Teraz zacznijmy montować urządzenie.
Krok 1
Na początek za pomocą płyty montażowej zbudujemy prototyp naszego przyszłego urządzenia. Będzie to wyglądać mniej więcej tak ...

Nie martw się! W tym bałaganie drutów nie ma nic strasznego!
Czujnik HC-SR04 ma cztery piny: plus, minus (które wkładamy do 5 V i GND kontrolera), Trig i Echo (wstawiamy piny arduino odpowiednio w 12 i 11)
Czterocyfrowy wskaźnik ma 3 przewody: moc, masę i sygnał. Ten ostatni jest podłączony do 9-stykowego Arduino.
Łączymy trzy diody LED z 6, 5 i 4 stykami sterownika szeregowo z rezystorami. Nie zapomnij o polaryzacji. Prąd płynie z dłuższej nogi do krótszej.
To wszystko, kiedy zmontowaliśmy nasze urządzenie na płycie chlebowej, załadowaliśmy szkic (będzie na końcu artykułu) i upewniłem się, że wszystko działa, możesz rozpocząć lutowanie.
Krok numer 2
Najpierw przylutuj czujnik ultradźwiękowy do płyty chlebowej. Użyłem małej płyty chlebowej, ponieważ liczba elementów nie przekracza 7.

Następnie za pomocą szczypiec odgryź nogi (przepraszam za tautologię), czyniąc je krótszymi, aby nie przeszkadzały i wyglądały ładniej!

Następnie przylutuj cztery przewody do styków czujnika.


Nie zapomnij także o szczypcach!


Krok # 3
Czujnik jest na miejscu, pozostaje przylutować trzy diody LED wraz z rezystorami.


Z drugiej strony wygląda to tak:

Krok # 4
Z boku pudełka wytnij okrągły otwór na jedzenie.

Na pokrywie musisz wyciąć wnękę do rozmiaru (nieco mniejszej) płyty pilśniowej, a także wywiercić otwory na śruby.


Teraz, jeśli przykręcimy pustą płytkę chlebową bez elementów (zrobiłem to tylko dla celów demonstracyjnych ...), otrzymamy coś takiego:

Krok 5
Tak więc, aby było wygodniej, proponuję najpierw podłączyć przewody do arduino, a dopiero potem przykręcić deskę do chleba do pokrywy pudełka. Nie zapomnij również o naszym wskaźniku, który umieściłem nad układem.

Wszystko na tym urządzeniu jest gotowe!
Pozostaje tylko pobrać następny szkic i ciesz się zabawką!
#include
#include
Sonar New Ping (12.11, 400);
int a, j, b;
bez znaku długie t = 0;
int masiv [] = {1,0,0,0,1,0,0,0,1};
void setup ()
{
 dla (int i = 4; i <7; i ++)
 {
   pinMode (i, WYJŚCIE);
 }
 displayClear (9);
 dla (int i = 4; i <7; i ++)
 {
   digitalWrite (i, 0);
 }
  }
void loop ()
{
  j = 7;
  dla (int i = 0; i100) ton (2,70);
    digitalWrite (j, masiv [i]);
    while (millis () <= t + b)
    {
    opóźnienie (50);
    a = sonar.ping_cm ();
    displayInt (9, a);
    b = a;
    }
    t = millis ();
    if (j == 4) j = 7;
    jeśli (i == 8)
    {
     digitalWrite (4.1);
     while (millis () <= (t + b) + (b * 2))
     {
    opóźnienie (50);
    a = sonar.ping_cm ();
    displayInt (9, a);
    b = a;
     }
     digitalWrite (4.0);
     t = millis ();
    }
  }



Kilka słów kod programu. Dzięki niemu nasze trzy diody LED będą migać naprzemiennie jedna po drugiej, a szybkość ich mrugania będzie zależeć od odległości do obiektu, która jest obliczana przez czujnik ultradźwiękowy. Ale aby diody LED mrugały, nie jest całkowicie logiczne korzystanie z funkcji opóźnienia (), ponieważ gdy jest używana, kontroler zawiesza się i nie są wykonywane żadne obliczenia. Istnieje kilka sposobów rozwiązania tego problemu. W szczególności jednym z nich jest użycie funkcji millis (), która zwraca liczbę w milisekundach od momentu działania kontrolera. Jak opóźnić warunkowe 100 milisekund? Aby to zrobić, stworzyłem zasadniczo pusty cykl, z którego wyjście nastąpi dopiero po tych 100 milisekundach, a następnie program kontynuuje włączanie / wyłączanie diod LED.

Cóż, to wszystko! Dziękujemy za przeczytanie tego artykułu do końca. Mam nadzieję, że nie tylko ją polubiłeś, ale także zainspirowałeś nowe morze rzemiosło i wynalazki!
6
5
5

Dodaj komentarz

    • uśmiechnij sięuśmiecha sięxaxaoknie wiemyahoonea
      szefiezadrapaniegłupiectaktak-takagresywnysekret
      przepraszamtańczyćdance2dance3przebaczeniepomocnapoje
      przestańprzyjacieledobrzegoodgoodgwizdaćomdlećjęzyk
      palićklaskanierakdeklarowaćdrwiącydon-t_mentionpobierz
      ciepłożałujęśmiech 1mdaspotkaniemoskingnegatywne
      niepopcornukaraćczytaćprzestraszyćstraszyszukaj
      drwinadziękujętoto_clueumnikostryzgadzam się
      źlepszczołablack_eyeblum3rumienić sięchwalić sięnuda
      ocenzurowaneuprzejmośćsekret2grozićzwycięstwoyusun_bespectacled
      shokrespektlolprevedwitamykrutoyya_za
      ya_dobryipomocnikne_huliganne_othodifludzakazzamknij
7 komentarze
Autor
Cześć)
Może nadal działa szkic? Okazuje się, że nawet znak „<” został zastąpiony przez „& lt;”)
Witam Kiedy ładuję szkic, z jakiegoś powodu powoduje on szereg błędów składniowych. Oczywiście tak naprawdę nie boję się składni, ale w niektórych miejscach nie mogę ustalić, co należy naprawić. Na przykład w kawałku:
dla (int i = 0; i100) ton (2,70);
digitalWrite (j, masiv [i]);
, co oznacza scalony i100? dlaczego nie zwiększyć? Czy potrzebujesz nawiasów klamrowych, aby następne dwie funkcje for należały do ​​tej samej pętli, czy się mylę? Kompilator przeklina cały kod. Czy mogę jakoś się z tobą skontaktować, wyjaśnić kod? Staram się stworzyć projekt kursu na podstawie twojego artykułu.

Ponadto w kodzie w miejscu, w którym biblioteki są połączone, ich nazwy nie są wskazane. Oczywiście możesz zgadywać, ale nadal ten szkic nie nadaje się do natychmiastowych testów, musisz to przemyśleć)
Autor
Tak, jest to możliwe)
Oznacza to, że przedostatnie zdjęcie (na którym 77) jest po prostu nieudane z powodu pewnego pasożytniczego oświetlenia górnych segmentów w wyniku nieprawidłowego działania dynamicznego wyświetlania? Szóstka ma również fałszywe podświetlenie, choć nie tak oczywiste.
Autor
Ivan, odczyty 6 cm i 11 cm to odległość od czujnika do dłoni)
Proszę wyjaśnić, dlaczego tak dziwne świadectwo na dwóch ostatnich fotografiach.

Radzimy przeczytać:

Podaj go do smartfona ...