Welcome to my Website!

This is a paragraph! Here's how you make a link: Neocities.

Here's how you can make bold and italic text.

Here's how you can add an image:

https://wokwi.com/projects/347478624767574611

const byte numSensors = 3;//const means constant variables, byte means small space in memory, numSensors is the variable name. const byte ECHO_PIN[numSensors] = {2, 5, 8}; const byte TRIG_PIN[numSensors] = {3, 4, 7}; void setup() { Serial.begin(115200); pinMode(LED_BUILTIN, OUTPUT); for (byte s=0; s< numSensors; s++) { /*due to for loop, we reduce pinMode instructions from 6 to 2 pinMode(2, INPUT); pinMode(4, OUTPUT); pinMode(5, IMPUT); pinMode(7, OUTPUT); pinMode(8, IMPUT); pinMode(TRIG_PIN[s], OUTPUT); pinMode(ECHO_PIN[s], INPUT); } } float readDistanceCM(byte s) { //This is a function with a parĂ¡meter (s) and return a value that depends on the duration of a pulseIn function and the matematical calculus with the velocity of sound*/ digitalWrite(TRIG_PIN[s], LOW); /*We need to have the trigger pin controlled to a low value in order to measure the duration of the high value that is proporcional to the distance of the sensor*/ delayMicroseconds(2); digitalWrite(TRIG_PIN[s], HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN[s], LOW); int duration = pulseIn(ECHO_PIN[s], HIGH); return duration * 0.034 / 2; //divided by 2 because the ultrasound goes returns back } void loop() { bool isNearby = false; Serial.print("Measured distance: "); for (byte s=0; s< numSensors; s++) { float distance = readDistanceCM(s); isNearby |= distance < 100; Serial.print(distance); Serial.print(" "); } Serial.println(); digitalWrite(LED_BUILTIN, isNearby); delay(100); }

solution with LiquidCrystal Library Here

#include #include #include "LiquidCrystal.h" LiquidCrystal lcd(A0, A1, A2, A3, A4, A5); const int trigPin1 = 9; const int echoPin1 = 10; const int trigPin2 = 5; const int echoPin2 = 6; const int trigPin3 = 7; const int echoPin3 = 8; long duration1; long duration2; long duration3; int distanceCm1, distanceInch1; int distanceCm2, distanceInch2; int distanceCm3, distanceInch3; void setup() { Serial.begin(9600); lcd.begin(16,2); pinMode(trigPin1, OUTPUT); pinMode(echoPin1, INPUT); pinMode(trigPin2, OUTPUT); pinMode(echoPin2, INPUT); pinMode(trigPin3, OUTPUT); pinMode(echoPin3, INPUT); pinMode(12,OUTPUT); pinMode(11,OUTPUT); pinMode(3,OUTPUT); } void loop() { digitalWrite(trigPin1, LOW); delayMicroseconds(2); digitalWrite(trigPin1, HIGH); delayMicroseconds(10); digitalWrite(trigPin1, LOW); duration1 = pulseIn(echoPin1, HIGH); digitalWrite(trigPin2, LOW); delayMicroseconds(2); digitalWrite(trigPin2, HIGH); delayMicroseconds(10); digitalWrite(trigPin2, LOW); duration2 = pulseIn(echoPin2, HIGH); digitalWrite(trigPin3, LOW); delayMicroseconds(2); digitalWrite(trigPin3, HIGH); delayMicroseconds(10); digitalWrite(trigPin3, LOW); duration3 = pulseIn(echoPin3, HIGH); distanceCm1= duration1*0.034/2; distanceInch1 = duration1*0.0133/2; distanceCm2= duration2*0.034/2; distanceInch2 = duration2*0.0133/2; distanceCm3= duration3*0.034/2; distanceInch3 = duration3*0.0133/2; Serial.print("Distance1: "); Serial.println(distanceCm1); lcd.clear(); lcd.setCursor(0,0); lcd.print("Ultrasonic1 "); lcd.setCursor(12,0); lcd.print(distanceCm1); //delay(500); Serial.print("Distance2: "); Serial.println(distanceCm2); lcd.setCursor(0,1); lcd.print("U2 "); lcd.setCursor(3,1); lcd.print(distanceCm2); Serial.print("Distance3: "); Serial.println(distanceCm3); lcd.setCursor(9,1); lcd.print("U3 "); lcd.setCursor(12,1); lcd.print(distanceCm3); if(distanceCm1 < 150) { digitalWrite(3,HIGH); // LED ON } if(distanceCm1 >150) { digitalWrite(3,LOW); // LED OFF } if(distanceCm2 < 150) { digitalWrite(12,HIGH); // LED ON } if(distanceCm2 > 150) { digitalWrite(12,LOW); // LED OFF } if(distanceCm3 < 150) { digitalWrite(11,HIGH); // LED ON } if(distanceCm3 > 150) { digitalWrite(11,LOW); // LED OFF } delay(1000); }