Мазмұны:

Arduino өңдеу графикалық ауысуы: 5 қадам
Arduino өңдеу графикалық ауысуы: 5 қадам

Бейне: Arduino өңдеу графикалық ауысуы: 5 қадам

Бейне: Arduino өңдеу графикалық ауысуы: 5 қадам
Бейне: Өндірістік тәжірибе. Тақырыбы: Microsoft Power point-презентациялар бағдарламасы 2024, Шілде
Anonim
Arduino өңдеу графикалық ауысуы
Arduino өңдеу графикалық ауысуы

Сәлеметсіз бе, бұл жоба сенсорлар сезетін көрінбейтін бөлшектерден көрінетін графика жасауға арналған. Бұл жағдайда мен жарық пен қашықтықты басқару үшін ультрадыбыстық сенсор мен фоторезисторды қолдандым. Мен сенсордан айнымалыларды өңдеу кезінде айнымалы етіп жасау арқылы елестетемін. Содан кейін мен Arduino мен Processing -ті Arduino -ді өңдеу арқылы басқаруға қосамын. Осылайша, өңдеу графигі Arduino сенсорының айнымалыларын қолданады.

1 -қадам: 1 -қадам: бөлшектерді дайындау

1 -қадам: бөлшектерді дайындау
1 -қадам: бөлшектерді дайындау

Бұл жобаны жасау үшін сізге қажет компоненттер:

- 10k OHM

- Ультрадыбыстық сенсор

- Фоторезистор

- Ардуино Уно

- 7 сым

2 -қадам: 2 -қадам: Барлық компоненттерді қосыңыз

2 -қадам: Барлық компоненттерді қосыңыз
2 -қадам: Барлық компоненттерді қосыңыз

Фоторезистор мен ультрадыбыстық сенсорға дәл анықтау үшін кеңістік қажет. Біршама орынды үнемдеңіз және фоторезистор үшін жарық туралы ойланыңыз.

3 -қадам: 3 -қадам: Код

3 -қадам: код!
3 -қадам: код!

*Arduino мен Processing -те кітапхана қосыңыз.

Arduino: кітапханадан «жаңа пинг» іздеңіз

Өңдеу: кітапханадан «сериялық» іздеу

Arduino коды:

#қосу

#TRIGGER_PIN 12 анықтау #ECHO_PIN 11 анықтау #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 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 (Value1); Serial.print («,»);

Serial.print (cVal1); Serial.print («,»); Serial.print (cVal2); Serial.print («,»); Serial.print (cVal3); Serial.print («,»); Serial.print (cVal4); Serial.print («,»);

Serial.println (); }

Өңдеу коды:

// сынып: (негізгі) //

импортты өңдеу.сериал.*;

int end = 10; Жол сериясы; Сериялық порт;

int pcount = 350; Бөлшек p = жаңа бөлшек [pcount]; int диагональды; int e = 100;

void setup () {port = new Serial (this, «/dev/cu.usbmodem141101»); port.clear (); serial = port.readStringUntil (соңы); сериялық = бос; үшін (int i = 0; i

қалқымалы айналу = 0;

void draw () {while (port.available ()> 0) {serial = port.readStringUntil (end); кешіктіру (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 (нәтиже1); frameRate (нәтиже1); int result2 = Integer.parseInt (a [1]); System.out.println (нәтиже2); int result3 = Integer.parseInt (a [2]); System.out.println (нәтиже3); int result4 = Integer.parseInt (a [3]); System.out.println (нәтиже4); int result5 = Integer.parseInt (a [4]); System.out.println (нәтиже5); фон (нәтиже2, нәтиже3, нәтиже4); аудару (ені/2, биіктігі); айналу-= 0.0005; айналдыру (айналдыру); for (int i = 0; i диагональ) {p = жаңа бөлшек (); }}}}

// сынып: бөлшек //

сынып Бөлшек {float n; float r; жүзу o; қалқыма c; қалқыма d; int l; Бөлшек () {l = 100; n = кездейсоқ (3, ені/2); r = кездейсоқ (0.10, TWO_PI); o = кездейсоқ (1, кездейсоқ (1, ені/n)); c = кездейсоқ (180, 228); d = кездейсоқ (160, 208); } void draw () {l ++; pushMatrix (); айналдыру (r); аудару (drawDist (), 1); эллипс (10, 10, ені/о/4, ені/о/4); popMatrix (); o- = 0,06; } float drawDist () {return atan (n/o)*width/HALF_PI; }}

4 -қадам: 4 -қадам: Қосылу және тестілеу

4 -қадам: Қосылу және тексеру
4 -қадам: Қосылу және тексеру

5 -қадам: 5 -қадам: Нәтижені қараңыз

5 -қадам: Нәтижені қараңыз!
5 -қадам: Нәтижені қараңыз!

Кез келген нәрсе ультрадыбыстық сенсорға жақындаған кезде қозғалатын доптың жылдамдығы тез болады. Сонымен қатар, фоторезисторы бар жарықты басқару фондық қараңғылық ретінде өңделетін болады.

Ұсынылған: