Mündəricat:

Arduino İşləmə Qrafik Keçid: 5 Addım
Arduino İşləmə Qrafik Keçid: 5 Addım

Video: Arduino İşləmə Qrafik Keçid: 5 Addım

Video: Arduino İşləmə Qrafik Keçid: 5 Addım
Video: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, Iyul
Anonim
Arduino Qrafik Keçid İşləyir
Arduino Qrafik Keçid İşləyir

Salam, bu layihə sensorlar tərəfindən hiss edilə bilən görünməz hissəciklərdən görünən qrafika hazırlamaq üçündür. Bu vəziyyətdə, işığı və məsafəni idarə etmək üçün ultrasəs sensoru və fotorezistordan istifadə etdim. Sensordakı dəyişənləri emalda dəyişənlər halına gətirərək bunu təsəvvür edirəm. Sonra Arduino və Processing -i Arduino -nu İşləmə ilə idarə etmək üçün bağlayıram. Beləliklə, İşləmə qrafiki Arduino sensorunun dəyişənlərini tətbiq edəcək.

Addım 1: Adım 1: Parçaları hazırlayın

Addım 1: hissələri hazırlayın
Addım 1: hissələri hazırlayın

Bu layihəni hazırlamaq üçün sizə lazım olacaq komponentlər:

- 10k OHM

- Ultrasonik sensor

- Fotoresistor

- Arduino Uno

- 7 tel

Adım 2: Adım 2: Bütün Komponentləri birləşdirin

Addım 2: Bütün komponentləri birləşdirin
Addım 2: Bütün komponentləri birləşdirin

Fotorezistor və ultrasəs sensoru dəqiq aşkar etmək üçün bir yerə ehtiyac duyur. Bir az yer ayırın və fotorezistor üçün işıq haqqında düşünün.

Adım 3: Adım 3: Kod

Addım 3: Kod!
Addım 3: Kod!

*Həm Arduino, həm də Qenerasiya kitabxanası əlavə edin.

Arduino: kitabxanada "yeni ping" axtarın

İşlənir: kitabxanada "serial" axtarın

Arduino kodu:

#daxil edin

#tetikleyici_PİN 12 -ni təyin edin #ECHO_PIN 11 -i təyin edin #MAX_DISTANCE 200 -ü təyin edin

NewPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

int lightSensorPin = A0; int analogValue = 0;

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

void loop () {int Value1 = sonar.ping_cm (); Dəyər1 = xəritə (Dəyər1, 1, 60, 500, 24); Dəyər1 = məhdudlaşdırın (Dəyər1, 24, 500);

analogValue = analogRead (lightSensorPin); int cVal1 = xəritə (analogValue, 200, 600, 249, 100);

int cVal2 = xəritə (analogValue, 200, 600, 247, 97);

int cVal3 = xəritə (analogValue, 200, 600, 243, 101);

int cVal4 = xəritə (analogValue, 200, 600, 243, 150);

gecikmə (50);

Serial.print (Dəyər1); Serial.print (",");

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

Serial.println (); }

Qenerasiya kodu:

// sinif: (əsas) //

idxal emalı.serial.*;

int end = 10; String serialı; Serial port;

int pcount = 350; Particle p = new Particle [pcount]; int diaqonal; int e = 100;

void setup () {port = new Serial (this, "/dev/cu.usbmodem141101"); port.clear (); serial = port.readStringUntil (son); serial = sıfır; üçün (int i = 0; i

üzən fırlanma = 0;

void draw () {while (port.available ()> 0) {serial = port.readStringUntil (end); gecikmə (10); } if (serial! = null) {String a = split (serial, ','); println (a [0]); println (a [1]); println (a [2]); println (a [3]); println (a [4]); int nəticə1 = Integer.parseInt (a [0]); System.out.println (nəticə1); frameRate (nəticə1); int nəticə2 = Integer.parseInt (a [1]); System.out.println (nəticə2); int result3 = Integer.parseInt (a [2]); System.out.println (nəticə3); int result4 = Integer.parseInt (a [3]); System.out.println (nəticə4); int nəticə5 = Integer.parseInt (a [4]); System.out.println (nəticə5); fon (nəticə2, nəticə3, nəticə4); tərcümə (eni/2, hündürlüyü); fırlanma- = 0.0005; fırlanma (fırlanma); for (int i = 0; i diaqonal) {p = yeni hissəcik (); }}}}

// sinif: hissəcik //

sinif Partikül {float n; float r; üzmək o; üzmək c; üzmək d; int l; Particle () {l = 100; n = təsadüfi (3, en/2); r = təsadüfi (0.10, TWO_PI); o = təsadüfi (1, təsadüfi (1, en/n)); c = təsadüfi (180, 228); d = təsadüfi (160, 208); } void draw () {l ++; pushMatrix (); döndərmək (r); tərcümə (drawDist (), 1); ellips (10, 10, eni/o/4, eni/o/4); popMatrix (); o- = 0.06; } float drawDist () {return atan (n/o)*width/HALF_PI; }}

Adım 4: Adım 4: Bağlayın və Test edin

Addım 4: Bağlayın və Test edin
Addım 4: Bağlayın və Test edin

Addım 5: Adım 5: Nəticəyə baxın

Addım 5: Nəticəyə baxın!
Addım 5: Nəticəyə baxın!

Hər hansı bir şey ultrasəs sensoruna yaxın olduqda, hərəkət edən topun sürəti daha yüksək olacaq. Üstəlik, fotorezistorlu işığın idarə edilməsi fonda qaranlıq kimi işlənəcək.

Tövsiyə: