فهرست مطالب:

انتقال گرافیکی پردازش آردوینو: 5 مرحله
انتقال گرافیکی پردازش آردوینو: 5 مرحله

تصویری: انتقال گرافیکی پردازش آردوینو: 5 مرحله

تصویری: انتقال گرافیکی پردازش آردوینو: 5 مرحله
تصویری: لزبازی لیلا اوتادی چه لبی میگیره (نبینی از دستت رفته) 2024, نوامبر
Anonim
انتقال گرافیکی پردازش آردوینو
انتقال گرافیکی پردازش آردوینو

سلام ، این پروژه برای ایجاد گرافیک قابل مشاهده از ذرات نامرئی است که توسط حسگرها قابل تشخیص است. در این مورد ، از سنسور اولتراسونیک و مقاومت نوری برای کنترل نور و فاصله استفاده کردم. من آن را با ایجاد متغیرهای حسگر به عنوان متغیرهایی در پردازش تجسم می کنم. سپس Arduino و Processing را برای کنترل Arduino با Processing متصل می کنم. بنابراین ، گرافیک در پردازش متغیرهایی را از سنسور آردوینو اعمال می کند.

مرحله 1: مرحله 1: قطعات را آماده کنید

مرحله 1: قطعات را آماده کنید
مرحله 1: قطعات را آماده کنید

در اینجا اجزای مورد نیاز برای ساخت این پروژه آمده است:

- 10k OHM

- سنسور اولتراسونیک

- مقاومت در برابر نور

- آردوینو اونو

- 7 سیم

مرحله 2: مرحله 2: همه اجزا را متصل کنید

مرحله 2: همه قطعات را وصل کنید
مرحله 2: همه قطعات را وصل کنید

مقاومت نوری و سنسور اولتراسونیک به فضایی برای تشخیص دقیق نیاز دارند. مقداری فضا ذخیره کنید و به نور برای مقاومت در برابر نور فکر کنید.

مرحله 3: مرحله 3: کد

مرحله 3: کد!
مرحله 3: کد!

*اضافه کردن کتابخانه در هر دو Arduino و پردازش.

آردوینو: "پینگ جدید" را در کتابخانه جستجو کنید

پردازش: "سریال" را در کتابخانه جستجو کنید

کد آردوینو:

#عبارتند از

#تعریف TRIGGER_PIN 12 #تعریف ECHO_PIN 11 #تعریف MAX_DISTANCE 200

سونار 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 ()؛ ارزش 1 = نقشه (ارزش 1 ، 1 ، 60 ، 500 ، 24) ؛ ارزش 1 = محدودیت (ارزش 1 ، 24 ، 500) ؛

analogValue = analogRead (lightSensorPin) ؛ int cVal1 = نقشه (analogValue ، 200 ، 600 ، 249 ، 100) ؛

int cVal2 = نقشه (analogValue ، 200 ، 600 ، 247 ، 97) ؛

int cVal3 = نقشه (analogValue ، 200 ، 600 ، 243 ، 101) ؛

int cVal4 = نقشه (analogValue ، 200 ، 600 ، 243 ، 150) ؛

تأخیر (50) ؛

Serial.print (مقدار 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 ()؛ }

کد پردازش:

// کلاس: (پایه) //

پردازش واردات. سریال.*؛

انتهای انتهایی = 10 ؛ سریال رشته ای ؛ درگاه سریال؛

int pcount = 350؛ ذره p = ذره جدید [pcount] ؛ int مورب ؛ int e = 100 ؛

void setup () {port = new Serial (این ، "/dev/cu.usbmodem141101") ؛ port.clear ()؛ سریال = port.readStringUntil (پایان) ؛ سریال = null؛ برای (int i = 0 ؛ i

چرخش شناور = 0 ؛

void draw () {while (port.available ()> 0) {serial = port.readStringUntil (پایان) ؛ تأخیر (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 (result1) ؛ 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)؛ پس زمینه (result2 ، result3 ، result4) ؛ ترجمه (عرض/2 ، ارتفاع) ؛ چرخش- = 0.0005 ؛ چرخش (چرخش) ؛ برای (int i = 0؛ i مورب) {p = ذره جدید ()؛ }}}}

// کلاس: ذرات //

class Particle {float n؛ شناور r ؛ شناور o؛ شناور c ؛ شناور d؛ int l؛ ذره () {l = 100؛ n = تصادفی (3 ، عرض/2) ؛ r = تصادفی (0.10 ، TWO_PI) ؛ o = تصادفی (1 ، تصادفی (1 ، عرض/ن)) ؛ c = تصادفی (180 ، 228) ؛ d = تصادفی (160 ، 208) ؛ } void draw () {l ++؛ pushMatrix ()؛ چرخش (r) ؛ ترجمه (drawDist () ، 1) ؛ بیضی (10 ، 10 ، عرض/o/4 ، عرض/o/4) ؛ popMatrix ()؛ o- = 0.06 ؛ } float drawDist () {return atan (n/o)*width/HALF_PI؛ }}

مرحله 4: مرحله 4: اتصال و تست کنید

مرحله 4: اتصال و تست کنید
مرحله 4: اتصال و تست کنید

مرحله 5: مرحله 5: نتیجه را ببینید

مرحله 5: نتیجه را ببینید!
مرحله 5: نتیجه را ببینید!

هنگامی که هر چیزی به سنسور اولتراسونیک نزدیک باشد ، سرعت حرکت توپ بیشتر خواهد بود. بعلاوه ، کنترل نور با مقاومت در برابر عکس در حالت تاریکی پس زمینه ظاهر می شود.

توصیه شده: