Spisu treści:
Wideo: 聲納: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
改作:
我 在 原本 聲納 的 基礎 下 加裝 了 喇叭 以 達到 警告 的 作用
: arduino uno,, 驅動馬達, 功能: 掃描到物品時加速並傳述到電腦,物品接近10 cm時喇叭會警告
Krok 1: Krok 1 電路圖
這 是 電路圖
Krok 2: Krok 2 寫程式(arduino)
create.arduino.cc/editor/dwdawdad/ef6b26a2-3f40-410d-9fdd-3413816090fe/preview
Krok 3: Krok 3 寫程式(przetwarzanie)
importowanie przetwarzania.serial.*;
import java.awt.event. KeyEvent; import java.io. IOException;
port szeregowy myPort; PFont orcCzcionka; wewn. kąt; int iOdległość; void setup() { size(1000, 500); gładki(); myPort = new Serial(this, "COM7", 9600); mójPort.clear(); myPort.bufferUntil('\n');
} void draw() { fill(98, 245, 31); noStroke(); wypełnienie (0, 4); prostokąt (0, 0, szerokość, 0,935 * wysokość); wypełnić (98, 245, 31); DrawRadar(); Rysować linię(); DrawObiekt(); RysujTekst(); } void serialEvent (Serial myPort) { spróbuj { String data = myPort.readStringUntil('\n'); if (dane == null) { return; } int commaIndex = data.indexOf(", "); Kąt ciągu = data.substring(0, commaIndex); Odległość ciągu = data.substring(commaIndex+1, data.length()-1); iAngle = StringToInt(kąt); iDistance = StringToInt(odległość); } catch(RuntimeException e) {} } void DrawRadar() { pushMatrix(); przetłumacz(szerokość/2, 0,926 * wysokość); Nie wypełniać(); obrysWaga(2); udar (98, 245, 31); // rysuje linie łuku DrawRadarArcLine(0.9375); DrawRadarArcLine(0.7300); DrawRadarArcLine(0.5210); DrawRadarArcLine(0.3130); // rysuje linie kątów final int halfWidth = width/2; line(-halfWidth, 0, halfWidth, 0); for(int kąt = 30; kąt <= 150; kąt+=30) { DrawRadarAngledLine(kąt); } line(-halfWidth * cos(radiany(30)), 0, halfWidth, 0); popMatrix(); } void DrawRadarArcLine(final float factor) { arc(0, 0, współczynnik * szerokość, współczynnik * szerokość, PI, DWA_PI); } void DrawRadarAngledLine(końcowy kąt int){ line(0, 0, (-width/2) * cos(radiany(kąt)), (-width/2) * sin(radiany(kąt))); } void DrawObject() { pushMatrix(); przetłumacz(szerokość/2, 0,926 * wysokość); obrysWaga(9); udar (255, 10, 10); int pixsDistance = int(iodległość * 0,020835 * wysokość); if(iDistance 40 ? "Poza zakresem": "W zakresie"), 0,125 * szerokość, 0,9723 * wysokość); text("Kąt: " + iAngle + " °", 0,52 * szerokość, 0,9723 * wysokość); text("Odległość: ", 0,74 * szerokość, 0,9723 * wysokość); if(iDistance < 40) { text(" " + iDistance +" cm", 0,775 * szerokość, 0,9723 * wysokość); } Rozmiar tekstu(25); wypełnić (98, 245, 60); przetłumacz(0.5006 * szerokość + szerokość/2 * cos(radiany(30)), 0.9093 * wysokość - szerokość/2 * sin(radiany(30))); obróć(-radiany(-60)); tekst("30°", 0, 0); resetuj macierz(); przetłumacz(0,497 * szerokość + szerokość/2 * cos(radiany(60)), 0,9112 * wysokość - szerokość/2 * sin(radiany(60))); obróć(-radiany(-30)); tekst("60°", 0, 0); resetowanie macierzy(); przetłumacz(0,493 * szerokość + szerokość/2 * cos(radiany(90)), 0,9167 * wysokość - szerokość/2 * sin(radiany(90))); obróć(radiany(0)); tekst("90°", 0, 0); resetuj macierz(); przetłumacz(0,487 * szerokość + szerokość/2 * cos(radiany(120)), 0,92871 * wysokość - szerokość/2 * sin(radiany(120))); obróć(radiany(-30)); tekst("120°", 0, 0); resetuj macierz(); przetłumacz(0,4896 * szerokość + szerokość/2 * cos(radiany(150)), 0,9426 * wysokość - szerokość/2 * sin(radiany(150))); obróć(radiany(-60)); tekst("150°", 0, 0); popMatrix(); }
int StringToInt(String string) { int wartość = 0; for(int i = 0; i = '0' && string.charAt(i) <= '9') { value *= 10; wartość += (string.charAt(i) - '0'); }} zwracana wartość;}
Zalecana:
Pierwsze kroki z IDE STM32f767zi Cube i prześlij własny szkic: 3 kroki
Rozpoczęcie pracy z IDE STM32f767zi i przesłanie własnego szkicu: KUP (kliknij test, aby kupić/odwiedzić stronę internetową) OPROGRAMOWANIE STM32F767Z WSPIERANE· IDE STM32CUBE· KEIL MDK ARM µVISION· EWARM IAR EMBEDDED WORKBENCH· Dostępne różne oprogramowanie ARDUINO służy do programowania mikrokontrolerów STM
Jak zrobić podwójną antenę 4G LTE BiQuade Proste kroki: 3 kroki
Jak zrobić podwójną antenę 4G LTE BiQuade Proste kroki: W większości przypadków nie mam dobrej siły sygnału w mojej codziennej pracy. Więc. Szukam i próbuję różnych typów anten, ale nie działa. Po zmarnowanym czasie znalazłem antenę, którą mam nadzieję zrobić i przetestować, bo to zasada budowy nie
Strumieniowanie wideo na żywo 4G/5G HD z drona DJI z małym opóźnieniem [3 kroki]: 3 kroki
Strumieniowanie wideo na żywo 4G/5G HD z drona DJI z małym opóźnieniem [3 kroki]: Poniższy przewodnik pomoże Ci uzyskać strumienie wideo na żywo w jakości HD z prawie każdego drona DJI. Za pomocą aplikacji mobilnej FlytOS i aplikacji internetowej FlytNow możesz rozpocząć przesyłanie strumieniowe wideo z drona
Pierwsze kroki z automatyką domową: Instalacja Home Assistant: 3 kroki
Rozpoczęcie pracy z automatyką domową: instalacja asystenta domowego: teraz rozpoczniemy serię automatyki domowej, w której stworzymy inteligentny dom, który pozwoli nam kontrolować takie rzeczy, jak światła, głośniki, czujniki itp., Za pomocą centralnego koncentratora wraz z asystent głosowy. W tym poście dowiemy się, jak ins
4 kroki do pomiaru rezystancji wewnętrznej baterii: 4 kroki
4 kroki do pomiaru rezystancji wewnętrznej baterii: Oto 4 proste kroki, które mogą pomóc zmierzyć rezystancję wewnętrzną baterii