Vertrekkend vanuit het Small Business Project ‘Hyre’ probeerde ik me een oplossing te vinden voor de probleemstelling: ‘Hoe zal je een veilige communicatie met klanten realiseren ondanks Covid-19?’ Na lang zoeken naar verschillende mogelijkheden om een Arduino-kit om te zetten in een toestel die de veiligheid van de klant en het Hyre team verzekerd, ben ik aan de slag gegaan.

Via verschillende Youtube video’s heb ik een toestel in elkaar gestoken dat de afstand meet via geluidsgolven en op basis van LED-lichtjes aantoont of deze afstand Corona-proof is.

De bedoeling is dus om tijdens een gesprek met een mogelijke klant dit toestel tussen ons en de klant te plaatsen en zo te zorgen voor een veilige afstand tijdens de communicatie. Hiernaast wordt de data opgeslagen op mijn laptop, waardoor er nadien kan nagegaan worden of de veilige afstand behouden is doorheen het gesprek.

Ik heb online verschillende codes bekeken en deze aangepast naar mijn wensen. De code staat op het einde van dit bericht uitgeschreven.

De code zorgt ervoor dat bepaalde LED’s stoppen met branden van zodra de afstand die gemeten wordt kleiner is dan een bepaalde waarde. Hierdoor is het heel duidelijk vanaf wanneer we ver genoeg van elkaar zijn. Indien de rode lampjes branden duidt dit op een te kleine afstand. Indien de gele lampjes branden duidt dit op een goede afstand volgens de Corona regels, maar men moet opletten om niet dichterbij te komen. Indien de groene lampjes branden duidt dit op een veilige afstand.

Om de data bij te houden heb ik Coolterm gebruikt. Dit is een seriƫle poort applicatie waar de data die opgenomen wordt door het toestel opgeslagen wordt.

Ik ben tevreden met het resultaat. Ik ga nog kleine aanpassingen toevoegen zoals een manier om de tijd te meten, waardoor we met de data kunnen zien wanneer er precies een te korte afstand zou geweest zijn.

Code:

const int trig = 12;
const int echo = 13;

const int LED1 = 8;
const int LED2 = 7;
const int LED3 = 6;
const int LED4 = 5;
const int LED5 = 4;
const int LED6 = 3;
const int LED7 = 2;

int duration = 0;
int distance = 0;

void setup()
{
pinMode(trig , OUTPUT);
pinMode(echo , INPUT);

pinMode(LED1 , OUTPUT);
pinMode(LED2 , OUTPUT);
pinMode(LED3 , OUTPUT);
pinMode(LED4 , OUTPUT);
pinMode(LED5 , OUTPUT);
pinMode(LED6 , OUTPUT);
pinMode(LED7 , OUTPUT);

Serial.begin(9600);

}

void loop()
{
digitalWrite(trig , HIGH);
delayMicroseconds(1000);
digitalWrite(trig , LOW);

duration = pulseIn(echo , HIGH);
distance = (duration/2) / 28.5 ;
Serial.println(distance);

if ( distance >= 20 )
{
digitalWrite(LED1, LOW);
}
else
{
digitalWrite(LED1, HIGH);
}
if ( distance >= 50 )
{
digitalWrite(LED2, LOW);
}
else
{
digitalWrite(LED2, HIGH);
}
if ( distance >= 80 )
{
digitalWrite(LED3, LOW);
}
else
{
digitalWrite(LED3, HIGH);
}
if ( distance >= 110 )
{
digitalWrite(LED4, LOW);
}
else
{
digitalWrite(LED4, HIGH);
}
if ( distance >= 130 )
{
digitalWrite(LED5, LOW);
}
else
{
digitalWrite(LED5, HIGH);
}
if ( distance >= 150 )
{
digitalWrite(LED6, LOW);
}
else
{
digitalWrite(LED6, HIGH);
}
if ( distance >= 170 )
{
digitalWrite(LED7, LOW);
}
else
{
digitalWrite(LED7, HIGH);
}
}