Оглавление:
- Шаг 1: Шаг 1: Подготовка деталей
- Шаг 2: Шаг 2: Подключите все компоненты
- Шаг 3: Шаг 3: Код
- Шаг 4: Шаг 4: Подключите и проверьте
- Шаг 5: Шаг 5: Посмотрите результат
Видео: Графический переход обработки Arduino: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
Привет, этот проект предназначен для создания видимой графики из невидимых частиц, которые могут быть обнаружены датчиками. В этом случае я использовал ультразвуковой датчик и фоторезистор для управления освещением и расстоянием. Я визуализирую это, превращая переменные датчика в переменные при обработке. Затем я подключаю Arduino и Processing для управления Arduino с помощью Processing. Таким образом, на графике в разделе «Обработка» будут применяться переменные датчика Arduino.
Шаг 1: Шаг 1: Подготовка деталей
Вот компоненты, которые вам понадобятся для создания этого проекта:
- 10 кОм
- Ультразвуковой датчик
- Фоторезистор
- Ардуино Уно
- 7 проводов
Шаг 2: Шаг 2: Подключите все компоненты
Фоторезистору и ультразвуковому датчику требуется место для точного обнаружения. Сэкономьте немного места и подумайте о свете для фоторезистора.
Шаг 3: Шаг 3: Код
* Добавить библиотеку как в Arduino, так и в Processing.
Arduino: поиск «новый пинг» в библиотеке
Обработка: поиск "сериала" в библиотеке
Код для Ардуино:
#включают
#define TRIGGER_PIN 12 #define ECHO_PIN 11 #define MAX_DISTANCE 200
Эхолот NewPing (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
int lightSensorPin = A0; int analogValue = 0;
void setup () {Serial.begin (9600); }
void loop () {значение int = sonar.ping_cm (); Значение1 = карта (Значение1, 1, 60, 500, 24); Значение1 = ограничение (Значение1, 24, 500);
analogValue = analogRead (lightSensorPin); int cVal1 = map (analogValue, 200, 600, 249, 100);
int cVal2 = map (analogValue, 200, 600, 247, 97);
int cVal3 = map (analogValue, 200, 600, 243, 101);
int cVal4 = map (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 (); }
Код для обработки:
// класс: (базовый) //
import processing.serial. *;
int end = 10; Строковый серийный номер; Последовательный порт;
int pcount = 350; Частица p = новая частица [pcount]; внутренняя диагональ; int e = 100;
void setup () {port = new Serial (this, "/dev/cu.usbmodem141101"); port.clear (); последовательный = порт.readStringUntil (конец); серийный = ноль; для (int i = 0; i
вращение поплавка = 0;
void draw () {while (port.available ()> 0) {serial = port.readStringUntil (конец); задержка (10); } if (серийный! = 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; вращать (вращать); для (int i = 0; i диагональ) {p = new Particle (); }}}}
// класс: Частица //
class Particle {float n; float r; float o; float c; float d; int l; Частица () {l = 100; n = случайный (3, ширина / 2); r = случайный (0,10, TWO_PI); o = random (1, random (1, width / n)); 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) * ширина / HALF_PI; }}
Шаг 4: Шаг 4: Подключите и проверьте
Шаг 5: Шаг 5: Посмотрите результат
Скорость движущегося мяча будет выше, когда что-нибудь окажется ближе к ультразвуковому датчику. Кроме того, управление освещением с фоторезистором будет отображаться при обработке как фоновая темнота.
Рекомендуемые:
Переход от солнечного садового света к RBG: 7 шагов (с изображениями)
Переход от солнечного садового света к RBG: на Youtube есть много видео о ремонте садовых солнечных фонарей; продление срока службы батареи солнечного садового фонаря, чтобы он работал дольше ночью, и множество других уловок. Эта инструкция немного отличается от тех, которые вы найдете на Y
Графический калькулятор с использованием Arduino: 7 шагов
Графический калькулятор с использованием Arduino: Здравствуйте, друзья! Сегодня у меня есть что показать вам. Как упоминалось ранее в названии, я разработал ЭЛЕКТРОННЫЙ КАЛЬКУЛЯТОР, используя Arduino uno и 2.4 " Экран TFT Lcd Display
Переход на более раннюю версию прошивки M365: 7 шагов
Понижение версии прошивки M365: Здравствуйте, в этой инструкции я покажу вам, как понизить версию прошивки вашего электросамоката Xiaomi M365. Если у вас версия 1.5.1, это означает, что вы можете использовать только официальное приложение, которое имеет только несколько функций для сравнения на более проработанный
Переход по связному списку с помощью рекурсии - Java: 12 шагов
Переход по связному списку с использованием рекурсии - Java: Добро пожаловать и благодарим вас за выбор этого набора инструкций, который покажет вам, как создать рекурсивную функцию. Базовые знания java необходимы для понимания шагов, которые будут выполняться. В целом, этот 12-этапный процесс больше не должен
Сделайте пассивный сетевой переход: 7 шагов
Сделайте пассивный сетевой переходник: это руководство покажет вам, как сделать недорогой сетевой переходник для мониторинга вашей сети. Такие компании, как Network Optics, делают невероятные перехватчики для всех видов носителей, но если у вас есть домашняя сеть 10/100, то за 18 долларов запчасти из домашнего склада вам