» Elektronika » Arduino »Tanchik prowadzący wskaźnik laserowy

Tanchik prowadzący wskaźnik laserowy

Tanchik prowadzący wskaźnik laserowy

Dzień dobry, kontynuujemy produkcję robotów i zabawek. Dzisiaj kolejnym krokiem jest modyfikacja mojego modelu czołgu. Czytelne instrukcje produkcyjne tutaj

Istotą modyfikacji jest zmiana sposobu zarządzania. Tym razem do kontroli użyjemy wskaźnika laserowego. Dokładniej, czołg będzie jechał za kropką lasera. Zbiornik określi położenie punktu za pomocą fotorezystorów. Lista niezbędnych jest podobna do listy z powyższego domowej robotyale niezupełnie:

- Podwójny bieg Tamiya 70168
- Zestaw rolek i gąsienic Tamiya 70100
- Tamiya 70157
- Sklejka 10 mm (mały kawałek)
- Arduino Pro Mini 5V AtMega 328
- DRV 8833
- Fotorezystory 5506 4 szt.
- USB-UART dla oprogramowania układowego Arduino
- Prostokątne czerwone i zielone diody LED
- Białe diody LED 5 mm 2szt.
- Rezystory 3x 150 Ohm
- Akumulatory litowo-jonowe 18650
- Złącza Dupont Dad-Mom
- Przewody o różnych kolorach
- lutowane
- Kalafonia
- lutownica
- Śruby 3x40, 3x20, nakrętki i podkładki do nich
- 2x10 wkrętów do drewna
- Wiertła do drewna 3 mm i 6 mm
- Elektryczna piła progowa
- Farba akrylowa

Krok 1 Produkcja części do zbiorników.
Szczegółowe proces produkcji zbiorników opisane w domowej roboty.

Powtarzanie tego nie ma sensu. Dlatego pierwszy i drugi krok powyższej domowej roboty zakończony.

Krok 2 Instalacja fotorezystorów.
Będziemy potrzebować najpopularniejszych fotorezystorów, które można łatwo kupić w sklepie radiowym:


Następnie przed zainstalowaniem ścieżek musisz przygotować miejsca na fotorezystory i tam je wstawić. Mamy więc cztery fotorezystory, dwa z przodu i dwa z tyłu. Wszystkie będą znajdować się w dolnej części obudowy, w rogach. Cofając się o 5 mm z każdej strony, wykonaj dwa otwory na nogi fotorezystora. Odległość między otworami wynosi 4 mm. Możesz użyć wiertła o najmniejszej średnicy lub po prostu przebić fornir za pomocą szydła. Po wykonaniu tej czynności włóż fotorezystory. Zacznijmy od frontu:


Po włożeniu fotorezystorów do sklejki przylutuj przewody do styków i złącza Dupont matki. Izolujemy miejsce lutowania. Możesz użyć taśmy elektrycznej lub, podobnie jak ja, nałożyć na drut grubszą izolację.


Z tyłu wykonujemy również:


Poniżej będzie wyglądać tak:


Montujemy obudowę dalej zgodnie z instrukcjami, do których link podano powyżej.
Aby zwiększyć wrażliwość fotorezystorów na punkt lasera i pozbyć się niepotrzebnych zakłóceń, należy je pomalować czerwonym markerem lub farbą. Najważniejsze, że światło przenika przez powłokę. Nie maluj ich całkowicie.


W ten sposób zwiększymy czułość czujników na czerwoną kropkę lasera.

Krok 3 Elektryk
W czwartym kroku instrukcje tworzenia czołgu szczegółowo opisują, co i jak podłączyć. Robimy wszystko zgodnie z nim, z wyjątkiem podłączenia modułu Bluetooth. Nie potrzebujemy go. Łączymy jeden ze styków fotorezystorów z GND. Drugi jest podłączony do Arduino zgodnie ze schematem:

Przednie prawe do A0 (Pin14)
Przedni lewy do A1 (Pin15)
Tylny lewy do A2 (styk 16)
Tylny prawy do A3 (pin17)

Jako narzędzie kontrolne użyjemy zwykłego chińskiego wskaźnika laserowego z czerwoną wiązką:


Krok 4 Edycja szkicu.
Aby edytować i wypełnić szkic, musisz pobrać Arduino IDE. Idziemy do urzędnika strona projektu i pobierz najnowszą wersję.

Żadne dodatkowe biblioteki nie są potrzebne.
Fotorezystory są dalekie od najdokładniejszego urządzenia pomiarowego. Jego właściwości w praktyce zależą od wielu czynników. Dlatego do prawidłowego działania konieczne jest dostosowanie każdego fotorezystora. Poprawimy odczyty, edytując szkic za pomocą Arduino IDE i monitora portów. Otwórz szkic:
unitank_laser.rar [1.01 Kb] (pliki do pobrania: 76)


Zacznijmy od przednich fotorezystorów. Na samym dole odkomentuj trzy linie czujników przednich:

//Serial.print(senLF); // Uncomment To Adjust Front Photoresistors
//Serial.print ("");
//Serial.println(senRF);


Musisz także dodać pauzę, aby mieć czas na ich obejrzenie. Dlatego odkomentuj również tę linię:

// opóźnienie (500);

Wypełnij szkic. Kładziemy zbiornik na stole, gdy oświetlając pokój zwykłym żyrandolem, lampa stołowa nie powinna być włączona. I otwórz monitor portu Arduino IDE. W normalnym oświetleniu odczyty powinny być większe niż 500, a jednocześnie w przybliżeniu takie same dla obu czujników. Spróbujmy przesunąć wskaźnik laserowy przed nos czołgu. Wskazania powinny się różnić. Im bliżej punktu, tym mniejsze powinny być liczby. Powinny one mieścić się w zakresie od 80 (w maksymalnej odległości od punktu) do 500 (w odległości około 2-3 cm.).
Aby dostosować, użyj zmiennych w szkicu:

int corLF = 0; // Zmienne korekcyjne, lewy przód
int corRF = 30; // Przedni prawy


Zmienne korekty mogą być dodatnie (dodane do czujnika) lub ujemne (odjęte od odczytów). Zmieniając te zmienne, ponownie wypełnij szkic i sprawdź, czy wskaźniki mieszczą się w potrzebnych zakresach.

Teraz zrób to samo z tylnymi fotorezystorami. Aby to zrobić, skomentuj linie czujników przednich i usuń komentarz z następujących linii:

//Serial.print(senLB); // Odkomentowanie regulacji tylnych fotorezystorów
//Serial.print ("");
//Serial.println(senRB);


Przerwa powinna pozostać bez komentarza. Wykonujemy te same pomiary, tylko teraz z fotorezystorami z tyłu. I napisz zmienne korygujące:

int corLB = 0; // Tylny lewy
int corRB = 35; // Tylny prawy


Aby wyjaśnić, jak wszystko działa. Lewy przedni czujnik kontroluje ruch prawej ścieżki do przodu, a prawy przedni czujnik kontroluje ruch lewej ścieżki do przodu i tak dalej. Odczyty czujników są dostosowywane zgodnie z następującymi wzorami:

senLF = (analogRead (senLFPin) + corLF); // przedni lewy
senRF = (analogRead (senRFPin) + corRF); // Przedni prawy
senLB = (analogRead (senLBPin) + corLB); // Tylny lewy
senRB = (analogRead (senRBPin) + corRB); // Tylny prawy


Gdzie: senLF, senRF, senLB, sen RB - skorygowane odczyty
analogRead (senLFPin), (analogRead (senRFPin), (analogRead (senLBPin), (analogRead (senRBPin) - „czyste” odczyty czujnika
colLF, colRF, corLB, corRB - zmienne korekcyjne.

A następnie odczyty są tłumaczone na prędkość obrotową przeciwnej ścieżki:

walRF = mapa (senLF, 80, 500, 100, 255);
walLF = mapa (senRF, 80, 500, 100, 255);
walRB = mapa (senLB, 80, 500, 100, 255);
walLB = mapa (senRB, 80, 500, 100, 255);


Jeśli nie możesz w żaden sposób poprawić odczytów, zmień maksymalne i minimalne odczyty, przy których ścieżki zaczynają się przesuwać. Są to liczby 80 i 500 w wierszach konwersji zapisanych powyżej.

Po zakończeniu wszystkich procedur skomentuj wszystkie te linie i wypełnij szkic. Teraz czołg będzie jechał za czerwoną kropką wskaźnika laserowego.

Punkt jeździecki
Głosujących ogółem: 53
9
7.9
8.1

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
6 komentarze
Oleg Olegov
nie, niezbyt porządnie. ok
wystrzel satelitę z laserem na orbitę
Co do tego tematu, zawieramy wielostronną międzynarodową umowę w sprawie jednolitych standardów oprogramowania i dzielimy się na czołgi w skali globalnej! uśmiechnij się
Autor
Zręczność i bez oszustwa!
Cholera, już się boimy, z tobą w okolicy-)))) ne_huligan
wystrzel satelitę z laserem na orbitę, ponownie wyposaż wszystkie czołgi i aydę
Cholernie starannie wykonane, szanujcie!

Radzimy przeczytać:

Podaj go do smartfona ...