Welcome to Hackster!
Hackster is a community dedicated to learning hardware, from beginner to pro. Join us, it's free!
Thanyatorn Preechathawanich
Published © GPL3+

SensoryPaws: Enhancing the Walking Experience for Blind Dogs

Welcome to the SensoryPaws project! SensoryPaws is an innovative endeavor focused on enhancing the lives of blind dogs through cutting-edge

IntermediateFull instructions provided260
SensoryPaws: Enhancing the Walking Experience for Blind Dogs

Things used in this project

Hardware components

Ultrasonic Sensor - HC-SR04 (Generic)
Ultrasonic Sensor - HC-SR04 (Generic)
×4
SparkFun Solder-able Breadboard - Mini
SparkFun Solder-able Breadboard - Mini
×4
ICStation UNO
ICStation UNO
×1
Buzzer
Buzzer
×1
Jumper wires (generic)
Jumper wires (generic)
×1
LED (generic)
LED (generic)
×1
Resistor 1k ohm
Resistor 1k ohm
×1

Software apps and online services

Arduino IDE
Arduino IDE

Hand tools and fabrication machines

Dog Hat
Powerbank

Story

Read more

Schematics

sensorypaws_the_prototype_circuit__eRZFRDdWKm.png

This is the prototype circuit of SensoryPaws, a wearable device designed to enhance the walking experience of blind dogs. The circuit includes an Arduino UNO microcontroller, four ultrasonic sensors, a buzzer, and small breadboards. These components work together to detect obstacles in the dog's path and provide advanced warning signals. By incorporating this circuit into a specially designed dog hat, blind dogs can receive sensory feedback and navigate their surroundings more safely. The prototype circuit represents the technological backbone of SensoryPaws, demonstrating the innovative solution to improve the lives of visually impaired canines.

Code

SensortPaws code

C/C++
#include <NewPing.h>
#include <NewTone.h> 

#define TRIGGER_PIN1 9
#define ECHO_PIN1 9

#define TRIGGER_PIN2 5
#define ECHO_PIN2 5

#define TRIGGER_PIN3 6
#define ECHO_PIN3 6

#define TRIGGER_PIN4 7
#define ECHO_PIN4 7

#define MAX_DISTANCE 200 // max distance the sensor will return

NewPing sonar1(TRIGGER_PIN1, ECHO_PIN1, MAX_DISTANCE); // declare a NewPing object1
NewPing sonar2(TRIGGER_PIN2, ECHO_PIN2, MAX_DISTANCE); // declare a NewPing object2
NewPing sonar3(TRIGGER_PIN3, ECHO_PIN3, MAX_DISTANCE); // declare a NewPing object3
NewPing sonar4(TRIGGER_PIN4, ECHO_PIN4, MAX_DISTANCE); // declare a NewPing object4

const int LED_PIN1  = 2; // Arduino pin connected to LED's pin
const int LED_PIN2  = 3; // Arduino pin connected to LED's pin
const int buzzerPin1 = 8; // Arduino pin connected to Buzzer's pin 1


void setup() {
  Serial.begin(9600);
  pinMode(LED_PIN1, OUTPUT);  // set arduino pin to output mode
  pinMode(LED_PIN2, OUTPUT); 
  pinMode(0,OUTPUT);
  pinMode(buzzerPin1, OUTPUT);
}

void loop() {
  delay(500);
  int uS1 = sonar1.ping(); 
  int uS2 = sonar2.ping(); 
  int uS3 = sonar3.ping(); 
  int uS4 = sonar4.ping(); 
  int n1 = uS1 / US_ROUNDTRIP_CM;
  int n2 = uS2 / US_ROUNDTRIP_CM;
  int n3 = uS3 / US_ROUNDTRIP_CM;
  int n4 = uS4 / US_ROUNDTRIP_CM;
  Serial.print("Distance: ");
  Serial.print(n1); 
  Serial.println(" and ");
  Serial.print(n2);
  Serial.println(" and ");
  Serial.print(n3);
  Serial.println(" and ");
  Serial.print(n4);
  Serial.println(" cm");

if((n2 < 20) || (n3 < 20) || (n4 < 20))
  {
    digitalWrite(LED_PIN1, HIGH); // turn on LED
    digitalWrite(LED_PIN2, HIGH); // turn on LED
   // NewTone(buzzerPin1, 300, 500);
    delay(500);
    }
    else
  {
    digitalWrite(LED_PIN1, LOW);  // turn off LED
    digitalWrite(LED_PIN2, LOW);  // turn off LED
  }
  
}

Credits

Thanyatorn Preechathawanich
1 project • 1 follower
Contact

Comments

Please log in or sign up to comment.