1 / 7
Cat water fountain — zdjęcie 1
1 / 7

Cat water fountain

Zamów wydruk tego modelu

Obliczymy ostateczną cenę na podstawie wybranego pliku. Sprawdzisz ją i zaakceptujesz przed płatnością.

Zapisane na tym urządzeniu.

Fountain with circulating water

Ocena
0 / 5
Polubienia
59
Pobrania
230
Wydruki
0
Wyświetlenia
2001
Oceny
0

Aktualizacja u źródła:

Informacje o modelu

Źródło
Printables
Kategoria
Pets
Licencja
Creative Commons — Attribution

Cat water fountain

 

Cat water bowl with circulating water for your pet. Easy to assemble.

When the cat gets close to the bowl, the fountain starts.

You can use the breadboard to connect the components,  soldering is need only to connect wires to dc jack

 

 

 

 

Components

  • clone arudino nano ch340
  • sensor HC-SR04
  • breadboard
  • BAT43 diode
  • transistor 2N2222
  • resistor 4.7kΩ
  • water pump DC 3-5V
  • DC jack
  • silicon tube 6x8 mm - 145 mm
  • 4x screws M3x12
  • 5v adapter
  • wires
  • 3d printed model

 

 

 

 

Print settings

  • layer height 0.2 mm
  • infill 20%
  • perimetres 3
  • bottom solid layers 3
  • support only under "tube brige" and on bottom recomended

 

Component Wiring

Transistor (NPN, e.g., BC547 or 2N2222)
  • Base (B) → via a 4.7kΩ resistor → D4 on Arduino Nano
  • Collector (C) → negative terminal of the pump
  • Emitter (E) → GND
Pump (DC 3–5V)
  • Red wire (positive) → 5V power supply
  • Black wire (negative) → transistor collector
BAT43 Diode (protection against back EMF)
  • Anode (+) → transistor collector
  • Cathode (−) → +5V (pump power supply)
HC-SR04 (ultrasonic sensor)
  • VCC → 5V
  • GND → GND
  • Trig → D2 on Arduino Nano
  • Echo → D3 on Arduino Nano

 

Code

#define TRIG_PIN 3
#define ECHO_PIN 2
#define PUMP_PIN 4

void setup() { pinMode(TRIG_PIN, OUTPUT); pinMode(ECHO_PIN, INPUT); pinMode(PUMP_PIN, OUTPUT); digitalWrite(PUMP_PIN, LOW); Serial.begin(9600); }

long measureDistance() { digitalWrite(TRIG_PIN, LOW); delayMicroseconds(2); digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW);

long duration = pulseIn(ECHO_PIN, HIGH);
long distance = duration * 0.034 / 2;  // Convert to cm
return distance;

}

void loop() { long distance = measureDistance(); Serial.print("Distance: "); Serial.print(distance); Serial.println(" cm");

if (distance < 25) {  // If an object is closer than 25 cm
    digitalWrite(PUMP_PIN, HIGH);  // Turn on the pump
    delay(15000);  // 15 seconds
    digitalWrite(PUMP_PIN, LOW);   // Turn off the pump
}

delay(5000);  // Short delay between measurements

}

 

 

 

Tagi