Съдържание:
Видео: 聲納: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
改作:
在 原本 聲納 的 基礎 下 加裝 了 以 達到 警告 的 作用
材料: arduino uno, 超音波 感測器, 驅動 馬達, 喇叭
功能: 掃描 到 物品 時 加速 並 傳 述 電腦 , 物品 接近 接近 10 см 時 喇叭 會 警告
Стъпка 1: Стъпка 1 電路圖
這 是 電路圖
Стъпка 2: Стъпка 2 寫 程式 (arduino)
create.arduino.cc/editor/dwdawdad/ef6b26a2-3f40-410d-9fdd-3413816090fe/preview
Стъпка 3: Стъпка 3 寫 程式 (обработка)
обработка на внос.serial.*;
импортиране на java.awt.event. KeyEvent; импортиране на java.io. IOException;
Сериен myPort; PFont orcFont; int iAngle; int iDistance; void setup () {размер (1000, 500); гладка (); myPort = нов сериен (това, "COM7", 9600); myPort.clear (); myPort.bufferUntil ('\ n');
} void draw () {fill (98, 245, 31); noStroke (); попълнете (0, 4); правоъгълна (0, 0, ширина, 0,935 * височина); попълнете (98, 245, 31); DrawRadar (); DrawLine (); DrawObject (); DrawText (); } void serialEvent (Serial myPort) {try {String data = myPort.readStringUntil ('\ n'); if (данни == null) {връщане; } int commaIndex = data.indexOf (","); Низ ъгъл = data.substring (0, commaIndex); Низово разстояние = data.substring (commaIndex+1, data.length ()-1); iAngle = StringToInt (ъгъл); iDistance = StringToInt (разстояние); } catch (RuntimeException e) {}} void DrawRadar () {pushMatrix (); превод (ширина/2, 0,926 * височина); noFill (); strokeWeight (2); ход (98, 245, 31); // изчертава дъговите линии DrawRadarArcLine (0.9375); DrawRadarArcLine (0.7300); DrawRadarArcLine (0.5210); DrawRadarArcLine (0.3130); // изчертава ъгловите линии final int halfWidth = width/2; ред (-halfWidth, 0, halfWidth, 0); for (int ъгъл = 30; ъгъл <= 150; ъгъл+= 30) {DrawRadarAngledLine (ъгъл); } ред (-halfWidth * cos (радиани (30)), 0, halfWidth, 0); popMatrix (); } void DrawRadarArcLine (краен коефициент на плаване) {дъга (0, 0, коефициент * ширина, коефициент * ширина, PI, TWO_PI); } void DrawRadarAngledLine (краен int ъгъл) {ред (0, 0, (-width/2) * cos (радиани (ъгъл)), (-width/2) * sin (радиани (ъгъл))); } void DrawObject () {pushMatrix (); превод (ширина/2, 0,926 * височина); strokeWeight (9); ход (255, 10, 10); int pixsDistance = int (iDistance * 0.020835 * височина); if (iDistance 40? "Out of Range": "In Range"), 0,125 * ширина, 0,9723 * височина); текст ("ъгъл:" + iAngle + "°", 0,52 * ширина, 0,9723 * височина); текст ("Разстояние:", 0,74 * ширина, 0,9723 * височина); if (iDistance <40) {text ("" + iDistance + "cm", 0.775 * ширина, 0.9723 * височина); } textSize (25); попълнете (98, 245, 60); превод (0.5006 * ширина + ширина/2 * cos (радиани (30)), 0.9093 * височина - ширина/2 * грех (радиани (30))); завъртане (-радиани (-60)); текст ("30 °", 0, 0); resetMatrix (); превод (0.497 * ширина + ширина/2 * cos (радиани (60)), 0.9112 * височина - ширина/2 * грех (радиани (60))); завъртане (-радиани (-30)); текст ("60 °", 0, 0); resetMatrix (); превод (0.493 * ширина + ширина/2 * cos (радиани (90)), 0.9167 * височина - ширина/2 * грех (радиани (90))); завъртане (радиани (0)); текст ("90 °", 0, 0); resetMatrix (); превод (0.487 * ширина + ширина/2 * cos (радиани (120)), 0.92871 * височина - ширина/2 * грех (радиани (120))); завъртане (радиани (-30)); текст ("120 °", 0, 0); resetMatrix (); превод (0.4896 * ширина + ширина/2 * cos (радиани (150)), 0.9426 * височина - ширина/2 * грех (радиани (150))); завъртане (радиани (-60)); текст ("150 °", 0, 0); popMatrix (); }
int StringToInt (низ от низ) {int value = 0; for (int i = 0; i = '0' && string.charAt (i) <= '9') {стойност *= 10; стойност += (string.charAt (i) - '0'); }} възвращаема стойност;}
Препоръчано:
Първи стъпки с безжични сензори за температура и вибрации на дълги разстояния: 7 стъпки
Първи стъпки с безжични сензори за температура и вибрации на дълги разстояния: Понякога вибрациите са причина за сериозни проблеми в много приложения. От валове и лагери на машината до работа на твърдия диск, вибрациите причиняват повреда на машината, ранна подмяна, ниска производителност и нанасят сериозен удар върху точността. Мониторинг
Първи стъпки с STM32f767zi Cube IDE и качване на персонализирана скица: 3 стъпки
Първи стъпки с STM32f767zi Cube IDE и качване на персонализирана скица: КУПЕТЕ (щракнете върху теста, за да закупите/посетете уеб страницата) STM32F767ZISUPPORTED SOFTWARE · STM32CUBE IDE · KEIL MDK ARM µVISION · EWARM IAR EMBEDDED WORKBENCH използва се за програмиране на STM микроконтролери
Как да направите 4G LTE двойна BiQuade антена Лесни стъпки: 3 стъпки
Как да направя 4G LTE двойна BiQuade антена лесни стъпки: През повечето време, с което се сблъсквах, нямам добра сила на сигнала за ежедневните ми работи. Така. Търся и опитвам различни видове антени, но не работи. След загубено време намерих антена, която се надявам да направя и изпробвам, защото тя не градивен принцип
Дизайн на играта с бързо движение в 5 стъпки: 5 стъпки
Дизайн на игра с Flick в 5 стъпки: Flick е наистина прост начин да направите игра, особено нещо като пъзел, визуален роман или приключенска игра
Система за предупреждение за паркиране на автомобил Arduino - Стъпки по стъпка: 4 стъпки
Система за предупреждение за паркиране на автомобил Arduino | Стъпки по стъпка: В този проект ще проектирам обикновена верига за сензори за паркиране на автомобил Arduino, използвайки Arduino UNO и HC-SR04 ултразвуков сензор. Тази базирана на Arduino система за предупреждение за автомобил за заден ход може да се използва за автономна навигация, измерване на роботи и други обхвати