Orodha ya maudhui:

Usindikaji wa Picha ya Arduino: Hatua 5
Usindikaji wa Picha ya Arduino: Hatua 5

Video: Usindikaji wa Picha ya Arduino: Hatua 5

Video: Usindikaji wa Picha ya Arduino: Hatua 5
Video: UKIZIONA DALILI HIZI MAMA MJAMZITO BASI UTAJIFUNGUA MTOTO WA KIUME 2024, Novemba
Anonim
Usindikaji wa Picha ya Arduino
Usindikaji wa Picha ya Arduino

Halo, mradi huu ni wa kutengeneza picha zinazoonekana kutoka kwa chembe ambazo hazionekani ambazo zinaweza kuhisiwa na sensorer. Katika kesi hii, nilitumia sensor ya ultrasonic na photoresistor kudhibiti mwanga na umbali. Ninaiona kwa kutengeneza vigeugeu kutoka kwa kihisi kama vigeuzi katika usindikaji. Kisha ninaunganisha Arduino na Usindikaji kudhibiti Arduino na Usindikaji. Kwa hivyo, picha katika Usindikaji ingetumia vigeuzi kutoka kwa sensorer ya Arduino.

Hatua ya 1: Hatua ya 1: Andaa Sehemu

Hatua ya 1: Andaa Sehemu
Hatua ya 1: Andaa Sehemu

Hapa kuna vifaa ambavyo utahitaji kufanya mradi huu:

- 10k OHM

- Utambuzi wa Ultrasonic

- Mpiga picha

- Arduino Uno

- waya 7

Hatua ya 2: Hatua ya 2: Unganisha Vipengele vyote

Hatua ya 2: Unganisha Vipengele vyote
Hatua ya 2: Unganisha Vipengele vyote

Photoresistor na sensa ya Ultrasonic inahitaji nafasi ya utambuzi sahihi. Hifadhi nafasi na ufikirie juu ya nuru kwa mtunzi wa picha.

Hatua ya 3: Hatua ya 3: Kanuni

Hatua ya 3: Kanuni!
Hatua ya 3: Kanuni!

* Ongeza maktaba katika Arduino na Usindikaji.

Arduino: tafuta "ping mpya" kwenye maktaba

Inasindika: tafuta "serial" kwenye maktaba

Nambari ya Arduino:

# pamoja

#fafanua TRIGGER_PIN 12 #fafanua ECHO_PIN 11 #fafanua MAX_DISTANCE 200

Sonar ya NewPing (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

mwanga lightSensorPin = A0; int analogValue = 0;

kuanzisha batili () {Serial.begin (9600); }

kitanzi batili () {int Thamani1 = sonar.ping_cm (); Thamani1 = ramani (Thamani1, 1, 60, 500, 24); Thamani1 = kubana (Thamani1, 24, 500);

AnalogValue = AnalogRead (lightSensorPin); int cVal1 = ramani (Thamani ya Analog, 200, 600, 249, 100);

int cVal2 = ramani (Thamani ya Analog, 200, 600, 247, 97);

int cVal3 = ramani (Thamani ya Analog, 200, 600, 243, 101);

int cVal4 = ramani (Thamani ya Analog, 200, 600, 243, 150);

kuchelewesha (50);

Printa ya serial (Thamani1); Serial.print (",");

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

Serial.println (); }

Nambari ya Usindikaji:

// darasa: (msingi) //

usindikaji wa kuagiza.serial. *;

mwisho = 10; String serial; Bandari ya serial;

hesabu ya int = 350; Chembe p = Chembe mpya [pcount]; int diagonal; int e = 100;

kuanzisha batili () {port = new Serial (hii, "/dev/cu.usbmodem141101"); bandari safi (); serial = port.readStringUntil (mwisho); mfululizo = batili; kwa (int i = 0; i

kuelea kuzunguka = 0;

chora batili () {wakati (bandari haipatikani ()> 0) {serial = port.readStringUntil (mwisho); kuchelewesha (10); } ikiwa (serial! = null) {String a = split (mfululizo, ','); println (a [0]); println (a [1]); println (a [2]); println (a [3]); println (a [4]); int result1 = Integer.parseInt (a [0]); Mfumo.out.println (matokeo1); Kiwango cha fremu (matokeo1); int result2 = Integer.parseInt (a [1]); System.out.println (matokeo2); int result3 = Integer.parseInt (a [2]); Mfumo.out.println (matokeo3); int result4 = Integer.parseInt (a [3]); System.out.println (matokeo4); int result5 = Integer.parseInt (a [4]); Mfumo.out.println (matokeo5); msingi (matokeo2, matokeo3, matokeo4); kutafsiri (upana / 2, urefu); mzunguko- = 0.0005; mzunguko (mzunguko); kwa (int i = 0; i diagonal) {p = Particle mpya (); }}}}

// darasa: Particle //

Darasa chembe {kuelea n; kuelea r; kuelea o; kuelea c; kuelea d; int l; Chembe () {l = 100; n = nasibu (3, upana / 2); r = bila mpangilio (0.10, TWO_PI); o = bila mpangilio (1, bila mpangilio (1, upana / n)); c = bila mpangilio (180, 228); d = bila mpangilio (160, 208); } sare tupu () {l ++; PushMatrix (); zunguka (r); kutafsiri (drawDist (), 1); mviringo (10, 10, upana / o / 4, upana / o / 4); popMatrix (); o- = 0.06; } kuelea DrawDist () {kurudi atan (n / o) * upana / HALF_PI; }}

Hatua ya 4: Hatua ya 4: Unganisha na ujaribu

Hatua ya 4: Unganisha na Jaribu
Hatua ya 4: Unganisha na Jaribu

Hatua ya 5: Hatua ya 5: Angalia Matokeo

Hatua ya 5: Angalia Matokeo!
Hatua ya 5: Angalia Matokeo!

Kasi ya mpira unaosonga itakuwa haraka wakati kitu chochote kinakaribia sensor ya ultrasonic. Kwa kuongezea, udhibiti wa taa na picharesistor itaonekana katika usindikaji kama giza la nyuma.

Ilipendekeza: