alimentador automático de gatos com arranhões – Arduino


alimentador automático de gatos com arranhões – Arduino

O projeto consiste em nove peças impressas e uma postagem de arranhões em gatos. Qualquer materials pode ser usado para impressão. Imprimi -o do PLA preto comum com três perímetros externos e 10% de preenchimento.
O projeto inclui dois parafusos que podem ser alterados de acordo com o tamanho e a forma dos alimentos.

https://www.alza.cz/pet/pethaus-skrabadlo-pro-kocky-dr-255-sysi-83-cm-sede-d13031099.htm

https://www.ebshop.cz/pawhut-skrabadlo-pro-kocky-strom-sicky-na-hrani-skrabadlo-pro-kocky-sisalove-skrabadlo-sede-35-5-x-37-x-46-CM/

https://www.kaufland.cz/product/372941024/

🔧 Lista de peças

1 × Arduino Uno

Motor de servo 1 × Mg90S (360 °)

Módulo de microfone 1 × W104 (possui saídas VCC, GND, A0, DO, TRIMMER para sensibilidade)

Cabos de conexão (masculino-masmo)

(opcional) Breadboard para fácil fiação

📐 Diagrama de fiação

Microfone W104:

VCC → Arduino 5V

GND → Arduino GND

A0 → Arduino A1

Servo mg90s (360 °):

Sinal (fio amarelo/laranja) → Arduino D9

VCC (fio vermelho) → Arduino 5V

GND (fio marrom/preto) → Arduino GND

⚠️ O servo desenha um pouco de corrente, recomendo conectar -me diretamente ao arduino de 5V se você estiver usando USB ou uma fonte de alimentação mais forte (pelo menos 1A). Para estar seguro, você pode alimentar o servo externamente com 5V e conectar o GND.

💻 Código Arduino

Monitora a saída analógica do microfone (A1).

Se o valor exceder um limite (SOUNHRESHOLD), o servo se vira para a esquerda por 300 ms e depois para 2 s imediatamente depois e finalmente para.

Os valores do microfone são exibidos no monitor serial.

#embrace

Servo myservo;
const int micanalogpin = A1; // Saída analógica do microfone
const int servopin = 9; // pino pwm para o servo
const int partoSignal = 92; // Cease servo
const int lesfSignal = 80; // rotação esquerda
const int DIREVIÇÃO = 100; // rotação direita
const int SoundHreshold = 424; // limiar de detecção de som (pode ser ajustado)

Void Setup () {
Serial.start (9600); // Inicialize a comunicação serial
myservo.connect (servopin);
myServo.write (Stopsignal); // servo começa parado
}

Void Loop () {
int SoundLevel = analogread (Micanalogpin); // lendo sinal analógico

// Show in Serial Monitor

Serial.print ("Nível analógico: ");
Serial.println (Soundlevel);

// If the sound stage is increased than the brink

if (SoundLevel> SoundThreshold) {
MyServo.Write (LeftSignal); // Vire o servo à esquerda
atraso (300); // 300 ms
MyServo.Write (Direitos); // Vire o servo à direita
Atraso (2000); // 2 segundos
myServo.write (Stopsignal); // Pare o servo
atraso (1000); // pausa curta
}

delay(50); // Small delay to make the dump not too quick

}

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *