Arcade PUB
  • Главная
  • Уроки
  • Датчики
  • Проекты
  • Справочник языка Ардуино
  • Справочник
  • Видео
  • Контакты
  • Поддержать
Уроки  /  22 мая, 2020

Processing часть 2. Урок 13. Ардуино

by valentino
Processing и RGB светодиод
Processing и RGB светодиод

Привет! В прошлом уроке мы посмотрели как можно управлять программой в компьютере через плату Ардуино и последовательный порт. Сегодня попробуем сделать наоборот. Подключим к Ардуино простую схему и попробуем управлять ей через приложение на компьютере. Опять используем Processing для создания приложения.

Содержание

  • 1 Для того, чтобы выполнить этот урок нам понадобиться.
  • 2 Схема и программа Ардуино
  • 3 Processing программа
  • 4 Полный текст программы
  • 5 Заключение
  • 6 Похожее

Посмотрите предыдущий урок, в котором мы уже использовали Processing и написали наше первое приложение.

Processing. Урок 12. Ардуино

Для того, чтобы выполнить этот урок нам понадобиться.

  • Ардуино UNO
  • Макетная плата
  • Перемычки
  • RGB светодиод
  • 3 резистора 220 Ом
  • Кабель USB

Сегодня подключим к Ардуино RGB светодиод и будем управлять его цветом через приложение на компьютере. Опять используем последовательный порт для передачи данных.

Схема и программа Ардуино

RGB светодиоды мы уже подключали и использовали, так что возьмем старую схему. Но уберем все лишнее, оставим только светодиод.

Принципиальная схема подключения
Принципиальная схема подключения

Для схемы на Ардуино задача простая. Мы уже делали все части этой схемы. Нужно считать данные из последовательного порта. И записать их на контакты rgb светодиода.

Для этого используем функцию Serial.available() для определения данных в буфере последовательного порта.

И функцию Serial.parseInt(), чтобы найти число int в наборе данных.

const int RED =11;
const int GREEN =10;
const int BLUE =9;

int rval = 0;
int gval = 0;
int bval = 0;

void setup(){
  Serial.begin(9600);
  pinMode(RED, OUTPUT);
  pinMode(GREEN, OUTPUT);
  pinMode(BLUE, OUTPUT);
}

void loop(){
  while (Serial.available() > 0){
    
    rval = Serial.parseInt(); // Первое число
    gval = Serial.parseInt(); // Второе число
    bval = Serial.parseInt(); // Третье число
    
    if (Serial.read() == '\n'){
      analogWrite(RED, rval);
      analogWrite(GREEN, gval);
      analogWrite(BLUE, bval);
    }
  }
}

Прошиваем Ардуино и проверяем, работает ли схема через последовательный порт.

Processing программа

Вначале подключим класс для работы с последовательным портом. И создадим необходимые объекты для последовательного порта и изображений.

import processing.serial.*;
Serial port;
PImage img;

В функции setup() создадим окно программы, создадим экземпляр объекта последовательного порта и загрузим фоновую картинку в переменную для дальнейшей работы с ней.

void setup(){
  size(640,256);
  port=new Serial(this, "COM7", 9600);
  img = loadImage("hsv.jpg");
}

Не забудьте положить картинку в папку с файлом программы.

Фоновое изображение для программы Processing
Фоновое изображение для программы Processing

Теперь нам нужно взять координаты цвета из фоновой картинки и передать их на Ардуино. Для этого будем пользоваться мышкой. При движении мыши считаем координаты и определим состав цвета по трем разным цветам. Выведем цвет в лог, для анализа и запишем в последовательный порт.

void mouseMoved(){
  color c=get(mouseX, mouseY);
  String colors=int(red(c))+","+int(green(c))+","+int(blue(c))+"\n";
  print(colors);
  port.write(colors);
}

Теперь осталось только написать функцию draw(). Перерисовывать окно на этот раз не нужно. Только зададим основной цвет окна. И загрузим фоновое изображение в левый верхний угол окна программы.

void draw(){
  background(0);
  image(img,0,0);
}

Полный текст программы

import processing.serial.*;
Serial port;
PImage img;

void setup(){
  size(640,256);
  img = loadImage("hsv.jpg");
  port=new Serial(this, "COM7", 9600);
}

void draw(){
  background(0);
  image(img,0,0);
}

void mouseMoved(){
  color c=get(mouseX, mouseY);
  String colors=int(red(c))+","+int(green(c))+","+int(blue(c))+"\n";
  print(colors);
  port.write(colors);
}

Теперь при движении мыши мы автоматически передаем настройки цвета на плату Ардуино. А она, в свою очередь, выставляет нужные цвета на контакты rgb светодиода.

Rgb светодиод повторяет цвета из палитры
Rgb светодиод повторяет цвета из палитры

Заключение

Сегодня мы научились управлять схемой на Ардуино через приложение на компьютере. Мы управляли светодиодом, но подобные управляющие программы можно сделать для любого оборудования подключенного к Арудино.

Похожее

Tags

  • Основное

Навигация по записям

Processing. Урок 12. Ардуино
Bluetooth модуль HM-10 (ZS-040). Урок 14. Ардуино

Share your thoughts Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Новое видео на канале

https://youtu.be/bvzX-edTdS0

Свежие записи

  • Четырехразрядный индикатор. Урок 24. Ардуино
  • 7 сегментный индикатор. Урок 23. Ардуино
  • Клавиатура. Урок 22. Ардуино
  • OLED дисплей. Урок 21. Ардуино
  • Много кнопок на одном пине. Урок 20. Ардуино

