Obsah:

Grafický prechod na spracovanie Arduino: 5 krokov
Grafický prechod na spracovanie Arduino: 5 krokov

Video: Grafický prechod na spracovanie Arduino: 5 krokov

Video: Grafický prechod na spracovanie Arduino: 5 krokov
Video: Начало работы с QLC+ Управление цветомузыкой с компьютера. Как управлять светом. 2024, November
Anonim
Grafický prechod na spracovanie Arduino
Grafický prechod na spracovanie Arduino

Ahoj, tento projekt je na vytváranie viditeľnej grafiky z neviditeľných častíc, ktoré môžu byť snímané senzormi. V tomto prípade som na ovládanie svetla a vzdialenosti použil ultrazvukový senzor a fotorezistor. Vizualizujem to tak, že premenné zo senzora urobím ako premenné pri spracovaní. Potom prepojím Arduino a Processing, aby som ovládal Arduino pomocou Processing. Grafika v procese spracovania by teda uplatňovala premenné zo senzora Arduino.

Krok 1: Krok 1: Príprava dielov

Krok 1: Pripravte si súčiastky
Krok 1: Pripravte si súčiastky

Tu sú komponenty, ktoré budete potrebovať na vytvorenie tohto projektu:

- 10 k OHM

- Ultrazvukový senzor

- Fotorezistor

- Arduino Uno

- 7 drôtov

Krok 2: Krok 2: Pripojte všetky súčasti

Krok 2: Pripojte všetky súčasti
Krok 2: Pripojte všetky súčasti

Fotoodpor a ultrazvukový senzor potrebujú priestor na presnú detekciu. Ušetrite miesto a myslite na svetlo pre fotorezistor.

Krok 3: Krok 3: Kód

Krok 3: Kód!
Krok 3: Kód!

*Pridajte knižnicu do Arduina aj do Processingu.

Arduino: vyhľadajte v knižnici „nový ping“

Prebieha spracovanie: vyhľadajte v knižnici „sériové“

Kód pre Arduino:

#zahrnúť

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

NewPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

int lightSensorPin = A0; int analogValue = 0;

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

void loop () {int Hodnota1 = sonar.ping_cm (); Hodnota1 = mapa (hodnota1, 1, 60, 500, 24); Hodnota1 = obmedzenie (hodnota1, 24, 500);

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

int cVal2 = mapa (analogValue, 200, 600, 247, 97);

int cVal3 = mapa (analogValue, 200, 600, 243, 101);

int cVal4 = mapa (analogValue, 200, 600, 243, 150);

oneskorenie (50);

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

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

Serial.println (); }

Kód na spracovanie:

// trieda: (základná) //

spracovanie importu.sériové.*;

int koniec = 10; Sláčikový seriál; Sériový port;

int pcount = 350; Particle p = new Particle [pcount]; int uhlopriečka; int e = 100;

void setup () {port = new Serial (this, "/dev/cu.usbmodem141101"); port.clear (); serial = port.readStringUntil (end); serial = null; pre (int i = 0; i

rotácia plaváka = 0;

void draw () {while (port.available ()> 0) {serial = port.readStringUntil (end); oneskorenie (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 (výsledok1); 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); pozadie (result2, result3, result4); preložiť (šírka/2, výška); rotácia- = 0,0005; otočiť (rotácia); pre (int i = 0; i uhlopriečka) {p = nová častica (); }}}}

// trieda: Častice //

trieda Častica {float n; plavák r; plávať o; plavák c; plavák d; int l; Častica () {l = 100; n = náhodný (3, šírka/2); r = náhodný (0,10, TWO_PI); o = náhodný (1, náhodný (1, šírka/n)); c = náhodný (180, 228); d = náhodný (160, 208); } void draw () {l ++; pushMatrix (); rotovať (r); translate (drawDist (), 1); elipsa (10, 10, šírka/o/4, šírka/o/4); popMatrix (); o- = 0,06; } float drawDist () {return atan (n/o)*width/HALF_PI; }}

Krok 4: Krok 4: Pripojenie a test

Krok 4: Pripojte sa a vyskúšajte
Krok 4: Pripojte sa a vyskúšajte

Krok 5: Krok 5: Pozrite sa na výsledok

Krok 5: Pozrite sa na výsledok!
Krok 5: Pozrite sa na výsledok!

Rýchlosť pohybujúcej sa gule bude vyššia, keď je čokoľvek bližšie k ultrazvukovému senzoru. Ovládanie svetla s fotoodporom sa navyše bude pri spracovaní zobrazovať ako tma v pozadí.

Odporúča: