/********* Pleasedontcode.com **********
Pleasedontcode thanks you for automatic code generation! Enjoy your code!
- Terms and Conditions:
You have a non-exclusive, revocable, worldwide, royalty-free license
for personal and commercial use. Attribution is optional; modifications
are allowed, but you're responsible for code maintenance. We're not
liable for any loss or damage. For full terms,
please visit pleasedontcode.com/termsandconditions.
- Project: "Arduino Distance Control"
- Source Code compiled for: Arduino Uno
- Source Code created on: 2024-01-04 21:45:44
********* Pleasedontcode.com **********/
/****** SYSTEM REQUIREMENTS *****/
/****** SYSTEM REQUIREMENT 1 *****/
/* Uses "Ultrasonic distance sensor" in pin 3 and */
/* "NeoPixel RGB Ring 24" in pin 2. It is required */
/* that as the object approaches the sensor, starting */
/* from 300cm to 40cm clockwise, the light diodes */
/* light up and as the object moves away from the */
/* sensor fro */
/****** END SYSTEM REQUIREMENTS *****/
/****** DEFINITION OF LIBRARIES *****/
#include
#include
#include
/****** FUNCTION PROTOTYPES *****/
void setup(void);
void loop(void);
/***** DEFINITION OF DIGITAL INPUT PINS *****/
const uint8_t disSen_HC_SR04_Echo_PIN_D3 = 3; // Replace "-" with "_"
/***** DEFINITION OF DIGITAL OUTPUT PINS *****/
const uint8_t disSen_HC_SR04_Trigger_PIN_D2 = 2; // Replace "-" with "_"
/****** DEFINITION OF LIBRARIES CLASS INSTANCES*****/
Ultrasonic ultrasonic(disSen_HC_SR04_Trigger_PIN_D2, disSen_HC_SR04_Echo_PIN_D3); // Create Ultrasonic object
Adafruit_NeoPixel neopixel(24, 2, NEO_GRB + NEO_KHZ800); // Create NeoPixel object
void setup(void)
{
// put your setup code here, to run once:
pinMode(disSen_HC_SR04_Echo_PIN_D3, INPUT);
pinMode(disSen_HC_SR04_Trigger_PIN_D2, OUTPUT);
neopixel.begin(); // Initialize NeoPixel
neopixel.show(); // Turn off all NeoPixel LEDs
}
void loop(void)
{
// put your main code here, to run repeatedly:
unsigned int distance = ultrasonic.read(); // Read distance from ultrasonic sensor
// Check if the object is within the range
if (distance >= 40 && distance <= 300) {
int numLEDs = map(distance, 40, 300, 0, 24); // Map the number of LEDs to light up based on the distance
// Light up the LEDs
for (int i = 0; i < numLEDs; i++) {
neopixel.setPixelColor(i, neopixel.Color(255, 255, 255)); // Set color to white for each LED
}
// Turn off the remaining LEDs
for (int i = numLEDs; i < 24; i++) {
neopixel.setPixelColor(i, neopixel.Color(0, 0, 0)); // Set color to black for each LED
}
neopixel.show(); // Display the updated LED colors
} else {
neopixel.clear(); // Turn off all LEDs
neopixel.show(); // Display the changes
}
delay(100); // Delay for smoother LED transition
}