Daisylab.fr POURQUOI



Documents pareils
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

Durée estimée :1 journée Date de la réalisation : Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

La sécurité des biens et des personnes Comment se protéger des intrusions?

Temps Réel. Jérôme Pouiller Septembre 2011

Carte Relais GSM (Manuel Utilisateur)

TD3: tableaux avancées, première classe et chaînes

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Projet Robot Centaure

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Acquisition et conditionnement de l information Les capteurs


Kit avertisseur fermeture

Une carte pour vos projets

Pourquoi l apprentissage?

Les arbres binaires de recherche

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Organigramme / Algorigramme Dossier élève 1 SI

Petit guide pratique de dépannage du système d alerte centralisée (modèles de 1980 à 1988)

De l automatisme à la domotique...

Séverine Marien Maxime Ringard. 2 ème année GEII. Régulateur de charge pour station de recharge photovoltaïque

ACTIVITÉ DE PROGRAMMATION

Education Delivery Intelligent Tool

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Cours d algorithmique pour la classe de 2nde

Initiation à la programmation en Python

Les structures de données. Rajae El Ouazzani

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Baccalauréat Professionnel. Microtechniques. Session 2012 DOSSIER TECHNIQUE (DT)

INSTALLER DES DETECTEURS DE FUMEE

Atelier Arduino. Initiation à la mise en oeuvre matérielle et logicielle de l Arduino. novembre 2006

Programmation C++ (débutant)/instructions for, while et do...while

#include <stdio.h> #include <stdlib.h> struct cell { int clef; struct cell *suiv; };

Java Licence Professionnelle CISII,

Cours 1 : Qu est-ce que la programmation?

SYSTEME D ALARME CONNECTE. Guide d installation et d utilisation

Atelier Arduino. Initiation à la mise en oeuvre matérielle et logicielle de l Arduino. novembre 2006

Introduction au langage C

4. Groupement d objets

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

MODE D EMPLOI Boitier de programmation SKY

VOCALYS LITE.

Le système de détection d intrusion

Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée)

La mesure des écarts en Sciences de l'ingénieur

AUTOPORTE III Notice de pose

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Et si le futur était déja là?

Chapitre 10. Les interfaces Comparable et Comparator 1

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Exercices INF5171 : série #3 (Automne 2012)

TVD 03 GSM - Transmetteur Téléphonique Vocal

Bien commencer avec un LaunchPad MSP430G et un Breadboard

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

Barrières infrarouge actif double faisceaux Multi fréquences SBT 30F-60F-80F-100F-150F Notice d installation. Logo

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Projet ISN - dossier réalisé par Randrianarimanana Stéphanie. Titre du projet : Site de rencontre. le nom de notre site de rencontre : Linkymeet

PIC EVAL Dev Board PIC18F97J60

Activité initiation Arduino

TABLE DES MATIÈRES. Avant-propos... 1 Communications série Entrées simples analogiques et numériques... 61

AMICUS 18 (2ème partie) 4) Présentation du logiciel Amicus IDE

Cours Programmation Système

Poker. A rendre pour le 25 avril

PRODUIRE DES SIGNAUX 1 : LES ONDES ELECTROMAGNETIQUES, SUPPORT DE CHOIX POUR TRANSMETTRE DES INFORMATIONS

Centrale d Alarme 32 zones sans fils

Cours de Systèmes d Exploitation

UML : DIAGRAMME D ETATS

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Systèmes pour la surveillance et la commande lors de l entreposage et du transvasement de liquides. BA

12 applications pour maîtriser le PICBASIC PB-3B - Gérard GUIHÉNEUF. Elektor-Publitronic ISBN :

Solar Scintillation Monitor Manuel utilisateur

TP Vidéo surveillance Bac pro SEN CCTV. Lycée de L Aa 1

Programmer en JAVA. par Tama

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

ROTOLINE NOTICE DE POSE

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Version beta. Station Météo 12/11/2012. Réalisation d un Station Météo avec Webserver composée de capteurs Grove et d un module Wifi Flyport.

Présentation du langage et premières fonctions

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0

III Capteurs et actuateurs

Programmation système de commandes en C

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

I. Introduction aux fonctions : les fonctions standards

Sécurité et confort Busch-Guard

Alarme domestique- Présentation

Prototypage électronique

SYSTÈME ANTI-INTRUSION SANS. fil. L œil sur la sécurité

W 12-2 : haute performance et savoir-faire compact

Presse Plieuse Synchronisée. Gamme PSN SPECIFICATIONS TECHNIQUES PRESSE PLIEUSE. Gamme PSN

KIT SOLAIRE EVOLUTIF DE BASE

Centrale d alarme DA996

Extrait des Exploitations Pédagogiques

Transcription:

POURQUOI

POURQUOI La porte du garage s ouvre-t-elle?

L ouverture de la porte du garage est une illustration d un principe de base de l automatisme : INFORMATION ( CAPTEUR ) TRAITEMENT INFORMATION ( MICROCONTROLEUR) ACTION ( ACTIONNEUR )

CAPTEUR : BARRIERE INFRA ROUGE TRAITEMENT INFORMATION: ARDUINO ACTION : MOTEUR PORTE GARAGE ( Servo de modélisme)

CAPTEUR : BARRIERE INFRA ROUGE Une diode émettrice de lumière infra rouge Un récepteur, qui donne une information = 0 lorsqu il reçoit la lumière et = 1 lorsqu il ne la reçoit plus..0....1..

CAPTEUR : BARRIERE INFRA ROUGE Lorsqu'il passe devant, le robot coupe le faisceau, et le récepteur ne reçoit plus de lumière. Le récepteur passe à 1...1..

TRAITEMENT INFORMATION: ARDUINO Le récepteur infra rouge est connecté à un microcontrôleur open source l Arduino : cela correspond à une ENTREE pour l Arduino. Les 0 et les 1 sont matérialisés par des tensions, 0V pour 0 et +5V pour 1 Si une ENTREE reçoit du +5V on dit qu elle est à 1, Si elle reçoit du 0 V on dit qu elle est à 0. Un programme installé sur l Arduino va scruter l entrée correspondant au Récepteur infra rouge et déclencher une action en fonction de son état 0 ou 1

TRAITEMENT INFORMATION: ARDUINO Voici un extrait du programme qui ouvre la porte! Void loop(). if (digitalread(pin_infrarouge)==1) PositionGarage=RotationGarage(target_garageouvert); else. Suite du code. Et en français qu est ce que cela veut dire??

Void loop(). if (digitalread(pin_infrarouge)==1) PositionGarage=RotationGarage(target_garageouvert); else. Suite du code. Le programme commence par une instruction Void loop qui indique que l Arduino doit exécuter ce qui suit en boucle, sans jamais s arrêter!

Void loop(). La séquence IF ELSE veut dire : if (digitalread(pin_infrarouge)==1) PositionGarage=RotationGarage(target_garageouvert); else. Suite du code. Si (if) la condition suivant est vraie exécute ce qui suit entre les Sinon (else) exécute ce qui suit maintenant entre les Remarquez les qui encadrent chaque partie de code : cela fait partie de la syntaxe du langage de programmation de l Arduino.

Void loop(). Daisylab.fr Là on demande à l Arduino de lire la broche sur laquelle est raccordée le récepteur infra rouge : digitalread(pin_infrarouge) Puis on compare le résultat à la valeur 1 : if (digitalread(pin_infrarouge)==1) PositionGarage=RotationGarage(target_garageouvert); else. Suite du code. Si la valeur lue est 1, la condition digitalread(pin_infrarouge)==1 est VRAIE Et l Arduino va exécuter l instruction qui suit : PositionGarage=RotationGarage(target_garageouvert);

ACTION : MOTEUR PORTE GARAGE ( Servo de modélisme) Void loop(). if (digitalread(pin_infrarouge)==1) Pour ouvrir ou fermer la porte, l Arduino va commander un servomoteur, tel que l on en trouve dans les avions ou voitures télécommandés. PositionGarage=RotationGarage(target_garageouvert); else. Suite du code. Le servomoteur est raccordé à une borne de SORTIE de l Arduino ainsi qu à une alimentation extérieure. Le servomoteur tournera lorsque la sortie sera mise à +5V par l Arduino

ACTION : MOTEUR PORTE GARAGE ( Servo de modélisme) C est en mettant la SORTIE sur laquelle est connecté le servomoteur successivement à 0V et +5V (impulsions) que le programme va pouvoir positionner le servomoteur précisément. Pour simplifier, en partant de 0, envoyer 90 impulsions va mettre le servomoteur à 90, en envoyer 180 le mettra à 180

Il faut encore beaucoup d instructions pour que la porte s ouvre, en voici un extrait! ACTION : MOTEUR PORTE GARAGE ( Servo de modélisme) int RotationGarage(int cible) int Pact; int angle; if (PositionGarage < cible ) for (angle = PositionGarage; angle <= cible; angle +=1) servogarage.write(angle); delay(freine); else if (PositionGarage > cible) for (angle PositionGarage; angle >= cible; angle -=1) servogarage.write(angle); delay(freine); Pact=cible; return Pact;

int RotationGarage(int cible) int Pact; int angle; if (PositionGarage < cible ) for (angle = PositionGarage; angle <= cible; angle +=1) servogarage.write(angle); delay(freine); else if (PositionGarage > cible) for (angle PositionGarage; angle >= cible; angle -=1) servogarage.write(angle); delay(freine); Pact=cible; return Pact; ACTION : MOTEUR PORTE GARAGE ( Servo de modélisme) La cible correspond à ce que l on veut obtenir. Dans notre cas, 90 pour porte ouverte et 0 pour porte fermée. Si la position de la porte est inférieure à la cible, on fait tourner le servo dans le sens d ouverture. Sinon, on le fait tourner dans le sens inverse. Pour ouvrir, on va donc dire au servo: va à la position 1 puis 2 puis 3 jusqu à 90! Pour ne pas ouvrir la porte trop vite on attend un peu entre chaque ordre, c est l instruction delay()