Indholdsfortegnelse:
- Trin 1: Trin 1: Forbered dele
- Trin 2: Trin 2: Tilslut alle komponenter
- Trin 3: Trin 3: Kode
- Trin 4: Trin 4: Tilslut og test
- Trin 5: Trin 5: Se resultatet
Video: Arduino Processing Graphic Transition: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
Hej, dette projekt er til at gøre synlig grafik fra usynlige partikler, som kunne føles af sensorer. I dette tilfælde brugte jeg ultralydssensoren og fotoresistoren til at styre lys og afstand. Jeg visualiserer det ved at lave variablerne fra sensoren som variabler i behandlingen. Derefter forbinder jeg Arduino og Processing for at styre Arduino med Processing. Således ville grafikken i Processing anvende variabler fra Arduino -sensoren.
Trin 1: Trin 1: Forbered dele
Her er de komponenter, du skal bruge til at lave dette projekt:
- 10k OHM
- Ultralydssensor
- Fotoresistor
- Arduino Uno
- 7 ledninger
Trin 2: Trin 2: Tilslut alle komponenter
Fotoresistoren og ultralydssensoren har brug for plads til nøjagtig detektion. Spar lidt plads og tænk på lys til fotoresistor.
Trin 3: Trin 3: Kode
*Tilføj bibliotek i både Arduino og Processing.
Arduino: søg "nyt ping" i biblioteket
Behandler: søg "seriel" i biblioteket
Kode til Arduino:
#omfatte
#define TRIGGER_PIN 12 #define ECHO_PIN 11 #define MAX_DISTANCE 200
NewPing -ekkolod (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
int lightSensorPin = A0; int analogValue = 0;
ugyldig opsætning () {Serial.begin (9600); }
void loop () {int Value1 = sonar.ping_cm (); Værdi1 = kort (Værdi1, 1, 60, 500, 24); Værdi1 = begrænsning (værdi1, 24, 500);
analogValue = analogRead (lightSensorPin); int cVal1 = map (analogValue, 200, 600, 249, 100);
int cVal2 = map (analogValue, 200, 600, 247, 97);
int cVal3 = map (analogValue, 200, 600, 243, 101);
int cVal4 = map (analogValue, 200, 600, 243, 150);
forsinkelse (50);
Serial.print (værdi1); Serial.print (",");
Serial.print (cVal1); Serial.print (","); Serial.print (cVal2); Serial.print (","); Serial.print (cVal3); Serial.print (","); Serial.print (cVal4); Serial.print (",");
Serial.println (); }
Kode til behandling:
// klasse: (grundlæggende) //
import behandling. serie.*;
int ende = 10; String serie; Serie Port;
int pcount = 350; Partikel p = ny Partikel [pcount]; int diagonal; int e = 100;
void setup () {port = new Serial (this, "/dev/cu.usbmodem141101"); port.clear (); serial = port.readStringUntil (ende); seriel = null; for (int i = 0; i
float rotation = 0;
void draw () {while (port.available ()> 0) {serial = port.readStringUntil (end); forsinkelse (10); } hvis (serial! = null) {String a = split (serial, ','); println (a [0]); println (a [1]); println (a [2]); println (a [3]); println (a [4]); int result1 = Integer.parseInt (a [0]); System.out.println (resultat1); frameRate (resultat1); int result2 = Integer.parseInt (a [1]); System.out.println (resultat2); int result3 = Integer.parseInt (a [2]); System.out.println (resultat3); int result4 = Integer.parseInt (a [3]); System.out.println (resultat4); int result5 = Integer.parseInt (a [4]); System.out.println (resultat5); baggrund (resultat2, resultat3, resultat4); translate (bredde/2, højde); rotation- = 0,0005; rotere (rotation); for (int i = 0; i diagonal) {p = ny Particle (); }}}}
// klasse: Partikel //
klasse Partikel {float n; flyde r; flyde o; flyde c; flyde d; int l; Partikel () {l = 100; n = tilfældig (3, bredde/2); r = tilfældig (0,10, TWO_PI); o = tilfældig (1, tilfældig (1, bredde/n)); c = tilfældig (180, 228); d = tilfældig (160, 208); } void draw () {l ++; pushMatrix (); rotere (r); translate (drawDist (), 1); ellipse (10, 10, bredde/o/4, bredde/o/4); popMatrix (); o- = 0,06; } float drawDist () {return atan (n/o)*bredde/HALF_PI; }}
Trin 4: Trin 4: Tilslut og test
Trin 5: Trin 5: Se resultatet
Hastigheden på den bevægelige kugle vil være hurtigere, når noget er tættere på ultralydssensoren. Plus, lysstyringen med fotoresistor vil fremstå under behandling som baggrundsmørke.
Anbefalede:
FK (Forward Kinematic) Med Excel, Arduino & Processing: 8 trin
FK (Forward Kinematic) Med Excel, Arduino & Processing: Forward Kinematic bruges til at finde End Effector -værdier (x, y, z) i 3D -rum
Frem Kinematic Med Excel, Arduino & Processing: 8 trin
Fremad kinematisk Med Excel, Arduino og behandling: Fremad kinematisk bruges til at finde sluteffektor -værdier (x, y, z) i 3D -rum
Conexión Serial Arduino a Processing (acelerómetro En Anillo): 5 trin
Seriel forbindelse til bearbejdning (acelerómetro En Anillo): Jeg kan forvente en forarbejdning af informationen. Ac á les muestro la manera en que yo lo resuelvo, no es la ú nica, pero es bastante efectiva, ya que en Processing, la recepc
Simple Processing Uldar (Ultrasonic Detection and Ranging): 3 trin
Simple Processing Uldar (Ultrasonic Detection and Ranging): Dette er et simpelt projekt, der bruger Arduino UNO og Processing til at lave en simpel lidar. Lidar (også kaldet LIDAR, LiDAR og LADAR) er en opmålingsmetode, der måler afstand til et mål ved at belyse målet med pulserende laserlys og måling
3D AIR -mus - Arduino + Processing: 5 trin
3D AIR -mus | Arduino + Processing: 3D AIR mus | Arduino + ProcessingJeg er studerende i industriel design og sidste år som en del af et kursus kaldet " Technology as RAW materiel " Jeg byggede dette projekt som mit sidste arbejde. Jeg arbejder det meste af tiden med SolidWorks, en CAD -software til de