Съдържание:
- Стъпка 1: Използване на Processing.serial
- Стъпка 2: Разберете серийния клас
- Стъпка 3: Сериен клас Arduino
- Стъпка 4: Изградете GUI 7 сегментен контролер
Видео: Свързване на Processing и Arduino и направете 7 сегментен и серво GUI контролер: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
За някои проекти, които сте направили, трябва да използвате Arduino, тъй като предоставя лесна платформа за прототипиране, но показването на графики в серийния монитор на Arduino може да отнеме доста време и дори е трудно да се направи. Можете да показвате графики на серийния монитор на Arduino, но графиките не са единственото нещо, което може да се наложи да покажете. Всички интерактивни обекти като плъзгачи, бутони, програми с 2D, 3D, PDF или SVG изход и можете също лесно да създавате анимации. Режимът за програмиране по подразбиране за обработка е Java, но можете да го превключите на Android, p5.js, REPL, CoffeeScript и JavaScript. В тази инструкция обаче ще използваме режима за програмиране на Java.
Цялото съдържание и код също са достъпни на моя github тук.
Стъпка 1: Използване на Processing.serial
Код за обработка
Първите два реда код ще бъдат
обработка на внос.serial.*; Сериен myPort;
Тук в първия ред импортираме библиотеката - обработка, а във втория ред създаваме обект от клас Serial с име myPort, можете да го кръстите както искате, следвайки правилата за именуване на идентификатор.
При обработката имаме void setup () и void draw (), където void е връщащият тип на функцията, която също можете да промените на int setup () и int draw () или друг тип данни, който харесвате, но ще трябва да върнете a стойност, която има същия тип данни като типа данни, който използвате преди функциите.
в setup () пишем операторите, които трябва да изпълним веднъж, докато в draw () пишем изразите, които трябва да изпълним няколко пъти. Двата реда код, споменати по -горе, трябва да бъдат написани над void setup (), защото те трябва да имат глобален достъп.
В void setup () ще инициализираме обекта myPort.
void setup () {
размер (800, 800);
myPort = нов сериен (това, "COM18", 9600);
}
Размерът на линията (800, 800); определя размера на екрана, който е 800 на 800 пиксела.
Ключовата дума new във втория ред се използва за запазване на място за обекта в паметта, аргументът това е референтна променлива, която се отнася до текущия обект. Аргументът COM18 е свързан към порта на Arduino, имаме нужда от това, тъй като ще транспортираме данните през сериен интерфейс. Числото 18 може да е различно във вашия случай, можете да го намерите в Инструменти> Порт в IDE на Arduino и 9600 е скоростта на предаване, която можете да промените както в Arduino, така и в Processing.
Стъпка 2: Разберете серийния клас
Конструкторът за Serial
Сериен (родителски, portName, baudRate, паритет, dataBits, stopBits)
Аргументи:
родител: обикновено използвайте "това"
baudRate (int): 9600 е по подразбиране
portName (String): име на порта (COM1 е по подразбиране)
parity (char): 'N' за нищо, 'E' за четно, 'O' за нечетно, 'M' за маркировка, 'S' за интервал ('N' е по подразбиране)
dataBits (int): 8 е по подразбиране
stopBits (float): 1.0, 1.5 или 2.0 (1.0 е по подразбиране)
Важни методи:
- myPort.available () - връща броя на наличните байтове.
- myPort.clear () - изпразва буфера и премахва всички данни, съхранявани там.
- myPort.read () - Връща число между 0 и 255 за следващия байт, който чака в буфера.
- myPort.readString () - Връща всички данни от буфера като String или null, ако няма нищо налично.
- myPort.write ("тест") - Записва байтове, символи, ints, байтове , низове към серийния порт.
- myPort.stop () - Прекъсва комуникацията на данните на порта.
Стъпка 3: Сериен клас Arduino
Не е необходимо да импортирате серийния клас в Arduino, преди да го използвате.
В Arduino има 2 функции, наречени setup () и loop (), настройката се изпълнява само веднъж, но цикълът се изпълнява многократно. В Arduino, за разлика от обработката, не е нужно да споменаваме порта като аргументи на метода begin (), тъй като вече посочваме порта, докато качваме скицата в Arduino.
Така че setup () ще изглежда така:
void setup () {
Serial.begin (9600); // стартира серийната комуникация
}
9600 тук определя скоростта на предаване, която също споменахме за това във файла за обработка. За правилна комуникация и скоростта на предаване трябва да бъде равна или може да видите серийния изход като нещо глупост.
Сега нека видим частта loop (). Тази част от кода се изпълнява няколко пъти. Ако искаме да прочетем някои данни от порта, ще използваме метода Serial.read (). Тази функция връща null, ако няма налични данни, така че ще извикаме този метод само когато имаме някои данни в наличния в Serial stream.
За да проверим дали има налични данни, ще използваме метода Serial.available (). Ако връща стойност по -голяма от 0 - налични са някои данни.
Така че частта loop () ще изглежда така:
void loop () {
if (Serial.available ()> 0) {// ако има налични данни за в серийния порт
char state = Serial.read (); // прочетете стойността
// ако изявления или случай на превключване
}
}
Сега можем да използваме ако стълба или ако има много възможни резултати, можем да използваме и случай на превключване за променливо състояние.
Стъпка 4: Изградете GUI 7 сегментен контролер
Файловете са прикачени тук. Забележка: За обработка ще трябва да инсталирате и контролната p5 библиотека, която използвах за създаване на интерактивни бутони с графичен интерфейс.
ПИН номера
7 сегмент (по азбучен ред) се отнасят до изображението
a - цифров щифт 2
b - цифров извод 3
c - цифров извод 4
d - цифров щифт 5
e - цифров пин 6
f - цифров щифт 7
g - цифров щифт 8
dp - цифров щифт 9
Цялото съдържание и код също са достъпни на моя github тук
Препоръчано:
Ръководство за свързване на PLSD: Свързване към телевизори на Apple чрез AirPlay [неофициално]: 10 стъпки
Ръководство за свързване на PLSD: Свързване към Apple TV чрез AirPlay [Неофициално]: Следното ръководство е предоставено, за да илюстрира процеса на свързване към Apple TV към конферентна зала чрез AirPlay. Този неофициален ресурс е предоставен с любезното съдействие на администрацията, персонала и упълномощените гости на местния училищен район Perkins
Arduino базиран DIY контролер за игри - Arduino PS2 контролер за игри - Възпроизвеждане на Tekken с DIY Arduino геймпад: 7 стъпки
Arduino базиран DIY контролер за игри | Arduino PS2 контролер за игри | Игра на Tekken с DIY Arduino геймпад: Здравейте момчета, играта на игри винаги е забавна, но играта със собствения си DIY персонализиран контролер на играта е по -забавна. Така че ще направим контролер за игра, използвайки arduino pro micro в тази инструкция
Свързване на серво мотор с NodeMCU: 6 стъпки (със снимки)
Свързване на серво мотор с NodeMCU: Здравейте всички, Това е първият ми проект с инструкции. Искате ли да започнете с NodeMCU? Тук съм, за да споделя с вас. Днес ще ви покажа как да започнете с NodeMCU. Хайде! NodeMCU има на борда ESP8266-12E прави b
Правилно свързване на светодиоди от серия срещу паралелно свързване: 6 стъпки
Правилно свързване на светодиоди от серия срещу паралелна връзка: В тази инструкция говорим за светодиоди - светодиоди и как можем да ги свържем, ако имаме няколко блока. Това е един урок, който бих искал да знам от самото начало, защото когато започнах да се занимавам с електронни схеми, изградих няколко
Свързване на 7-сегментен дисплей с Shift регистър с помощта на микроконтролер CloudX: 5 стъпки
Свързване на 7-сегментен дисплей с Shift регистър с помощта на CloudX микроконтролер: В този проект ние публикуваме урок за това как да се свържем седем сегментния LED дисплей с CloudX микроконтролер. Седем сегментни дисплея се използват в много вградени системни и промишлени приложения, където диапазонът на изводите, които трябва да бъдат показани, е познат