Talaan ng mga Nilalaman:

Pagkonekta sa Pagproseso at Arduino at Gumawa ng 7 Segment at Servo GUI Controller: 4 na Hakbang
Pagkonekta sa Pagproseso at Arduino at Gumawa ng 7 Segment at Servo GUI Controller: 4 na Hakbang

Video: Pagkonekta sa Pagproseso at Arduino at Gumawa ng 7 Segment at Servo GUI Controller: 4 na Hakbang

Video: Pagkonekta sa Pagproseso at Arduino at Gumawa ng 7 Segment at Servo GUI Controller: 4 na Hakbang
Video: Learn Arduino in 30 Minutes: Examples and projects 2024, Nobyembre
Anonim
Pagkonekta sa Pagproseso at Arduino at Gumawa ng 7 Segment at Servo GUI Controller
Pagkonekta sa Pagproseso at Arduino at Gumawa ng 7 Segment at Servo GUI Controller

Para sa ilang mga proyekto na iyong ginawa kailangan mong gamitin ang Arduino dahil nagbibigay ito ng isang madaling prototyping platform ngunit ang pagpapakita ng mga graphic sa serial monitor ng Arduino ay maaaring magtagal at mahirap gawin. Maaari kang magpakita ng mga grapiko sa Arduino Serial Monitor ngunit ang mga grap ay hindi lamang ang bagay na maaaring kailangan mong ipakita. Lahat ng mga interactive na bagay tulad ng mga slider, button, program na may 2D, 3D, PDF, o SVG output at maaari mo ring madaling makalikha ng mga animasyon. Ang default mode ng pagproseso para sa pagproseso ay Java ngunit maaari mo itong ilipat sa Android, p5.js, REPL, CoffeeScript at JavaScript. Sa Instructable na ito gayunpaman ay gagamitin namin ang Java mode mode.

Ang lahat ng nilalaman at code ay magagamit din sa aking github dito.

Hakbang 1: Paggamit ng Pagproseso.serial

Code ng Pagproseso

Ang unang dalawang linya ng code ay magiging

pagproseso ng pag-import.serial. *; Serial myPort;

Dito sa unang linya ay ina-import namin ang library - pagproseso at sa pangalawang linya ay lumilikha kami ng isang object ng klase na Serial na pinangalanang myPort, maaari mo itong pangalanan kahit anong gusto mo sundin ang mga patakaran ng pagbibigay ng pangalan ng isang identifier.

Sa pagproseso mayroon kaming void setup () at void draw () kung saan ang void ay ang uri ng pagbabalik ng pagpapaandar maaari mo rin itong palitan sa int setup () at int draw () o iba pang uri ng data na gusto mo ngunit kakailanganin mong ibalik ang isang halaga na may parehong uri ng data sa uri ng data na iyong ginagamit bago ang mga pagpapaandar.

sa pag-setup () isusulat namin ang mga pahayag na kailangan namin upang maipatupad nang isang beses samantalang sa gumuhit () isinusulat namin ang mga pahayag na kailangan namin upang maipatupad ang maraming bilang ng mga beses. Ang dalawang linya ng code na nabanggit sa itaas ay dapat na nakasulat sa itaas ng walang bisa na pag-setup () dahil kailangan nilang magkaroon ng pandaigdigang pag-access.

Sa void setup () isasimulan namin ang object myPort.

walang bisa ang pag-setup () {

laki (800, 800);

myPort = bagong Serial (ito, "COM18", 9600);

}

Ang laki ng linya (800, 800); tumutukoy sa laki ng screen na 800 pixel ng 800 pixel.

Ang pangunahing salitang bagong sa pangalawang linya ay ginagamit upang magreserba ng puwang para sa bagay na nasa memorya, ang argument na ito ay isang variable ng sanggunian na tumutukoy sa kasalukuyang object. Ang argumentong COM18 ay ang port ng Arduino na konektado, kailangan namin ito dahil dadalhin namin ang data sa pamamagitan ng serial interface. Ang bilang 18 ay maaaring magkakaiba sa iyong kaso, mahahanap mo ito sa ilalim ng Mga Tool> Port sa Arduino IDE at 9600 ang baud rate na maaari mong baguhin ito sa parehong Arduino at Pagproseso.

Hakbang 2: Maunawaan ang Serial Class

Ang tagapagbuo para sa Serial

Serial (magulang, portName, baudRate, pagkakapareho, dataBits, stopBits)

Mga Pangangatwiran:

magulang: karaniwang ginagamit ang "ito"

baudRate (int): 9600 ang default

portName (String): pangalan ng port (COM1 ang default)

pagkakapareho (char): 'N' para sa wala, 'E' para sa pantay, 'O' para sa kakaiba, 'M' para sa marka, 'S' para sa puwang ('N' ang default)

dataBits (int): 8 ang default

stopBits (float): 1.0, 1.5, o 2.0 (1.0 ang default)

Mahahalagang Paraan:

  1. myPort.available () - ibabalik ang bilang ng mga byte na magagamit.
  2. myPort.clear () - tinatanggal ang buffer at inaalis ang lahat ng data na nakaimbak doon.
  3. myPort.read () - Nagbabalik ng isang numero sa pagitan ng 0 at 255 para sa susunod na byte na naghihintay sa buffer.
  4. myPort.readString () - Ibinabalik ang lahat ng data mula sa buffer bilang isang String o null kung walang magagamit.
  5. myPort.write ("test") - Nagsusulat ng mga byte, chars, ints, bytes , Mga string sa serial port.
  6. myPort.stop () - Stps ang data comminication sa port.

Hakbang 3: Arduino Serial Class

Hindi mo kailangang i-import ang Serial Class sa Arduino bago ito gamitin.

Sa Arduino mayroong 2 mga pag-andar na tinatawag na setup () at loop () ang pag-setup ay tumatakbo nang isang beses lamang ngunit ang loop ay nagpapatakbo ng maraming beses. Sa pag-setup () kailangan naming magsulat gamitin ang simulang () paraan upang simulan ang serial komunikasyon. Sa Arduino hindi katulad ng pagproseso hindi namin kailangang banggitin ang port bilang mga argumento ng pagsisimula () na pamamaraan dahil tinukoy na namin ang port habang ina-upload ang sketch sa Arduino.

Kaya't ganito ang magiging hitsura ng pag-setup ():

walang bisa ang pag-setup () {

Serial.begin (9600); // simulan ang serial komunikasyon

}

Tinutukoy ng 9600 dito ang rate ng baud na nabanggit din namin ito sa pagproseso ng file. Para sa wastong pakikipag-usap kapwa ang mga rate ng baud ay dapat na pantay o maaari mong makita ang serial output bilang isang bagay na walang kabuluhan.

Hinahayaan ngayon makita ang bahagi ng loop (). Ang bahaging ito ng code ay tumatakbo ng maraming beses. Kung nais naming basahin ang ilang data sa pamamagitan ng port gagamitin namin ang Serial.read () na pamamaraan. Ang pagpapaandar na ito ay babalik kung walang magagamit na data kaya tatawagin lamang namin ang pamamaraang ito kapag mayroon kaming ilang data sa magagamit sa Serial stream.

Upang suriin kung mayroong magagamit na data gagamitin namin ang Serial.available () na pamamaraan. Kung ibabalik nito ang halagang mas malaki sa 0 - magagamit ang ilang data.

Kaya't ganito ang magiging hitsura ng loop () na bahagi:

void loop () {

kung (Serial.available ()> 0) {// kung ang ilang data ay magagamit sa serial port

char state = Serial.read (); // basahin ang halaga

// kung pahayag o switch case

}

}

Ngayon ay maaari naming gamitin kung ang hagdan o kung maraming mga posibleng kinalabasan maaari naming gamitin ang switch case din para sa variable na estado.

Hakbang 4: Bumuo ng isang GUI 7 Segment Controller

Bumuo ng isang GUI 7 Segment Controller
Bumuo ng isang GUI 7 Segment Controller
Bumuo ng isang GUI 7 Segment Controller
Bumuo ng isang GUI 7 Segment Controller
Bumuo ng isang GUI 7 Segment Controller
Bumuo ng isang GUI 7 Segment Controller

Nakalakip ang mga file dito. Tandaan: Para sa pagproseso kakailanganin mo ring i-install ang control p5 library na ginamit ko upang lumikha ng mga pindutan ng interactive na GUI.

Mga numero ng pin

7 segment (sa alpabetikong pagkakasunud-sunod) sumangguni sa imahe

a - digital pin 2

b - digital pin 3

c - digital pin 4

d - digital pin 5

e - digital pin 6

f - digital pin 7

g - digital pin 8

dp - digital pin 9

Ang lahat ng nilalaman at code ay magagamit din sa aking github dito

Inirerekumendang: