arduino 与java通信_PC-PC-单片机(Arduino)通信实例

本文介绍了如何实现PC到PC再到单片机的通信,重点在于Arduino与Java的交互。首先,展示了Arduino Uno通过COM9与服务器端的Java程序进行串口通信的代码,实现特定指令控制LED灯的功能。接着,详细讲解了服务器端的Java代码(EchoServer),它监听8000端口,接收客户端(EchoClient)的请求,并通过SerialBean类与单片机进行串口通信。客户端代码则通过网络发送指令到服务器,从而间接控制Arduino。通过这种方式,实现了远程控制单片机的功能。
摘要由CSDN通过智能技术生成

请仔细理解相关参数,如端口设置、IP设置、COM口设置......等等.....不要盲目COPY.....这涉及2台电脑和一个单片机,其中一台电脑作为服务器并与单片机相连,负责通过网络与客户端通信(socket)和通过数据线与单片机通过COM口通信(我实验时用的是COM9,其他电脑可能不同需要调整:具体在设备管理器中查看)。

1、Arduino板待烧入代码:(这里硬件的代码没啥好说的,只要你会写个简单Arduino代码并且自己烧过就知道该怎么做啦)

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

//

//Arduino 1.0.x-----Arduino Uno----COM9//使用3-10号引脚连接8个LED

//

int incomingByte = 0; //输入的数据存储变量

int count=1;voidsetup() {

Serial.begin(9600);//opens serial port, sets data rate to 9600 bps

for(int i=3;i<=10;i++)//打开3-10号引脚

pinMode(i,OUTPUT);

}voidloop() {while(count){

Serial.println("please input 0 1 2 3 4 5 6 7 8 9 a");

count=0;

}//第一次操作说明,count为了第一次限制

if (Serial.available() > 0){

incomingByte= Serial.read();//读取

Serial.println(incomingByte, DEC);//写入

}//从COM口读取数据

switch (incomingByte)//数据处理并对引脚进行调控

{case 48://输入0时将3-10号引脚设为高电位,使所有的灯灭

for(int i=3;i<=10;i++){

digitalWrite(i,HIGH);

}break;case 49://输入1从3-10号引脚电位依次设低电位维持0.5s,然后设为高电位,实现流水灯效果

for(int i=3;i<=10;i++){

digitalWrite(i,LOW);

delay(500);

digitalWrite(i,HIGH);

}break;case 50://输入2流水灯,和输入1时方向相反

for(int i=10;i>=3;i--){

digitalWrite(i,LOW);

delay(500);

digitalWrite(i,HIGH);

}break;case 51: digitalWrite(3,LOW);break;//输入3,将3号电位调低,只让3号引脚的灯亮

case 52: digitalWrite(4,LOW);break; //.....

case 53: digitalWrite(5,LOW);break; //.....

case 54: digitalWrite(6,LOW);break; //.....

case 55: digitalWrite(7,LOW);break; //.....

case 56: digitalWrite(8,LOW);break; //.....

case 57: digitalWrite(9,LOW);break; //.....

case 97: digitalWrite(10,LOW);break;//.....

default:for(int i=3;i<=10;i++){

digitalWrite(i,HIGH);

}break;//将所电位调高关闭所有灯

}

}

View Code

2、服务器和客户端代码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值