[REAL] Repousse chat

Modérateurs : allinside, froggy, joyeufetar, Psychose, Saxman32

DocStrange
Apprenti
Apprenti
Messages : 41
Inscription : 20 déc. 2010, 01:00

Re: [REAL] Repousse chat

Message par DocStrange » 24 août 2014, 13:09

Moi je dis y a pas mieux qu'un bon raspberry pi couplé a open cv, avec une tourelle a eau.

Avatar de l’utilisateur
joyeufetar
Boss
Boss
Messages : 4550
Inscription : 08 janv. 2006, 01:00

Re: [REAL] Repousse chat

Message par joyeufetar » 28 août 2014, 14:24

Salut,

J'ai un peu avancé de mon côté.
Voila ce que ça donne pour le câblage :
Image

Et voila le programme associé :

Code : Tout sélectionner

int inputPinPir = 3;     // Pin pour le capteur de mouvement
int outputPinPiezo = 2;  // Pin pour le haut parleur piezo
int pirState = LOW;      // Au depart on considere qu'aucun mouvement n'a ete detecte
int val = 0;             // Variable pour la lecture de l'etat du pin
boolean debug = false;   // Variable servant uniquement pour le debug
int dureeHp = 5000;      // Duree ou le haut parleur delivre une frequence
int freqMinPossible = 30000;     // Frequence minimum possible pour le haut parleur
int nbMinRandom = 100;   // Nombre minimum utilise dans le random
int nbMaxRandom = 200;   // Nombre maximum utilise dans le random
long randNumber;         // Variable qui va stocker le nombre genere aleatoirement
int freqCalcule;         // frequence calculee a partir du generateur aleatoire

void setup() {
    pinMode(inputPinPir, INPUT);     // Declaration du detecteur de mouvement en entree
    pinMode(outputPinPiezo, OUTPUT); // Declaration du haut parleur en sortie

    Serial.begin(9600);

    randomSeed(analogRead(0)); // Initialisation du generateur de nombre
}
 
void loop(){
    val = digitalRead(inputPinPir);  // Valeur du detecteur de mouvement

    if (debug) {
        Serial.println("Valeur du detecteur de mouvement : " + val);
    }

    if (val == HIGH) {  // Si on detecte un mouvement
        if (pirState == LOW) { // On regarde si il y a eu un changement d'etat
            if (debug) {
                Serial.println("Mouvement detecte !");
            }
            
            // Alimentation du haut parleur avec une frequence F pendant X sec
            randNumber = random(nbMinRandom, nbMaxRandom);
            freqCalcule = (randNumber / 100) * freqMinPossible;
            tone(outputPinPiezo, freqCalcule, dureeHp);
            
            if (debug) {
                Serial.println("Nombre aleatoire tire : " + randNumber);
                Serial.println("Frequence calculee : " + freqCalcule + " !");
            }

            // Stockage de l'etat
            pirState = HIGH;
        }
    } else { // Si on ne detecte pas de mouvement
        if (pirState == HIGH){
            if (debug) {
                Serial.println("Mouvement termine !");
            }

            // Stockage de l'etat
            pirState = LOW;
        }
    }
}
Je n'ai pas encore pu tester les deux, mais les composants sont en route donc ça ne devrait pas trop tarder :)

Pour le câblage, il y a un filtre passe haut pour ne ce concentrer que sur les hautes fréquences.
Et la led côté détecteur de mouvement n'est la que pour info.
Elle ne s'allumera que si un mouvement est détecté, donc elle est parfaitement supprimable.

Pour le programme, j'ai décidé de faire simple dans un premier temps :
- le programme détecte un mouvement, la led verte s'allume
- a partir de la, on génère un nombre aléatoire entre 100 et 199.
- Ce nombre sert de base pour le calcul de la fréquence à envoyer au haut parleur. Il est divisé par 100 et est multiplié par la fréquence minimum que l'on a décidé (ici 30000hz à cause du filtre passe haut).
Cela nous fait une plage de fréquence entre 30000hz et 59700hz avec un pas de 300hz.

Mon piézo commandée à une plage de fréquence allant de 3.5Khz à 60Khz.
On est donc suffisamment large pour éviter que le minou ne s'habitue trop vite aux ultrasons.

N'hésitez pas à intervenir si vous voyez une erreur/aberration.
Je ne suis pas un expert en électronique donc une erreur a très bien pu se glisser ici :lol:

La suite dès que les éléments arrivent :)
@++

Avatar de l’utilisateur
Saxman32
Boss
Boss
Messages : 1299
Inscription : 22 sept. 2008, 02:00

Re: [REAL] Repousse chat

Message par Saxman32 » 31 août 2014, 02:08

Un simple détecteur de passage qui actionne un son puissant à une fréquence de 25 Khz va lui faire perdre ses mauvaises habitudes.
Cette fréquence est inaudible pour l'homme mais le chat l'entend très bien.
Perso moi j'avais un chien qui courait après les voitures qui passaient près de la maison. J'ai pris une bombe "du supporter", celles qui font un bruit super fort, et je suis monté côté passager et un copain a roulé sur le fameux chemin. Quand le chien s'est mis à courir à côté de la voiture j'ai baissé la vitre et foutu un coup de bombe... Radical, il a tellement eu la trouille qu'il n'a JAMAIS recommencé.

A voir (si tes voisins sont pas trop capricieux :D ) pour tester le même genre de truc avec ton matou... Ca peut ptet t'éviter de trop lourdes dépenses

Avatar de l’utilisateur
joyeufetar
Boss
Boss
Messages : 4550
Inscription : 08 janv. 2006, 01:00

Re: [REAL] Repousse chat

Message par joyeufetar » 31 août 2014, 02:25

Salut,

L'idée est bonne si on en a rien a faire des voisins :lol:
Sans rigoler, si j'arrivais à choper le chat sur le faite, je ne serais pas obligé de faire ça ;)

Et puis couteux, le projet n'est pas.
Pour l'instant, je suis a 5€ ^^

Avatar de l’utilisateur
Tijules2nantes
Boss
Boss
Messages : 1380
Inscription : 06 juin 2007, 02:00

Re: [REAL] Repousse chat

Message par Tijules2nantes » 31 août 2014, 11:51

@saxman,
excellent, je me suis bien marré !
qu'est-ce qu'il faut pas faire quand même ^^

Avatar de l’utilisateur
Saxman32
Boss
Boss
Messages : 1299
Inscription : 22 sept. 2008, 02:00

Re: [REAL] Repousse chat

Message par Saxman32 » 01 sept. 2014, 01:29

@tijules : On s'est bien marrés aussi :D

@joyeu : couteux le projet n'est pas, mais comme Yoda tu te mets à parler jeune Padawan hahahaha :D

Avatar de l’utilisateur
joyeufetar
Boss
Boss
Messages : 4550
Inscription : 08 janv. 2006, 01:00

Re: [REAL] Repousse chat

Message par joyeufetar » 01 sept. 2014, 12:11

Du casque la cause doit être, les mauvaises ondes je capte :lol:

Avatar de l’utilisateur
Saxman32
Boss
Boss
Messages : 1299
Inscription : 22 sept. 2008, 02:00

Re: [REAL] Repousse chat

Message par Saxman32 » 04 sept. 2014, 12:06

:D

Répondre

Revenir à « DIY: Autres projets / Electronique / Divers (Les inclassables) »