1、超声波传感器Input,Led Output

const int echopin = 3;
const int trigpin = 2;
const int led = 8;
void setup() {
Serial.begin(9600);
pinMode(echopin,INPUT);
pinMode(trigpin,OUTPUT);
pinMode(led,OUTPUT);
}
void loop() {
digitalWrite(trigpin,LOW);
delayMicroseconds(2);
digitalWrite(trigpin,HIGH);
delayMicroseconds(10);
digitalWrite(trigpin,LOW);
int distance = pulseIn(echopin,HIGH);
distance = distance/147*2.45;
Serial.println(distance);//输出超声波测距距离
if(distance<100){
digitalWrite(led,1);//如果距离小于1m,灯亮
}else{
digitalWrite(led,0);//否则灯灭
}
delay(20);
}
————————间隔符———————————-
2、光敏电阻Input,舵机Output

#include<Servo.h>
Servo servo;
void setup(){
Serial.begin(9600);
servo.attach(5);//5号pin口插舵机
}
void loop(){
if(analogRead(0)>700){
servo.write(45);//如果光敏电阻被遮挡,舵机旋转至45度
}
else{
servo.write(180);//否则舵机旋转至180度
}
delay(15);
}
//—————————–分隔符—————————-
3、Arduino与processing串口通讯,光敏电阻5506Input,Processing视觉Output

//Arduino 代码:
void setup(){
Serial.begin(9600);
}
void loop(){
if(analogRead(0)>600){
Serial.write(0);//如果a0口检测的光敏电阻被阻挡,向串口发送0
Serial.flush();
}
else if(analogRead(1)>600){
Serial.write(1);//如果a1口检测的光敏电阻被阻挡,向串口发送1
Serial.flush();
}
else{
Serial.write(9);//如果所有a口的光敏电阻都没被阻挡,向串口发送9
Serial.flush();
}
delay(80);
}
//precessing代码:
import processing.serial.*
Serial myPort;
void setup(){
size(600,600);
frameRate(30);
background(0);
myPort = new Serial(this,”COM3″,9600);//中间的参数为串口通讯接口
}
void draw(){
if(myPort.available()>0){
data = myPort.read();
println(data);
}
if(data==0){ //当串口传入0时……做什么
fill(255,0,0);
ellipse(300,300,20,20);
}
else if(data==1){ //当串口传入1时……做什么
fill(255,255,0);
ellipse(300,300,200,200);
}
}
//——————————间隔符———————————-
4、超声波Input,继电器控制大功率5v/12v/220v非可控彩色rgb灯带Output

const int echopin = 3;
const int trigpin = 2;
const int in = 7;//控制继电器in口
void setup() {
Serial.begin(9600);
pinMode(echopin,INPUT);
pinMode(trigpin,OUTPUT);
pinMode(in,OUTPUT);
}
void loop() {
digitalWrite(trigpin,LOW);
delayMicroseconds(2);
digitalWrite(trigpin,HIGH);
delayMicroseconds(10);
digitalWrite(trigpin,LOW);
int distance = pulseIn(echopin,HIGH);
distance = distance/147*2.45;
Serial.println(distance);//输出超声波测距距离
if(distance<100){
digitalWrite(in,1);//如果距离小于1m,in与com口短接,给led供电
}else{
digitalWrite(in,0);//如果距离大于1m,in与com口断开,led不亮
}
}
//——————————间隔符———————————-
5、光敏电阻5506Input,LED发光二极管Output

void setup() {
pinMode(12,OUTPUT);
}
void loop() {
if(analogRead(0)>700){ //如果遮挡了光敏电阻,12号口灯亮
digitalWrite(12,1);
}
if(analogRead(0)<700){ //如果光敏电阻无遮挡,12号口灯灭
digitalWrite(12,0);
}
}
//——————————间隔符———————————-
6、超声波Input,ws2812 LEDRGB发光光二极管Output

//项目-加载库-管理库里搜索Adafruit_NeoPixel库并添加
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif
// 控制 WS2812 灯条的引脚编号
#define PIN 6
//定义控制的 LED 数量
#define NUMPIXELS 5
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
//相邻 LED 之间的延迟,单位毫秒
#define DELAYVAL 50
const int echopin = 3;
const int trigpin = 2;
void setup() {
Serial.begin(9600);
pinMode(echopin,INPUT);
pinMode(trigpin,OUTPUT);
#if defined(__AVR_ATtiny85__) && (F_CPU == 16000000)
clock_prescale_set(clock_div_1);
#endif
pixels.begin();
}
void loop() {
pixels.clear(); //设置所有灯灭
digitalWrite(trigpin,LOW);
delayMicroseconds(2);
digitalWrite(trigpin,HIGH);
delayMicroseconds(10);
digitalWrite(trigpin,LOW);
int distance = pulseIn(echopin,HIGH);
distance = distance/147*2.45;
Serial.println(distance);//输出超声波测距距离
if(distance<100){
for(int i=0; i<NUMPIXELS; i++) {
pixels.setPixelColor(i, pixels.Color(150, 150, 0));//控制流水灯颜色
pixels.show();
delay(DELAYVAL);
}
}else{
pixels.clear();
}
delay(20);
}