[PYTHON] Essayez de pêcher le Wakasagi avec Raspberry Pi

WHY Je viens de me mettre en colère, et maintenant j'y réfléchis. image

WHAT C'est une méthode pour attraper des wakasagi à l'aide d'une tarte à la râpe. La pêche à Wakasagi consiste à faire un trou dans la glace et à attraper un poisson.

Aperçu

--Une caméra et un moteur sont attachés à la tarte à la râpe --Lorsque le traitement d'image peut détecter l'atari de la pointe de la tige, le moteur tourne.

Artificiel

Je n'ai jamais fait de travail électronique, donc je n'ai fait que les préparatifs minimaux. Fondamentalement, la tarte aux râpes vient avec:

--Alimentation électrique: le problème est qu'il n'y a pas d'alimentation électrique sur la glace, j'utilise donc la batterie pour charger le smartphone. --Caméra: caméra WEB ordinaire pour environ 1000 yens -Adaptateur WiFi ―― Le problème est que le Wifi ne vole pas sur la glace.

no_fish_big.jpg

Faire tourner le moteur

En commutant la sortie de GPIO (0, 1), il est possible de tourner dans le sens horaire ou antihoraire. Installez rpi.gpio pour le contrôler depuis python. sudo apt-get install python-rpi.gpio

Code de test qui tourne dans le sens horaire pendant 2 secondes → tourne dans le sens antihoraire pendant 2 secondes.

import RPi.GPIO as GPIO
import time

def init_gpio():
    GPIO.setmode(GPIO.BCM)
    
    channel_list = [14, 15, 18]
    GPIO.setup(channel_list, GPIO.OUT)

def stop():
    GPIO.output(14, False)
    GPIO.output(15, False)
    GPIO.output(18, False)

def rotate_right(duration):
    stop()
    GPIO.output(14, True)
    GPIO.output(15, False)
    GPIO.output(18, True)
    time.sleep(duration)
    stop()

def rotate_left(duration):
    stop()
    GPIO.output(14, False)
    GPIO.output(15, True)
    GPIO.output(18, True)
    time.sleep(duration)
    stop()

def cleanup():
    GPIO.cleanup()


init_gpio()

rotate_right(2)

rotate_left(2)

cleanup()

no_fish_big.jpg

Il semble que je peux en quelque sorte tourner le fil.

Détecter Atari

La caméra seule doit détecter les petits mouvements à l'extrémité de la tige. Cette fois, j'ai essayé d'utiliser un filtre à particules. Le filtre à particules est un algorithme qui génère de manière aléatoire un grand nombre de particules, sélectionne les particules proches de l'état souhaité et les suit à plusieurs reprises. Comme il est difficile de ne détecter que la pointe de la tige, nous avons cette fois mis en œuvre une solution minutieuse consistant à ** mettre du papier vert sur la pointe de la tige **.

sky.jpg

Prenant cela au sérieux, l'algorithme est le suivant.

--En mode initial, déplacez la tige en mode attractif. --Lorsque la secousse de la tige disparaît, l'étape suivante consiste à passer en mode détection. --Si ――S'il y a une forte secousse de la canne, levez-la en mode poisson et passez en mode attente. --Attendez que la touche s soit enfoncée en mode veille --S'il n'y a pas de détection pendant un certain temps, il passe au mode d'attraction initial. Répétez ceci

Un script python principalement construit sur glace. https://github.com/tan-z-tan/raspi_fishing/blob/master/src/RaspiFishing.py Passer l'interface graphique avec SSH -X Il est écrit sur le site.

Invitation (bouge un peu)

Tout cela parce que je l'ai implémenté sur glace sans penser à rien.

motor.rotate_left(0.53)
motor.rotate_right(0.7)

Les constantes comme 0,53 et 0,7 sont des constantes chaudes pour les artisans qui ont pris le temps et les efforts. Cela est dû au fait que l'angle de rotation est légèrement différent même si le nombre de secondes est le même pour le bobinage et la descente du moteur.

Je l'ai essayé sur la glace

J'ai pu l'attraper. L'apparition d'un pauvre wakasagi attrapé par une machine. Je suis heureux.

IMG_20160213_103856.jpg

Environ 4 heures de pêche

** Tarte Razz: 2 animaux ** ** Moyenne humaine: 6,75 animaux ** image

** Conclusion: vous pouvez mieux attraper si vous le faites **

