Мазмуну:
- 1 -кадам: 1 -кадам: Бөлүктөрдү даярдоо
- 2 -кадам: 2 -кадам: Бардык компоненттерди туташтыруу
- 3 -кадам: 3 -кадам: Код
- 4 -кадам: 4 -кадам: Туташуу жана тестирлөө
- 5 -кадам: 5 -кадам: Жыйынтыгын караңыз
Video: Arduino Processing Graphic Transition: 5 Steps
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:39
Саламатсызбы, бул долбоор сенсорлор сезе турган көрүнбөгөн бөлүкчөлөрдөн көрүнөө графиканы түзүү үчүн. Бул учурда мен жарык менен аралыкты көзөмөлдөө үчүн УЗИ сенсорун жана фоторезисторду колдондум. Мен муну сенсордон өзгөрмөлөрдү иштетүүдө өзгөрмөлөр кылуу менен элестетем. Андан кийин мен Arduino менен Processing'ди туташтырып, Arduino'yu Processing менен башкарам. Ошентип, иштетүү графиги Arduino сенсорунун өзгөрмөлөрүн колдонот.
1 -кадам: 1 -кадам: Бөлүктөрдү даярдоо
Бул жерде бул долбоорду жасоо үчүн керек болгон компоненттер:
- 10k OHM
- УЗИ сенсор
- Фоторезистор
- Ардуино Уно
- 7 зым
2 -кадам: 2 -кадам: Бардык компоненттерди туташтыруу
Фоторезистор менен УЗИ сенсоруна так аныктоо үчүн орун керек. Бир аз орун сактап, фоторезистор үчүн жарык жөнүндө ойлонуп көрүңүз.
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 (); Value1 = карта (Value1, 1, 60, 500, 24); Value1 = чектөө (Value1, 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 diagonal; int e = 100;
void setup () {port = new Serial (this, "/dev/cu.usbmodem141101"); port.clear (); serial = port.readStringUntil (аягы); serial = null; үчүн (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 (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; айлануу (айлануу); for (int i = 0; i диагоналдуу) {p = new Particle (); }}}}
// класс: бөлүкчө //
класс Бөлүкчө {float n; float r; сүзүү o; сүзүү c; сүзүү d; int l; Particle () {l = 100; n = туш келди (3, туурасы/2); r = туш келди (0.10, TWO_PI); o = туш келди (1, туш келди (1, туурасы/n)); с = туш келди (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 -кадам: Туташуу жана тестирлөө
5 -кадам: 5 -кадам: Жыйынтыгын караңыз
УЗИ сенсоруна жакыныраак болгондо, кыймылдаган топтун ылдамдыгы тезирээк болот. Мындан тышкары, фоторезистор менен жарык көзөмөлү караңгылык катары иштетилүүдө пайда болот.
Сунушталууда:
FK (Forward Kinematic) Excel, Arduino & Processing менен: 8 кадам
FK (Forward Kinematic) Excel, Arduino & Processing менен: Forward Kinematic 3D мейкиндигинде End Effector баалуулуктарын (x, y, z) табуу үчүн колдонулат
Excel, Arduino & Processing менен алдыга Кинематикалык: 8 кадам
Forward Kinematic with Excel, Arduino & Processing: Forward Kinematic 3D мейкиндигинде End Effector баалуулуктарын (x, y, z) табуу үчүн колдонулат
Conexión Serial Arduino a Processing (acelerómetro En Anillo): 5 кадам
Conexión Serial Arduino a Processing (Acelerómetro En Anillo): Аркылуу жана кайра иштетилүүчү маалыматтардын эң чоңу - бул маалымат. Ac á les muestro la manera en que yo lo lo resuelvo, no es la ú nica, pero es bastante efectiva, que que en Processing, la recepc
Gesture Hawk: Hand Gesture Controled Robot using Image Processing Based Interface: 13 Steps (Сүрөттөр менен)
Gesture Hawk: Hand Gesture Controlled Robot using Image Processing Based Interface: Gesture Hawk TechEvince 4.0де жөнөкөй сүрөт иштетүүгө негизделген адам-машина интерфейси катары көрсөтүлдү. Анын пайдалуулугу ар кандай роботтордо иштеген робот машинаны көзөмөлдөө үчүн колкаптан башка эч кандай кошумча сенсорлордун же тагынуунун кереги жоктугунда
Quantimetric Image Processing: 5 Steps
Квантиметрдик сүрөт иштетүү: (Жогорудагы сүрөттө сүрөттөрдү иштетүүнүн квантиметрдик ыкмасы менен салыштыруу көрсөтүлөт. Жакшыртылган натыйжага көңүл бургула. Оң жактагы сүрөттө мындай нерселер өлчөнөт деген туура эмес божомолдон келип чыккан кызыктай артефакттар көрсөтүлгөн