{"id":1415,"date":"2024-09-10T06:07:48","date_gmt":"2024-09-10T04:07:48","guid":{"rendered":"https:\/\/labopothier.com\/?p=1415"},"modified":"2024-09-27T14:21:31","modified_gmt":"2024-09-27T12:21:31","slug":"activite-arduino-python-ouverture-automatique-de-porte-avec-codes-arduino-et-codes-python-equivalent","status":"publish","type":"post","link":"https:\/\/labopothier.com\/index.php\/2024\/09\/10\/activite-arduino-python-ouverture-automatique-de-porte-avec-codes-arduino-et-codes-python-equivalent\/","title":{"rendered":"ACTIVITE ARDUINO\/PYTHON : Ouverture automatique de porte (avec codes Arduino et codes Python \u00e9quivalent)"},"content":{"rendered":"\n<p><strong>Remarque<\/strong> : Cette activit\u00e9 peut \u00eatre programm\u00e9e avec le langage d&rsquo;Arduino mais aussi en Python. Pour cela, il faut utiliser Nanpy (voir l&rsquo;article <a rel=\"noreferrer noopener\" href=\"https:\/\/labopothier.com\/index.php\/2020\/04\/04\/programmer-en-python-pour-la-carte-arduino\/\" target=\"_blank\">Programmer-en-python-pour-la-carte-arduino<\/a>)<\/p>\n\n\n\n<p><strong>Objectif : <\/strong> On fait passer la position d\u2019un servomoteur de 45\u00b0 \u00e0 90\u00b0 quand l\u2019\u00e9clairement est faible. Cela pourrait \u00eatre utile pour une fermeture automatique de porte de poulailler \u00e0 la tomb\u00e9e de la nuit \u2026 R\u00e9sistance 1k\u03a9 en s\u00e9rie avec la LDR.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"534\" src=\"https:\/\/labopothier.com\/wp-content\/uploads\/2020\/04\/servo-1024x534.png\" alt=\"\" class=\"wp-image-371\" srcset=\"https:\/\/labopothier.com\/wp-content\/uploads\/2020\/04\/servo-1024x534.png 1024w, https:\/\/labopothier.com\/wp-content\/uploads\/2020\/04\/servo-300x157.png 300w, https:\/\/labopothier.com\/wp-content\/uploads\/2020\/04\/servo-768x401.png 768w, https:\/\/labopothier.com\/wp-content\/uploads\/2020\/04\/servo.png 1152w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<pre title=\"Avec le langage Arduino\" class=\"wp-block-code\"><code lang=\"cpp\" class=\"language-cpp line-numbers\">\/*\nFermeture de la porte d\u2019un poulailler pour un faible \u00e9clairement d'une photor\u00e9sistance\n*\/\n#include&lt;Servo.h&gt;     \/\/ biblioth\u00e8que pour utiliser le servomoteur\n\nint Valeur_A0; \nfloat Tension_A0; \nServo MonServo ;\n\nvoid setup(){\n\nMonServo.attach(9) ;  \/\/ on attribue la broche 9 pour l'instruction donn\u00e9e au servomoteur\n}\n\nvoid loop(){\nValeur_A0=analogRead(A0); \/\/ lecture de la tension sur l'entr\u00e9e analogique A0 \n   \/\/ (valeur comprise entre 0 et 1023 qui correspond \u00e0 une tension entre 0 et 5V)\nTension_A0=(float)Valeur_A0*5\/1023; # conversion de la valeur en V\n\n\nif (Tension_A0&lt;4.0){ \/\/ Selon la tension lue, la position du servomoteur est de 90\u00b0        \n                      \/\/ou 45\u00b0 (ici on a choisi comme valeur de r\u00e9f\u00e9rence : 4V)\n \nMonServo.write(90) ;\n}\n\n\nelse{\n\nMonServo.write(45) ;\n}\ndelay(250); \n\n}<\/code><\/pre>\n\n\n\n<pre title=\"Avec le langage Python (en utilisant Nanpy)\" class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># -*- coding: utf-8 -*-\n\"\"\"\nProgramme Python pour montage Arduino ouverture automatique de porte de poulailler\nPartie capteur :\nla photor\u00e9sistance est priv\u00e9e de lumi\u00e8re (quand la nuit tombe) ou est \u00e9clair\u00e9e.\n\nPartie actionneur  :\nSelon l\u2019\u00e9clairement re\u00e7u par la photor\u00e9sistance, le servomoteur prend une position \u00e0 45\u00b0 ou 90\u00b0.\n\"\"\"\n#########################################  IMPORTATION DES BIBLIOTHEQUES ET MODULES  #############################################################################\n\nfrom nanpy import ArduinoApi    # importation des biblioth\u00e8ques pour communication avec Arduino\nfrom nanpy import SerialManager\nfrom nanpy import Servo  # pour utiliser le servomoteur\nfrom time import sleep    # pour faire des \"pauses\" dans l'ex\u00e9cution du programme\n\n#########################################  COMMUNICATION AVEC CARTE ARDUINO ET DEFINITION DES BROCHES ET VARIABLES  #######################################################\nconnection = SerialManager(device='COM7') #indiquer le bon port de la carte Arduino\n\na = ArduinoApi(connection=connection) #connection \u00e0 la carte Arduino, on pr\u00e9c\u00e9dera chaque instruction Arduino par \n                                      # a. (exemple a.pinMode(2,a.OUTPUT)\n\nservo = Servo(9, connection=connection) # on attribue la broche 9 pour l'instruction donn\u00e9 au servomoteur\n\n\n\n#########################################   CODE ARDUINO  EN LANGAGE PYTHON    #################################################################################\n\n\nwhile True:\n    Valeur_A0=a.analogRead(0) # lecture de la tension sur l'entr\u00e9e analogique A0 (valeur comprise entre 0 et 1023 \n                              # qui correspond \u00e0 une tension entre 0 et 5V)\n    Tension_A0=Valeur_A0*5.0\/1023 # conversion de la valeur en V\n    if (Tension_A0&lt;4.0):    # Selon la tension lue, la position du servomoteur est de 90\u00b0 ou 45\u00b0 (ici on a choisi \n                            # comme valeur de r\u00e9f\u00e9rence : 4V)\n        servo.write(90)\n\n\n    else:\n        servo.write(45)\n\n    print (Tension_A0)\n    sleep(0.25)\n<\/code><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Remarque : Cette activit\u00e9 peut \u00eatre programm\u00e9e avec le langage d&rsquo;Arduino mais aussi en Python. Pour cela, il faut utiliser Nanpy (voir l&rsquo;article Programmer-en-python-pour-la-carte-arduino) Objectif : On fait passer la position d\u2019un servomoteur de 45\u00b0 \u00e0 90\u00b0 quand l\u2019\u00e9clairement est faible. Cela pourrait \u00eatre utile pour une fermeture automatique de porte de poulailler \u00e0 la [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1576,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[7,10],"tags":[],"class_list":["post-1415","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microcontroleurs-et-python","category-programmer-une-carte-arduino-avec-python"],"_links":{"self":[{"href":"https:\/\/labopothier.com\/index.php\/wp-json\/wp\/v2\/posts\/1415","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/labopothier.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/labopothier.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/labopothier.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/labopothier.com\/index.php\/wp-json\/wp\/v2\/comments?post=1415"}],"version-history":[{"count":3,"href":"https:\/\/labopothier.com\/index.php\/wp-json\/wp\/v2\/posts\/1415\/revisions"}],"predecessor-version":[{"id":1577,"href":"https:\/\/labopothier.com\/index.php\/wp-json\/wp\/v2\/posts\/1415\/revisions\/1577"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/labopothier.com\/index.php\/wp-json\/wp\/v2\/media\/1576"}],"wp:attachment":[{"href":"https:\/\/labopothier.com\/index.php\/wp-json\/wp\/v2\/media?parent=1415"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/labopothier.com\/index.php\/wp-json\/wp\/v2\/categories?post=1415"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/labopothier.com\/index.php\/wp-json\/wp\/v2\/tags?post=1415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}