Пришёл первый датчик - ультразвуковой HC-SRO4. Решил продолжить свои эксперименты. Попробовал собрать макетку для переключения трёхцветного светодиода в зависимости от расстояния ладони до датчика. По такому скетчу и схеме... Получается можно сделать своеобразную "клавиатуру", управляемую плоскостью ладони. Не нашёл подобные поделки в интернете... интересно почему? Ведь ширина такой "клавиши" может быть всего 5 см.
Код:
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Arduino UNO
//
////////////////////////
//
//программа для ультразвукового датчика - включатель светодиода RGB //
const int echoPin=9;
const int trigPin=8;
unsigned int x,x1;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(echoPin, INPUT);
digitalWrite(trigPin, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
}
void loop() {
digitalWrite(trigPin, HIGH);
delayMicroseconds(15);
digitalWrite(trigPin, LOW);
x = pulseIn(echoPin, HIGH);
x1 = x / 58;
if(x1<=55&x1>=35){digitalWrite(10, LOW);digitalWrite(11, LOW);digitalWrite(12, LOW);}//условие выключения светодиода
if(x1<=15&x1>=5){digitalWrite(10,HIGH);digitalWrite(11, LOW);digitalWrite(12, LOW);}//условие включения красного кристалла
if(x1<=25&x1>=15){digitalWrite(11,HIGH);digitalWrite(10, LOW);digitalWrite(12, LOW);}//условие включения зелёного кристалла
if(x1<=35&x1>=25){digitalWrite(12,HIGH);digitalWrite(10, LOW);digitalWrite(11, LOW);}//условие включения синего кристалла
delay(100);// временная задержка
}
//
// Конец /
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////