Метки

  • Bluetooth
  • RGB Светодиоды
  • WIFI
  • Двигатели
  • Звук
  • Игры
  • Интернет вещей
  • Лего
  • Основное
  • Программирование
  • Уроки

Купить стартовый набор Ардуино UNO на Aliexpress

Стартовый набор Ардуино Уно

Купить набор датчиков для Ардуино 45 штук на Aliexpress

набор датчиков для Ардуино

arcadepub

Do you know how this display works? It is pretty e Do you know how this display works? It is pretty easy to use it with #arduino.
#arduinouno #arduinoproject #arcadepub #ардуино #аркадныйпаб #ардуинопроект
How to use 7 segments indicator with #arduino its How to use 7 segments indicator with #arduino its pretty easy.
#arduinouno #arduinoproject #arcadepub
How to use 4x4 keypad with #arduino check it out. How to use 4x4 keypad with #arduino check it out. #arduinouno #arduinoproject #arcadepub
How to use oled display with #arduino it's pretty How to use oled display with #arduino it's pretty easy. #arcadepub #ардуино #ардуинопроект #arduinoproject #arduinouno
Hi there! How to control button debounce without c Hi there! How to control button debounce without code. Lets see.

Please subscribe to my instagram and youtube channel as well.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #arduinoproject
Hello there! Let's write a program to control ard Hello there!  Let's write a program to control arduino by ir.

Please subscribe to my instagram and youtube channel as well.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #arduinoproject
Hey! How are you doing? How do you think, we can c Hey! How are you doing? How do you think, we can control arduino program by ir? I bet we can. 

Please subscribe to my instagram and youtube channel as well.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #arduinoproject
Hello! There is a second video on my youtube chann Hello! There is a second video on my youtube channel. I've just added subtitles, so you can see how to use if and else structures and for() loop in arduino program. Enjoy, and do NOT forget to subscribe. 
https://youtu.be/8AHfAQyNAqU

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #youtube
Hi there! How is it going? Photo resistor and lase Hi there! How is it going? Photo resistor and laser are here. Look at graphics and try to understand how it works!

Please subscribe to my instagram and youtube channel as well.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #arduinoproject
Here is ky-039 heart beat arduino module. Do you l Here is ky-039 heart beat arduino module. Do you like it? Write in the comments below!

Please subscribe to my instagram and youtube channel as well.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #arduinoproject
Its Magic lights with ky-027 arduino module. Do yo Its Magic lights with ky-027 arduino module. Do you like it?  Write in the comments below!

Please subscribe to my instagram and youtube channel as well.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #arduinoproject
Arduino and #laser are together. Please subscribe Arduino and #laser are together.

Please subscribe to my instagram and youtube channel as well.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #arduinoproject
Do you know how gyroscope modul works with arduino Do you know how gyroscope modul works with arduino? 

Please subscribe to my instagram and youtube channel as well.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #rfid #arduinoproject
Do you know how you can use rfid module with ardui Do you know how you can use rfid module with arduino? 

Please subscribe to my instagram and youtube channel as well.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #rfid #arduinoproject
It is almost done Please subscribe to my youtube It is almost done

Please subscribe to my youtube channel as well.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #flower #autowatering #arduinoproject #robot #spiderbot
Begin to make a spider bot. Please subscribe to Begin to make a spider bot. 

Please subscribe to my youtube channel as well.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #flower #autowatering #arduinoproject #robot #spiderbot
Hello folks! There are 1000 of us on my instagram Hello folks! There are 1000 of us on my instagram account. And i want to tell thanks to each of you!
I'd like to tell more about this project. And that's why i made a video on youtube channel. 
It is in russian, but i have added english subtitles. 
I'm gonna tell you about many intriguing Arduino projects.
So, please, take a look at video. And subscribe to my youtube channel as well. 

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #flower #autowatering
How can we know that flower needs to be watered. L How can we know that flower needs to be watered. Like and Subscribe to know more.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit #flower #autowatering
How to turn light on by clapping. Like and Subscri How to turn light on by clapping. Like and Subscribe to know more.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit
Is it possible to turn light on over the internet? Is it possible to turn light on over the internet? Like and Subscribe to know more.

#arcadepub #diy #doityourself #learn #smarthome #ардуино #аркадныйпаб #сделайсам #умныйдом #arduino #circuit
Загрузи больше…

ArcadePUB @ 2020

arduino@arcadepub.ru

На сайте вы найдете уроки, проекты и обзоры всего, что связано с ардуино.

Аркадные игры и автоматы.

DIY проекты

Метки

  • Bluetooth
  • RGB Светодиоды
  • WIFI
  • Двигатели
  • Звук
  • Игры
  • Интернет вещей
  • Лего
  • Основное
  • Программирование
  • Уроки

Свежие записи

  • Четырехразрядный индикатор. Урок 24. Ардуино
  • 7 сегментный индикатор. Урок 23. Ардуино
  • Клавиатура. Урок 22. Ардуино
  • OLED дисплей. Урок 21. Ардуино
  • Много кнопок на одном пине. Урок 20. Ардуино

Навигация

  • Главная
  • Уроки
  • Датчики
  • Проекты
  • Справочник языка Ардуино
  • Справочник
  • Видео
  • Контакты
  • Поддержать

Дополнительно

Поддержать

Контакты

YouTube
Patreon
VK
Instagram
Twitter