# Outil de détection de chute libre ## Auteurs |Nom|Prénom|login|email| |--|--|--|--| |Kacimi|Souhail|ks194320|souhail.kacimi@etu.univ-lehavre.fr| |Kerné|Niels|kn175318|niels.kerne@etu.univ-lehavre.fr| ## installation électronique Notre installation comprend : - un arduino - un accéléromètre - une led - une résistance de 120 Ohms Le schéma d’installation est comme suis : ![schéma électronique](schema_electronique.png "schéma électronique") ## La chute libre La détection de la chute libre se fait grâce à accéléromètre. Lorsqu’un objet est en chute libre cela signifie que l’objet n’est plus soumise à la [gravité](https://fr.wikipedia.org/wiki/Gravitation), la gravité est une accélération. Elle est donc mesurable par notre accéléromètre. [Notre accéléromètre](https://lastminuteengineers.com/adxl335-accelerometer-arduino-tutorial/) se compose de trois axes : x, y et z. Il faut donc vérifier si la valeur est égal à zéro. Cependant notre accéléromètre n’est pas si précis. Nous avons décidé que nous sommes en chute libre lorsque la valeur absolue de tous les axes est inférieur à 0,3. Lors de la détection de la chute libre nous utilisons le port Serial pour aficher le message "Down". Nous lançons ensuite un délai de deux secondes pour empêcher que les rebonds soient détecté comme d'autres chutes. ## Architecture docker Pour faciliter l'exécution de notre projet on a mis en place une architecture docker qui comporte : - **Un conteneur serveur** qui interagit avec l'arduino et qui permet de transmettre les données au client. - **Un conteneur interface-web** qui permet de lancer l'enregistrement sur les chutes en affichant un graphique réalisé avec **d3js**, et qui permet de faire cela en temps réel. - **Un conteneur mongodb** pour enregistrer les données. - **Un conteneur mongo-express** pour la manipulation de la base de données mongo. ## Utilisation 1. Réalisation du montage. 1. Exécution du fichier [chute.ino](https://www-apps.univ-lehavre.fr/forge/ks194320/projet-finale-arduino-kacimi-niels/-/blob/master/chute/chute.ino) 1. Lancer le docker-compose avec la commande `docker-compose up -d`. 1. Se rendre dans le navigateur à l'adresse [http://localhost:3000](http://localhost:3000) 1. Commencer l'enregistrement des chutes