超声波传感器来控制视频走向 (arduino 与processing 交互示例)

用 超声波传感器来控制视频走向

我们假设的场景就是,用超声波 测量与某个物体的距离,当拿起某个物体的时候,距离产生了变化,根据这个信号发给processing程序,来控制视频的跳转。

用到的是arduino uno 的开发板

  • 将开发板与超声波传感器进行连接

    超声波传感器主要为4个口分别连接开发板接口

    • GND(地线) ——GND
    • Vcc(电源线) ——5V
    • Tri(控制器) ——2引脚
    • Echo(接收端) ——3引脚
  • 用到的是arduino uno 的开发板,将电脑与开发板连接

  • 开发arduino的程序 用来监测超声波测到的距离

  • 主要开发其实就是超声波测试距离的程序


int triPin=2;
int echoPin=3;

void setup(){
    Serial.begin(9600);
   pintMode(echoPin,INPUT);
   printMode(triPin,OUTPUT);
	

}

void loop() { 
	digitalWrite(TrigPin, LOW); //低高低电平发一个短时间脉冲去TrigPin 
	delayMicroseconds(2);       // delayMicroseconds在更小的时间内延时准确
	digitalWrite(TrigPin, HIGH); 
	delayMicroseconds(10); 
	digitalWrite(TrigPin, LOW); //通过这里控制超声波的发射	
	cm = pulseIn(EchoPin, HIGH) / 58.0; //将回波时间换算成cm 
	cm = (int(cm * 100.0)) / 100.0; //保留两位小数 
	//当拿起某个物体,距离产生了变化  就发送不一样的数据 
	//这里假设这个物体距离超声波  20cm  
	if(cm>20){
	  Serial.print("1");
	}
	else
	{
	 Serial.pint("0");	
	}				
	delay(1000); 
}

下面再来开发 processing 的程序 主要用来控制视频的走向 :

import processing.serial.*;
Serial serial;
Movie mov;
int jumpTime=60void setup(){
    fullScreen();//全屏
    port=new Serial(this,"COM1",9600);  //这个可以看下程序中的开发板的端口信息
    mov=new Movie(this,"2.mov");
    mov.loop();//视频循环播放	
}

 void movieEvent(Movie mov) {
    mov.read();
  }

void draw(){

      String inString=serial.readString().trim();
  if(inString!=null){
    if("1".equals(inString)){
     mov.jump(jumpTime);   //当监听到传来了的数据是1  就证明  物体已经被拿起了
}
}
	
	

}



这样就有了 当拿起某个物体的时候,视频就会主动的去跳转到我们预设的视频位置,当我们需要多个传感器的时候,需要面包板来做连接,通过引脚的不同来传递不同的值,

将多个值一起拼成字符串进行发送数据,再用processing 接受数据进行解析数据跟判断,具体视频跳转业务逻辑根据自己的业务需求来判断与处理。

你可能感兴趣的:(物联网)