Küldje el az adatokat a számítógépre, és ábrázolja azokat a Processing-el.
Utolsó felülvizsgálat: 2022.02.04 16:50
Ez a példa bemutatja, hogyan küldhet egy bájtnyi adatot az Arduino-ból egy személyi számítógépre, és hogyan ábrázolhatja az eredményt. Ezt soros kommunikációnak nevezik, mivel a kapcsolat mind az alaplap, mind a számítógép számára soros portként jelenik meg, még akkor is, ha valójában USB-kábelt, soros-USB-t és USB-soros átalakítót használ.
Használhatja az Arduino Software (IDE) soros monitorát az elküldött adatok megtekintéséhez, vagy leolvastatható a Processing (lásd a kódot lent), a Flash, PD, Max/MSP stb. segítségével.
Hardver szükséglet
Arduino kártya
Analóg érzékelő (potenciométer, fotocella, FSR stb.)
Szoftver szükséglet
Az áramkör
Csatlakoztasson egy potenciométert vagy más analóg érzékelőt a 0 analóg bemenethez.

Vázlat

A kód
/*
Graph
Egy egyszerű példa az Arduino kártya és a számítógép közötti kommunikációra:
A 0 analóg bemenet értéke a soros porton kerül kiküldésre. Ezt "soros"
kommunikációnak nevezzük, mert a kapcsolat mind az Arduino, mind a számítógép
számára soros portként jelenik meg, még akkor is, ha valójában USB-kábelt
használ. A bájtok egymás után (sorosan) kerülnek elküldésre az Arduino-ból a számítógépre.
Használhatja az Arduino Serial Monitort az elküldött adatok megtekintéséhez, vagy
kiolvashatja azokat Processing, PD, Max/MSP, vagy bármilyen más, soros portról
adatokat olvasni képes programmal. Az alábbi feldolgozási kód grafikonon ábrázolja
a fogadott adatokat, így láthatja, hogy az analóg bemenet értéke idővel hogyan változik.
Az áramkör:
- bármely analóg bemeneti érzékelő, amely az 0. analóghoz kivezetéshez van csatlakoztatva
created 2006
by David A. Mellis
modified 9 Apr 2012
by Tom Igoe and Scott Fitzgerald
Ez a kód nyilvános.
https://docs.arduino.cc/built-in-examples/communication/Graph
*/
void setup() {
// inicializálja a soros kommunikációt:
Serial.begin(9600);
}
void loop() {
// küldje el a 0 analóg bemenet értékét:
Serial.println(analogRead(A0));
// Várjon egy kicsit, amíg az analóg-digitális átalakító
// stabilizálódik az utolsó leolvasás után:
delay(2);
}
/* Processing kód a példához
// Graphing sketch
// Ez a program ASCII-kódolású karakterláncokat vesz át a soros portról
// 9600 baud sebességgel, és ábrázolja azokat. 0 és 1023 közötti értékeket
// vár, majd újsort vagy újsort és kocsivisszát
// created 20 Apr 2005
// updated 24 Nov 2015
// by Tom Igoe
// Ez a kód nyilvános.
import processing.serial.*;
Serial myPort; // A soros port
int xPos = 1; // a grafika vízszintes helyzete
float inByte = 0;
void setup () {
// állítsa be az ablak méretét:
size(400, 300);
// Listázza az összes elérhető soros portot
// ha a Processing 2.1 vagy újabb verzióját használja, használja a Serial.printArray()
println(Serial.list());
// Tudom, hogy a Mac gépemen a soros lista első portja mindig az Arduino,
// ezért a Serial.list()[0]-el nyitom meg.
// Nyissa meg azt a portot, amelyet éppen használ.
myPort = new Serial(this, Serial.list()[0], 9600);
// ne generáljon serialEvent()-et, hacsak nem kap egy újsor karaktert:
myPort.bufferUntil('\n');
// állítsa be a kezdeti hátteret:
background(0);
}
void draw () {
// vonal rajzolása:
stroke(127, 34, 255);
line(xPos, height, xPos, height - inByte);
// a képernyő szélén lépjen vissza az elejére:
if (xPos >= width) {
xPos = 0;
background(0);
} else {
// a vízszintes helyzet növelése:
xPos++;
}
}
void serialEvent (Serial myPort) {
// glekérni az ASCII karakterláncot:
String inString = myPort.readStringUntil('\n');
if (inString != null) {
// vágjon le minden szóközt:
inString = trim(inString);
// konvertáljon int-re és képezze le a képernyő magasságát:
inByte = float(inString);
println(inByte);
inByte = map(inByte, 0, 1023, 0, height);
}
}
*/
/* Max/MSP v5 patch a példához
----------begin_max5_patcher----------
1591.3oc0YszbaaCD9r7uBL5RalQUAO3CvdyS5zVenWZxs5NcfHgjPCIfJIT
RTxj+6AOHkoTDooroUs0AQPR73a+1cwtK3WtZxzEpOwqlB9YveAlL4KWMYh6
Q1GLo99ISKXeJMmU451zTUQAWpmNy+NM+SZ2y+sR1l02JuU9t0hJvFlNcMPy
dOuBv.U5Rgb0LPpRpYBooM3529latArTUVvzZdFPtsXAuDrrTU.f.sBffXxL
vGE50lIHkUVJXq3fRtdaoDvjYfbgjujaFJSCzq4.tLaN.bi1tJefWpqbO0uz
1IjIABoluxrJ1guxh2JfPO2B5zRNyBCLDFcqbwNvuv9fHCb8bvevyyEU2JKT
YhkBSWPAfq2TZ6YhqmuMUo0feUn+rYpY4YtY+cFw3lUJdCMYAapZqzwUHX8S
crjAd+SIOU6UBAwIygy.Q1+HAA1KH6EveWOFQlitUK92ehfal9kFhUxJ3tWc
sgpxadigWExbt1o7Ps5dk3yttivyg20W0VcSmg1G90qtx92rAZbH4ez.ruy1
nhmaDPidE07J+5n2sg6E6oKXxUSmc20o6E3SPRDbrkXnPGUYE.i5nCNB9TxQ
jG.G0kCTZtH88f07Rt0ZMMWUw8VvbKVAaTk6GyoraPdZff7rQTejBN54lgyv
HE0Ft7AvIvvgvIwO23jBdUkYOuSvIFSiNcjFhiSsUBwsUCh1AgfNSBAeNDBZ
DIDqY.f8.YjfjV1HAn9XDTxyNFYatVTkKx3kcK9GraZpI5jv7GOx+Z37Xh82
LSKHIDmDXaESoXRngIZQDKVkpxUkMCyXCQhcCK1z.G457gi3TzMz4RFD515F
G3bIQQwcP3SOF0zlkGhiCBQ1kOHHFFlXaEBQIQnCwv9QF1LxPZ.A4jR5cyQs
vbvHMJsLll01We+rE2LazX6zYmCraRrsPFwKg1ANBZFY.IAihr8Ox.aH0oAL
hB8nQVw0FSJiZeunOykbT6t3r.NP8.iL+bnwNiXuVMNJH9H9YCm89CFXPBER
bz422p8.O4dg6kRxdyjDqRwMIHTbT3QFLskxJ8tbmQK4tm0XGeZWF7wKKtYY
aTAF.XPNFaaQBinQMJ4QLF0aNHF0JtYuHSxoUZfZY6.UU2ejJTb8lQw8Fo5k
Rv6e2PI+fOM71o2ecY1VgTYdCSxxUqLokuYq9jYJi6lxPgD2NIPePLB0mwbG
YA9Rgxdiu1k5xiLlSU6JVnx6wzg3sYHwTesB8Z5D7RiGZpXyvDNJY.DQX3.H
hvmcUN4bP1yCkhpTle2P37jtBsKrLWcMScEmltOPv22ZfAqQAdKr9HzATQwZ
q18PrUGt6Tst2XMCRUfGuhXs6ccn23YloomMqcTiC5iMGPsHsHRWhWFlaenV
XcqwgCQiGGJzptyS2ZMODBz6fGza0bzmXBj7+DA94bvpR01MffAlueO7HwcI
pWCwmzJdvi9ILgflLAFmyXB6O7ML0YbD26lenmcGxjVsZUN+A6pUK7AtTrPg
M+eRYG0qD9j4I7eEbco8Xh6WcO.or9XDC6UCiewbXHkh6xm5LiPEkzpJDRTu
mEB44Fgz4NCtJvX.SM1vo2SlTCZGAe7GZu6ahdRyzFOhYZ+mbVVSYptBw.K1
tboIkatIA7c1cTKD1u.honLYV04VkluHsXe0szv9pQCE9Ro3jaVB1o15pz2X
zYoBvO5KXCAe0LCYJybE8ZODf4fV8t9qW0zYxq.YJfTosj1bv0xc.SaC0+AV
9V9L.KKyV3SyTcRtmzi6rO.O16USvts4B5xe9EymDvebK0eMfW6+NIsNlE2m
eqRyJ0utRq13+RjmqYKN1e.4d61jjdsauXe3.2p6jgi9hsNIv97CoyJ01xzl
c3ZhUCtSHx3UZgjoEJYqNY+hYs5zZQVFW19L3JDYaTlMLqAAt1G2yXlnFg9a
53L1FJVcv.cOX0dh7mCVGCLce7GFcQwDdH5Ta3nyAS0pQbHxegr+tGIZORgM
RnMj5vGl1Fs16drnk7Tf1XOLgv1n0d2iEsCxR.eQsNOZ4FGF7whofgfI3kES
1kCeOX5L2rifbdu0A9ae2X.V33B1Z+.Bj1FrP5iFrCYCG5EUWSG.hhunHJd.
HJ5hhnng3h9HPj4lud02.1bxGw.
-----------end_max5_patcher-----------
*/
A Processing vázlat
A fenti kódban található feldolgozási vázlat segítségével megkapja az érzékelő értékének grafikonját. Ahogy módosítja az analóg érzékelő értékét, egy ehhez hasonló grafikont kap:

A Max kód
A max patch így néz ki. A patch szövege a fenti kódban található. Másolja ki és illessze be egy "New patcher" ablakba a vázlat megtekintéséhez.

Tudj meg többet
További alapvető oktatóanyagokat a beépített példák részben talál.
Felfedezheti a nyelvi referenciát is, az Arduino programozási nyelv részletes gyűjteményét.