Sommario:
- Passaggio 1: Passaggio 1
- Passaggio 2: Passaggio 2 寫程式 (arduino)
- Passaggio 3: Passaggio 3 (elaborazione)
Video: : 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
:https://aboutsciences.com/blog/arduino-radar-using…
?
: arduino uno,, 驅動馬達, 喇叭
:掃描到物品時加速並傳述到電腦,物品接近10cm時喇叭會警告
Passaggio 1: Passaggio 1
?
Passaggio 2: Passaggio 2 寫程式 (arduino)
create.arduino.cc/editor/dwdawdad/ef6b26a2-3f40-410d-9fdd-3413816090fe/preview
Passaggio 3: Passaggio 3 (elaborazione)
import processing.serial.*;
import java.awt.event. KeyEvent; import java.io. IOException;
myPort seriale; PFont orcFont; int iAngle; int iDistance; void setup() { size(1000, 500); liscio(); myPort = new Serial(this, "COM7", 9600); myPort.clear(); myPort.bufferUntil('\n');
} void draw() { fill(98, 245, 31); noStroke(); riempimento(0, 4); rect(0, 0, larghezza, 0,935 * altezza); riempire (98, 245, 31); DisegnaRadar(); Disegnare la linea(); DisegnaOggetto(); DisegnaTesto(); } void serialEvent (Serial myPort) { try { String data = myPort.readStringUntil('\n'); if (dati == null) { ritorno; } int commaIndex = data.indexOf(", "); Angolo della stringa = data.substring(0, commaIndex); Distanza stringa = data.substring(commaIndex+1, data.length()-1); iAngle = StringToInt(angolo); iDistance = StringToInt(distanza); } catch(RuntimeException e) {} } void DrawRadar() { pushMatrix(); translate(larghezza/2, 0,926 * altezza); noFill(); corsaPeso(2); corsa (98, 245, 31); // disegna le linee dell'arco DrawRadarArcLine(0.9375); DisegnaRadarArcLine(0.7300); DisegnaRadarArcLine(0.5210); DrawRadarArcLine(0.3130); // disegna le linee dell'angolo final int halfWidth = width/2; line(-halfWidth, 0, halfWidth, 0); for(int angolo = 30; angolo <= 150; angolo+=30) { DrawRadarAngledLine(angolo); } line(-halfWidth * cos(radianti(30)), 0, halfWidth, 0); popMatrix(); } void DrawRadarArcLine(coefficiente float finale) { arc(0, 0, coefficiente * larghezza, coefficiente * larghezza, PI, DUE_PI); } void DrawRadarAngledLine(final int angle){ line(0, 0, (-width/2) * cos(radianti(angolo)), (-width/2) * sin(radianti(angolo))); } void DisegnaOggetto() { pushMatrix(); translate(larghezza/2, 0,926 * altezza); corsaPeso(9); corsa(255, 10, 10); int pixsDistance = int(iDistance * 0.020835 * height); if(iDistance 40 ? "Fuori intervallo": "In intervallo"), 0,125 * larghezza, 0,9723 * altezza); text("Angolo: " + iAngle + " °", 0,52 * larghezza, 0,9723 * altezza); text("Distanza: ", 0,74 * larghezza, 0,9723 * altezza); if(iDistance < 40) { text(" " + iDistance +" cm", 0,775 * larghezza, 0,9723 * altezza); } dimensione testo(25); riempire (98, 245, 60); translate(0.5006 * larghezza + larghezza/2 * cos(radianti(30)), 0,9093 * altezza - larghezza/2 * sin(radianti(30))); ruotare(-radianti(-60)); testo("30°", 0, 0); resetMatrix(); translate(0.497 * larghezza + larghezza/2 * cos(radianti(60)), 0.9112 * altezza - larghezza/2 * sin(radianti(60))); ruotare(-radianti(-30)); testo("60°", 0, 0); resetMatrix(); translate(0.493 * larghezza + larghezza/2 * cos(radianti(90)), 0,9167 * altezza - larghezza/2 * sin(radianti(90))); ruotare(radianti(0)); testo("90°", 0, 0); resetMatrix(); translate(0.487 * larghezza + larghezza/2 * cos(radianti(120)), 0.92871 * altezza - larghezza/2 * sin(radianti(120))); ruotare(radianti(-30)); testo("120°", 0, 0); resetMatrix(); translate(0,4896 * larghezza + larghezza/2 * cos(radianti(150)), 0,9426 * altezza - larghezza/2 * sin(radianti(150))); ruotare(radianti(-60)); testo("150°", 0, 0); popMatrix(); }
int StringToInt(Stringa stringa) { int valore = 0; for(int i = 0; i = '0' && string.charAt(i) <= '9') { valore *= 10; valore += (string.charAt(i) - '0'); }} valore di ritorno;}
Consigliato:
Come realizzare un'antenna doppia biQuade 4G LTE Semplici passaggi: 3 passaggi
Come realizzare un'antenna doppia biQuade 4G LTE Semplici passaggi: La maggior parte delle volte che ho affrontato, non ho una buona potenza del segnale per i miei lavori quotidiani. Così. Cerco e provo diversi tipi di antenna ma non funziona. Dopo aver perso tempo ho trovato un'antenna che spero di realizzare e testare, perché è principio costruttivo non
Rilevamento del volto su Raspberry Pi 4B in 3 passaggi: 3 passaggi
Rilevamento del volto su Raspberry Pi 4B in 3 passaggi: In questo Instructable eseguiremo il rilevamento del volto su Raspberry Pi 4 con Shunya O/S utilizzando la libreria Shunyaface. Shunyaface è una libreria di riconoscimento/rilevamento facciale. Il progetto mira a raggiungere la massima velocità di rilevamento e riconoscimento con
Specchio per il trucco fai-da-te in semplici passaggi (usando le strisce luminose a LED): 4 passaggi
Specchio per il trucco fai-da-te in semplici passaggi (usando le strisce luminose a LED): in questo post, ho realizzato uno specchio per il trucco fai-da-te con l'aiuto delle strisce LED. Sono davvero fantastici e devi provarli anche tu
Gioca a Doom sul tuo iPod in 5 semplici passaggi!: 5 passaggi
Gioca a Doom sul tuo iPod in 5 semplici passaggi!: una guida passo passo su come eseguire il dual-boot di Rockbox sul tuo iPod per giocare a Doom e a dozzine di altri giochi. È qualcosa di veramente facile da fare, ma molte persone rimangono stupite quando mi vedono giocare a doom sul mio iPod e si confondono con le istruzioni
Come installare plugin in WordPress in 3 passaggi: 3 passaggi
Come installare plugin in WordPress in 3 passaggi: In questo tutorial ti mostrerò i passaggi essenziali per installare il plugin wordpress sul tuo sito web. Fondamentalmente puoi installare i plugin in due modi diversi. Il primo metodo è tramite ftp o tramite cpanel. Ma non lo elencherò perché è davvero completo