Përmbajtje:

Kalimi grafik i përpunimit të Arduino: 5 hapa
Kalimi grafik i përpunimit të Arduino: 5 hapa

Video: Kalimi grafik i përpunimit të Arduino: 5 hapa

Video: Kalimi grafik i përpunimit të Arduino: 5 hapa
Video: Учебники по ORCAD V9. 2 конструкции печатных плат || как открыть файлы pcb 2024, Nëntor
Anonim
Kalimi grafik i përpunimit të Arduino
Kalimi grafik i përpunimit të Arduino

Përshëndetje, ky projekt është për të bërë grafika të dukshme nga grimca të padukshme të cilat mund të ndihen nga sensorët. Në këtë rast, kam përdorur sensorin tejzanor dhe rezistencën e fotos për të kontrolluar dritën dhe distancën. Unë e përfytyroj atë duke i bërë ndryshoret nga sensori si ndryshore në përpunim. Pastaj lidh Arduino dhe Processing për të kontrolluar Arduino me Processing. Kështu, grafiku në Përpunim do të aplikonte variabla nga sensori Arduino.

Hapi 1: Hapi 1: Përgatitni Pjesët

Hapi 1: Përgatitni Pjesët
Hapi 1: Përgatitni Pjesët

Këtu janë përbërësit që do t'ju nevojiten për të bërë këtë projekt:

- 10k OHM

- Sensori tejzanor

- Photoresistor

- Arduino Uno

- 7 tela

Hapi 2: Hapi 2: Lidhni të gjithë përbërësit

Hapi 2: Lidhni të gjithë përbërësit
Hapi 2: Lidhni të gjithë përbërësit

Rezistori fotografik dhe sensori tejzanor kanë nevojë për një hapësirë për zbulimin e saktë. Kurseni pak hapësirë dhe mendoni për dritën për fotorezistuesin.

Hapi 3: Hapi 3: Kodi

Hapi 3: Kodi!
Hapi 3: Kodi!

*Shtoni bibliotekë si në Arduino ashtu edhe në Përpunim.

Arduino: kërkoni "ping të ri" në bibliotekë

Përpunimi: kërkoni "serial" në bibliotekë

Kodi për Arduino:

#përfshi

#përcakto TRIGGER_PIN 12 #përcakto ECHO_PIN 11 #përcakto MAX_DISTANCE 200

Sonar NewPing (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

int lightSensorPin = A0; int analogValue = 0;

void setup () {Serial.begin (9600); }

lak void () {int Vlera1 = sonar.ping_cm (); Vlera1 = harta (Vlera 1, 1, 60, 500, 24); Vlera1 = kufizim (Vlera1, 24, 500);

analogValue = analogRead (lightSensorPin); int cVal1 = hartë (analogVlera, 200, 600, 249, 100);

int cVal2 = hartë (analogVlera, 200, 600, 247, 97);

int cVal3 = hartë (analogVlera, 200, 600, 243, 101);

int cVal4 = hartë (analogVlera, 200, 600, 243, 150);

vonesë (50);

Serial.print (Vlera 1); Serial.print (",");

Serial.print (cVal1); Serial.print (","); Serial.print (cVal2); Serial.print (","); Serial.print (cVal3); Serial.print (","); Serial.print (cVal4); Serial.print (",");

Serial.println (); }

Kodi për përpunimin:

// klasa: (bazë) //

përpunimi i importit.serial.*;

int fund = 10; Serial vargu; Port serial;

int copë = 350; Grimcë p = grimcë e re [numërim]; int diagonale; int e = 100;

void setup () {port = serial i ri (kjo, "/dev/cu.usbmodem141101"); port.qartë (); serial = port.readStringUntil (fund); serial = null; për (int i = 0; i

rrotullimi i notit = 0;

void draw () {while (port.available ()> 0) {serial = port.readStringUntil (fund); vonesa (10); } if (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 (result1); frameRate (rezultati 1); int result2 = Integer.parseInt (a [1]); System.out.println (result2); int result3 = Integer.parseInt (a [2]); System.out.println (result3); int result4 = Integer.parseInt (a [3]); System.out.println (result4); int result5 = Integer.parseInt (a [4]); System.out.println (result5); sfond (rezultati2, rezultati3, rezultati4); përkthe (gjerësia/2, lartësia); rrotullim- = 0.0005; rrotullohem (rrotullimi); për (int i = 0; i diagonale) {p = grimcë e re (); }}}}

// klasa: Grimca //

klasa Particle {float n; noton r; noton o; noton c; noton d; int l; Grimcë () {l = 100; n = e rastësishme (3, gjerësia/2); r = e rastësishme (0.10, TWO_PI); o = e rastësishme (1, e rastësishme (1, gjerësia/n)); c = rastësore (180, 228); d = rastësore (160, 208); } barazim void () {l ++; pushMatrix (); rrotullo (r); përktheni (drawDist (), 1); elips (10, 10, gjerësia/o/4, gjerësia/o/4); popMatrix (); o- = 0.06; } float drawDist () {return atan (n/o)*width/HALF_PI; }}

Hapi 4: Hapi 4: Lidhu dhe Provo

Hapi 4: Lidhu dhe Provo
Hapi 4: Lidhu dhe Provo

Hapi 5: Hapi 5: Shihni Rezultatin

Hapi 5: Shihni Rezultatin!
Hapi 5: Shihni Rezultatin!

Shpejtësia e topit në lëvizje do të jetë më e shpejtë kur gjithçka është më afër sensorit tejzanor. Plus, kontrolli i dritës me fotorezistues do të shfaqet në përpunim si errësirë në sfond.

Recommended: