Kazalo:

Grafični prehod obdelave Arduino: 5 korakov
Grafični prehod obdelave Arduino: 5 korakov

Video: Grafični prehod obdelave Arduino: 5 korakov

Video: Grafični prehod obdelave Arduino: 5 korakov
Video: Использование кнопки скорости шагового двигателя 28BYJ-48 с 8 проектами: Ultimate Video Tutorial, урок 107 2024, November
Anonim
Grafični prehod za obdelavo Arduino
Grafični prehod za obdelavo Arduino

Živjo, ta projekt je namenjen ustvarjanju vidnih grafik iz nevidnih delcev, ki jih lahko zaznamo s senzorji. V tem primeru sem za nadzor svetlobe in razdalje uporabil ultrazvočni senzor in fotorezistor. Vizualiziram ga tako, da spremenljivke iz senzorja naredim kot spremenljivke pri obdelavi. Nato povežem Arduino in Processing za nadzor Arduina z Processingom. Tako bi grafika v obdelavi uporabljala spremenljivke senzorja Arduino.

1. korak: 1. korak: Pripravite dele

1. korak: Pripravite dele
1. korak: Pripravite dele

Za izdelavo tega projekta boste potrebovali naslednje komponente:

- 10 k OHM

- Ultrazvočni senzor

- Foto upor

- Arduino Uno

- 7 žic

2. korak: 2. korak: Povežite vse komponente

Korak: Povežite vse komponente
Korak: Povežite vse komponente

Fotorezistor in ultrazvočni senzor potrebujejo prostor za natančno zaznavanje. Prihranite nekaj prostora in razmislite o svetlobi za fotorezistor.

3. korak: 3. korak: Koda

3. korak: Koda!
3. korak: Koda!

*Dodajte knjižnico v Arduino in v obdelavo.

Arduino: v knjižnici poiščite "nov ping"

Obdelava: v knjižnici poiščite "serijsko"

Koda za Arduino:

#vključi

#define TRIGGER_PIN 12 #define ECHO_PIN 11 #define MAX_DISTANCE 200

Sonar NewPing (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

int lightSensorPin = A0; int analogValue = 0;

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

void loop () {int Value1 = sonar.ping_cm (); Vrednost1 = zemljevid (Vrednost1, 1, 60, 500, 24); Vrednost1 = omeji (Vrednost1, 24, 500);

analogValue = analogRead (lightSensorPin); int cVal1 = zemljevid (analognaVrednost, 200, 600, 249, 100);

int cVal2 = zemljevid (analognaVrednost, 200, 600, 247, 97);

int cVal3 = zemljevid (analognaVrednost, 200, 600, 243, 101);

int cVal4 = zemljevid (analognaVrednost, 200, 600, 243, 150);

zamuda (50);

Serial.print (vrednost1); Serial.print (",");

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

Serial.println (); }

Koda za obdelavo:

// razred: (osnovni) //

uvozna obdelava.serial.*;

int konec = 10; Niz nizov; Serijska vrata;

int pcount = 350; Delci p = novi Delci [pcount]; int diagonala; int e = 100;

void setup () {port = new Serial (this, "/dev/cu.usbmodem141101"); port.clear (); serial = port.readStringUntil (konec); serijski = ničelno; za (int i = 0; i

plavajoča rotacija = 0;

void draw () {while (port.available ()> 0) {serial = port.readStringUntil (konec); zamuda (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 (rezultat1); frameRate (rezultat1); int result2 = Integer.parseInt (a [1]); System.out.println (rezultat2); int result3 = Integer.parseInt (a [2]); System.out.println (rezultat3); int result4 = Integer.parseInt (a [3]); System.out.println (rezultat4); int result5 = Integer.parseInt (a [4]); System.out.println (rezultat 5); ozadje (rezultat2, rezultat3, rezultat4); prevesti (širina/2, višina); vrtenje- = 0,0005; vrtenje (vrtenje); za (int i = 0; i diagonala) {p = nov delec (); }}}}

// razred: Delci //

razred Delci {float n; plovec r; float o; float c; float d; int l; Delci () {l = 100; n = naključno (3, širina/2); r = naključno (0,10, TWO_PI); o = naključno (1, naključno (1, širina/n)); c = naključno (180, 228); d = naključno (160, 208); } void draw () {l ++; pushMatrix (); vrteti (r); prevesti (drawDist (), 1); elipsa (10, 10, širina/o/4, širina/o/4); popMatrix (); o- = 0,06; } float drawDist () {return atan (n/o)*width/HALF_PI; }}

4. korak: 4. korak: Povežite se in preizkusite

4. korak: Povežite se in preizkusite
4. korak: Povežite se in preizkusite

5. korak: 5. korak: Oglejte si rezultat

5. korak: Oglejte si rezultat!
5. korak: Oglejte si rezultat!

Hitrost premikajoče se žoge bo večja, če je kaj bližje ultrazvočnemu senzorju. Poleg tega se bo nadzor svetlobe s fotorezistorjem pojavil v obdelavi kot tema ozadja.

Priporočena: