Pergola automatisée

Une pergola est une petite construction de jardin (initialement utilisée pour servir de support à des plantes grimpantes) dont la fonction principale est d’ombrager délicatement une terrasse.

Elle est faite de poutres horizontales en forme de toiture, soutenues par des colonnes.

 

Aujourd’hui, on trouve des pergolas réalisées avec des lames que l’on peut orienter pour ajuster la luminosité :

On se propose de réaliser une maquette de pergola automatisée : l’orientation des lames se fait automatiquement, en fonction de la luminosité ambiante.

 

Matériel

  • Un Arduino UNO et un shield de prototypage avec BreadBoard.
  • Un servomoteur
  • Une photorésistance et une résistance de 10kΩ
  • Un potentiomètre 10kΩ

Logiciel

 

Préparation

  • Ouvrir MATLAB et naviguer jusqu’au dossier de travail choisi
  • Créer un nouveau modèle Simulink (choisir « Blank model »)
  • L’enregistrer aussitôt ! (sous le nom « pergola.slx » par exemple)
  • Ouvrir le Library Browser  et afficher les blocs de Simulink Support Package for Arduino Hardware/Common :
  • Configurer le modèle Simulink pour programmer un Arduino UNO : voir Configuration

 

Pilotage d’un servomoteur

  • Depuis le Library Browser, ajouter un bloc Standard Servo Write :

Un servomoteur est piloté en position angulaire. Le bloc Standard Servo Write attend un nombre entre 0 et 180.

  • Configurer le bloc pour qu’il pilote un servomoteur connecté au port numérique 4 :

  • Ajouter un bloc Sin Wave :

  • Configurer le bloc afin que sa sortie évolue entre 0 et 180 à une fréquence de 1 fois toutes les 2 secondes :

  • Relier les deux blocs :

  • Sur le shield de prototypage de l’Arduino, connecter un servomoteur (port numérique 4) : voir Les servomoteurs
  • Compiler et téléverser le programme dans l’Arduino : bouton Deploy to Hardware

 

En cas de problème, consulter la rubrique Erreurs fréquentes

 

 

Acquisition de la luminosité

Pour acquérir la luminosité on utilise un capteur de type photorésistance. Comme son nom l’indique, il s’agit d’un dipôle dont la résistance varie en fonction de la luminosité.

 

  • Depuis le Library Browser, ajouter un bloc Analog Input :

 

  • Configurer ce bloc sur le port analogique 0, avec une période d’échantillonnage de 0.1 s :

 

  •  Ajouter un bloc Serial Transmit :

Ce bloc permet d’envoyer une information par le port série de l’Arduino. Une fois le téléversement terminé avec Simulink, on utilise un Moniteur Série (celui de l’IDE Arduino par exemple) pour afficher ces informations.

 

  • Relier les deux blocs :

  • Compiler et téléverser le programme dans l’Arduino : bouton Deploy to Hardware

 

Une fois la compilation terminée (et surtout pas avant) ouvrir un moniteur série (celui de l’IDE Arduino par exemple : bouton_moniteur)

  • Relever les deux valeurs extrêmes renvoyées par le capteur (obscurité / plein soleil)

 

Traitement de l’information

A présent, il faut faire en sorte d’actionner le servomoteur pour fermer les lames de la pergola lorsque la luminosité est trop forte.

  • Ajouter un bloc Chart :

Ce bloc permet de concevoir un diagramme d’état.

 

  • Ouvrir le bloc Chart (diagramme d’état)
  • Construire le diagramme suivant :

    • Chaque rectangle correspond à un état : il porte un nom, et contient des instructions
    • Chaque flèche correspond à une transition : ce sont les liens permettant de faire passer le diagramme d’un état à un autre.
    • La transition avec un point permet de désigner l’état initial
    • p est une donnée de sortie, correspondant à l’ordre à envoyer au servomoteur.

 

  • En double cliquant sur les transitions, ajouter les conditions qui doivent provoquer les changements d’état :

    • Les crochets indiquent qu’il s’agit d’une condition pour franchir la transition
    • l est une donnée d’entrée, correspondant à la valeur quantifiée de luminosité.

Les valeurs numériques des conditions doivent être adaptées en fonction des valeurs relevées en sortie du bloc Analog Input !

 

  • Quitter l’édition du Chart en cliquant sur le nom du modèle :

À ce stade, le bloc Chart ne possède aucune entrée/sortie

 

  • Ouvrir le Model Explorer
  • Sélectionner le Chart :

 

  • En utilisant le bouton Add data , ajouter les deux données d’entrée/sortie p et l :

 

Le bloc Chart comporte désormais un port d’entrée et un port de sortie, et peut être relié au reste du modèle :

 

  • Compiler et téléverser le programme dans l’Arduino : bouton Deploy to Hardware

 

 

Réglage du seuil de luminosité

Rajouter un potentiomètre au montage et modifier le modèle Simulink pour que le seuil de luminosité qui déclenche l’ouverture et la fermeture de la pergola soit réglable.

 

 

Maquette

Réaliser une maquette à partir d’une petite boite en carton judicieusement découpée.

Placer les composants sur la maquette (scotch, colle chaude, …)

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *