我有一個Arduino以太網裏面我是用對模擬器讀取POT價值觀,我想,然後用模擬器軟件上發送這些值到計算機,以便他們可以輸入到來自Arduino的以太網發送POT值遊戲。通過UDP
我通過UDP這樣做是誰寫的程序,它與遊戲整合傢伙說,這會更容易這樣,並從該控件記錄數據(用於研究目的)也將是更容易。不管這是否屬實,我無法改變這一點。
我目前正在寫一些代碼發送由POT一些處理代碼,然後將此值顯示讀取值。在我嘗試將這些代碼與遊戲等進行整合之前,這只是一箇中間步驟。在這方面,我是一個初學者,關於編程方面,我剛剛在這裏深入研究。雖然我可以編程,但這只是真的用matlab來製作數學程序。
我試圖修改的例子給出了一些代碼,並結束了與以下,但它不工作:
Aruino代碼:
的#include //需要Arduino的版本高於0018 #包括 的#include // UDP庫從:[email protected] 2008年12月30日
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {
0x90, 0xA2, 0xDA, 0x0F, 0xC6, 0x1F
};
IPAddress ip(192, 168, 0, 177);
unsigned int localPort = 8888; // local port to listen on
// buffers for receiving and sending data
char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; //buffer to hold incoming packet,
char ReplyBuffer[] = "acknowledged"; // a string to send back
// An EthernetUDP instance to let us send and receive packets over UDP
EthernetUDP Udp;
int potPin = 2; // select the input pin for the potentiometer
int val = 0; // variable to store the value coming from the sensor
int mapped = 0;
void setup() {
// start the Ethernet and UDP:
Ethernet.begin(mac,ip);
Udp.begin(localPort);
}
void loop() {
val = analogRead(potPin); // read the value from the sensor
mapped = map(val, 0, 1023, 0, 5000);
Serial.print(analogRead(potPin));
Serial.print(mapped);
delay (400);
Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());
Udp.write(mapped);
Udp.endPacket();
}
處理代碼:
import hypermedia.net.*;
UDP udp; // define the UDP object
String value = "0";
void setup() {
size(480,640);
background(0);
smooth();
udp = new UDP(this, 3000); // create a new datagram connection on port 6000
udp.log(true); // <-- printout the connection activity
udp.listen(true); // and wait for incoming message
}
void receive(byte[] data) { // <-- default handler
//void receive(byte[] data, String ip, int port) { // <-- extended handler
value=new String(data);
println(value);
}
void draw()
{
fill(50);
if (value != "0") {
text(value, 10, 10, 70, 80);
}
}
注:有可能是一些uneccesary線在那裏,我都未能從中我修改了代碼刪除。此外,模擬讀取的映射值就像我不確定遊戲將要接收的值的範圍。
感謝您的幫助!
你的問題是什麼? –
好吧,什麼都沒有發生,當我運行處理代碼時,我沒有收到arduino的任何東西。所以有些地方出了問題,問題是我應該想像它有很多錯誤。 –