Quand je l'ai écrit sérieusement, il y avait trop peu de poissons dans l'ensemble et je pouvais à peine faire un test. Quand il sera temps d'attraper 100 wakasagi, ce sera un travail mécanique juste pour le mettre et le relever, donc s'il est mécanisé, ce sera efficace. .. .. Devrait être.

Je veux organiser un concours de pêche Razzpie.

Recommended Posts

Essayez de pêcher le Wakasagi avec Raspberry Pi
Essayez L Chika avec raspberrypi
Essayez de déplacer 3 servos avec Raspeye
Essayez la détection d'objets avec Raspberry Pi 4 + Coral
GPGPU avec Raspberry Pi
DigitalSignage avec Raspberry Pi
Programmation média avec Raspeye (préparation audio)
Essayez de déboguer Python sur Raspberry Pi avec Visual Studio.
Mettre à jour Raspberry Pi Python vers 3.7 ou version ultérieure avec pyenv
J'ai créé un moniteur de ressources pour Raspberry Pi avec une feuille de calcul
[Raspberry Pi] Contrôle du moteur pas à pas avec Raspberry Pi
Utilisez vl53l0x avec RaspberryPi (python)
Commande de servomoteur avec Raspberry Pi
Communication série avec Raspberry Pi + PySerial
Configuration du système d'exploitation avec Raspberry Pi Imager
Réglage initial du Raspberry Pi (pour moi-même)
Essayez d'utiliser ArUco avec Raspberry Pi
Construire un serveur VPN avec Raspberry Pie
Utiliser une webcam avec Raspberry Pi
Mesurer la force du signal SIM avec Raspberry Pi
Surveillance des animaux avec Rekognition et Raspberry pi
Bonjour le monde avec Raspberry Pi + Minecraft Pi Edition
Créer un environnement Tensorflow avec Raspberry Pi [2020]
Programmation normale avec la programmation Node-RED avec Raspberry Pi 3
Capteur humain amélioré fabriqué avec Raspberry Pi
Exécuter le servomoteur SG-90 avec Raspberry Pi
Travailler avec des capteurs dans Mathematica sur Raspberry Pi
Utiliser le capteur de mouvement PIR avec Raspberry Pi
Faire une minuterie de lavage-séchage avec Raspberry Pi
Modèle Infer Custom Vision avec Raspeye
Faites fonctionner l'oscilloscope avec le Raspberry Pi
Créez un compteur de voiture avec Raspberry Pi
[Pour les débutants] Essayez le web scraping avec Python
Enregistrement de la valeur d'Inkbird IBS-TH1 avec Raspberry Pi
Travailler avec le GPS en Python pour Raspberry Pi 3
Essayez de tweeter le flux RSS d'arXiv sur Twitter avec python de Raspeye
Discord bot raspberry pi zéro avec python [Note]
Essayez d'utiliser le code QR avec Raspberry Pi
J'ai essayé L-Chika avec Razpai 4 (édition Python)
Profitez du travail électronique avec GPIO de Raspberry Pi
MQTT Radicon Car avec Arduino et Raspberry
Allumez / éteignez votre PC avec Raspberry Pi
Sortie CSV des données d'impulsion avec Raspberry Pi (sortie CSV)
Observez le groupe de météores Futago avec RaspberryPi4
Obtenez des informations sur le processeur de Raspberry Pi avec Python
Démarrage de la compilation croisée pour Raspberry Pi Zero sur Ubuntu
[Pour les débutants] J'ai fait un capteur humain avec Raspberry Pi et notifié LINE!
J'ai essayé de créer un bouton pour Slack avec Raspeye + Tact Switch
Essayez de détecter un objet avec RaspberryPi ~ Partie 1: Comparaison de la vitesse de détection ~
Obtenez la température et l'humidité avec DHT11 et Raspberry Pi
Essayez de créer un environnement pour MayaPython avec VisualStudioCode
Application d'analyse des investissements boursiers avec tarte aux framboises
Enregistrement de la valeur d'Inkbird IBS-TH1 mini avec Raspberry Pi
Essayez d'utiliser le processeur à 4 cœurs du Raspberry Pi 2 avec Parallel Python
Connectez-vous à MySQL avec Python sur Raspberry Pi
Suivi GPS avec Raspeye 4B + BU-353S4 (Python)
Mesurer la température du processeur de Raspeye avec Python
Installez PyCall sur Raspberry PI et essayez d'utiliser la bibliothèque GPIO pour Python de Ruby