Difference between revisions of "FR:RPi Tutorial Easy GPIO Hardware & Software"
(→Objectifs) |
(→Plateformes de tests alternatives) |
||
(16 intermediate revisions by one other user not shown) | |||
Line 3: | Line 3: | ||
==Avertissement== | ==Avertissement== | ||
− | + | Bien que la plupart de ces circuits puisse être interfacée directement avec le RPi, l'usage d'une interface tampon (comme celle fournie par la [[RPi Gertboard | Gertboard]]) est conseillée car elle contribuera à la protection contre tout dommage. Autrement, il est possible de faire les expérimentations avec l'une des [[#Plateformes_de_tests_alternatives]]. | |
− | + | Les broches GPIO sont reliées directement au cœur du proccesseur ARM, et sont sensibles à l'électricité statique. Par conséquent, il est préférable d'éviter de les toucher autant que possible. Si vous portez une charge électrostatique, par exemple en ayant sur vous un pull en acrylique, ou en marchant sur un tapis en nylon, le fait de toucher les broches GPIO peut détruire votre R-Pi. Il faut donc toucher une masse soi-même avant de toucher aux broches ou à quoi que ce soit qui y est connecté. | |
− | ''' | + | '''Il faut faire preuve d'une précaution extrême lors de l'interfaçage d'un matériel à bas niveau, vous pouvez endommager votre RPi, votre équipement et éventuellement vous blesser vous-même ou d'autres. Le faire est à vos propres risques et périls !''' |
==Objectifs== | ==Objectifs== | ||
Line 16: | Line 16: | ||
==Liens utiles/Ressources== | ==Liens utiles/Ressources== | ||
− | *[http://log.liminastudio.com/writing/tutorials/tutorial-how-to-use-your-raspberry-pi-like-an-arduino Tutorial: How to use your RPi like an Arduino] - | + | *[http://log.liminastudio.com/writing/tutorials/tutorial-how-to-use-your-raspberry-pi-like-an-arduino Tutorial: How to use your RPi like an Arduino] - Guide approfondi pour utiliser les broches GPIO en Python, Bash et C. |
− | *[http://www.circuitlab.com | + | *[http://www.circuitlab.com Circuit Lab en ligne - Conception et simulation de circuits] - Excellent outil pour expérimenter des circuits (également utilisé pour les schémas des circuits utilisés ici) |
− | *[http://www.scriptoriumdesigns.com/embedded/index.php Introduction To Embedded Programming - GPIO] - | + | *[http://www.scriptoriumdesigns.com/embedded/index.php Introduction To Embedded Programming - GPIO] - Beaucoup d'informations détaillées sur les entrées et sorties GPIO pour que les débutants comprennent les principes sous-jacents aux circuits. |
− | *[http://ww1.microchip.com/downloads/en/devicedoc/40040b.pdf | + | *[http://ww1.microchip.com/downloads/en/devicedoc/40040b.pdf PDF PIC Tips and Tricks de Microchip]<ref> http://www.raspberrypi.org/forum/projects-and-collaboration-general/gpios-suitable-for-microswitches-joysticks/#p35307 </ref> - Contient des tas d'exemples de circuits utiles à employer avec des micro-contrôleurs PIC, peut être adapté pour une utilisation avec le RPi (GPIO 3.3V). |
− | *[http://www.kpsec.freeuk.com/ The Electronics Club] - | + | *[http://www.kpsec.freeuk.com/ The Electronics Club] - D'excellentes ressources pour les débutants en électronique, expliquant de nombreux circuits de base. |
==Circuits de protection== | ==Circuits de protection== | ||
Line 34: | Line 34: | ||
==Plateformes de tests alternatives== | ==Plateformes de tests alternatives== | ||
− | + | Jusqu'à ce que vous ayez un RPi pour faire les tests avec, vous pouvez essayez les circuits de base grâce aux nombreuses plateformes alternatives qui sont disponibles. De plus, ils pourront être interfacés directement en utilisant le RPi à l'avenir. | |
− | * [http://www.ti.com/tool/msp-exp430g2 TI LaunchPad] - | + | * [http://www.ti.com/tool/msp-exp430g2 TI LaunchPad] - Plateforme de développement à bas coût (les microprocesseurs coûtent seulement quelques USD et les frais de port sont gratuits à l'international). Comporte une carte de débogage/programmation, deux processeurs (avec 16 GPIO, dont I2C/SPI/UART, CAN 10 bits 8 canaux, etc). |
− | *[http://arduino.cc/en/ Arduino] - | + | *[http://arduino.cc/en/ Arduino] - Plateforme de développement répandue chez les passionnés. Excellent support de la communauté et matériel additionnel. |
*[http://www.picaxe.com/ PICAXE]<ref> http://www.raspberrypi.org/forum/projects-and-collaboration-general/gpios-suitable-for-microswitches-joysticks/#p35309 </ref> | *[http://www.picaxe.com/ PICAXE]<ref> http://www.raspberrypi.org/forum/projects-and-collaboration-general/gpios-suitable-for-microswitches-joysticks/#p35309 </ref> | ||
− | *[http://www.stm32circle.com/hom/index.php STM32 Primer/EvoPrimer] - | + | *[http://www.stm32circle.com/hom/index.php STM32 Primer/EvoPrimer] - Plateforme de développement tout-compris. Mentionnée car j'en ai utilisé une jusqu'à un certain point (j'avais acheté le Primer original il y a longtemps). Elle contient une batterie, des accéléromètres et un écran d'affichage intégré. |
=Tutoriels terminés= | =Tutoriels terminés= | ||
− | + | Remarque : | |
− | + | En attendant la disponibilité des RPi, je ne peux pas garantir le bon fonctionnement sur un RPi réel. | |
− | + | Pour l'instant, j'utilise le TI LaunchPad (voir [[FR:RPi Tutorial Easy GPIO Hardware & Software#Plateformes_de_tests_alternatives | plateformes de test alternatives]] | |
− | + | pour les détails) afin de tester le matériel dessus (car il n'est pas cher et les niveaux logiques sont semblables). | |
===Circuits de base=== | ===Circuits de base=== | ||
− | 1. [[RPi Tutorial EGHS:LED output | | + | 1. [[RPi Tutorial EGHS:LED output | Sortie sur DEL]] |
− | + | Contrôlée directement (une DEL à très faible alimentation sera requise) ou par l'intermédiaire d'un transistor (ce qui permet l'emploi d'un courant plus élevé). Inclut comme exemple un module de test 8xDEL. | |
− | 3. [[RPi Tutorial EGHS:Switch Input| Simple | + | 3. [[RPi Tutorial EGHS:Switch Input| Simple entrée interrupteur marche/arrêt]] |
− | + | Avec ou sans anti-rebond, résistances de protection etc. Contient comme exemple un module de test Interrupteursx8. | |
− | 4. [[RPi Tutorial EGHS:12V relay driver| 12V | + | 4. [[RPi Tutorial EGHS:12V relay driver| Circuit de commande de relais 12V]] |
− | 12V | + | Circuit de commande de relais 12V avec opto-coupleur. Avec schéma. |
=Tutoriels prévus= | =Tutoriels prévus= | ||
===Circuits de base=== | ===Circuits de base=== | ||
− | 1. | + | 1. Sortie sur DEL |
− | '' | + | ''Terminé, voir plus haut.'' |
− | 2. [[RPi Tutorial EGHS:DC Motor | | + | 2. [[RPi Tutorial EGHS:DC Motor | Contrôle d'un petit moteur CC]] |
− | MOSFET | + | Transistor Darlington ou MOSFET pour fournir un gain en courant élevé et diode bloquée comme protection contre les bobines du moteur. |
− | 3. [[RPi Tutorial EGHS:Switch Input| Simple | + | 3. [[RPi Tutorial EGHS:Switch Input| Simple interrupteur marche/arrêt]] |
− | '' | + | ''Terminé, voir plus haut.'' |
− | 4. [[RPi Tutorial EGHS:Analogue Sensor| | + | 4. [[RPi Tutorial EGHS:Analogue Sensor| Capteur résistif analogique échantillonné en tant qu'entrée numérique]] |
− | + | Utilisation d'un circuit basique avec un transistor comme interrupteur. | |
===Circuits intermédiaires=== | ===Circuits intermédiaires=== | ||
− | 1. [[RPi Tutorial EGHS:Shift Registers| | + | 1. [[RPi Tutorial EGHS:Shift Registers| Registres à décalage - Multiplexage de données]] |
− | + | Une introduction à l'utilisation de CI supplémentaires. Dans le cas présent, utilisation d'un registre à décalage parallèle vers série 8 bits pour lire 8 entrées numériques depuis deux broches GPIO. | |
− | 2. [[RPi Tutorial EGHS:Analogue to Digital| | + | 2. [[RPi Tutorial EGHS:Analogue to Digital| Circuit analogique vers numérique]] |
− | + | Utilisation d'une puce CAN pour échantillonner des entrées. | |
− | 3. [[RPi Tutorial EGHS:Driving Circuit| PWM | + | 3. [[RPi Tutorial EGHS:Driving Circuit| Circuit de commande PWM]] |
− | + | Contrôle de la vitesse du moteur par exemple. | |
− | 4. [[RPi Tutorial EGHS:Alpha-Numeric Display| | + | 4. [[RPi Tutorial EGHS:Alpha-Numeric Display| Affichage ACL 2x16 alpha-numérique]] |
− | '''( | + | '''(EN-COURS)''' Contrôle via 4 fils de données (6 GPIO au total) et également un autre circuit d'interface à 2 fils. |
− | 5. [[RPi Tutorial EGHS:I2C Interfacing| | + | 5. [[RPi Tutorial EGHS:I2C Interfacing| Interfaçage avec des périphériques I2C]] |
− | + | Interfaçage d'un périphérique I2C connecté à l'un des bus I2C du Pi. | |
===Circuits avancés=== | ===Circuits avancés=== | ||
− | 1. [[RPi Tutorial EGHS:Control Hardware Over Internet| | + | 1. [[RPi Tutorial EGHS:Control Hardware Over Internet| Contrôle matériel via Internet]] |
− | + | Implémenter un contrôle via le web et une surveillance des composants branchés sur les GPIO. | |
− | 2. [[RPi Tutorial EGHS:Communicating With Other Micro-controllers | | + | 2. [[RPi Tutorial EGHS:Communicating With Other Micro-controllers | Communication avec d'autres micro-contrôleurs ]] |
− | + | Communiquer avec d'autres micro-contrôleurs pour que des fonctionnalités comme des CAN puissent être utilisées. | |
==Contribuer à ce tutoriel== | ==Contribuer à ce tutoriel== |
Latest revision as of 02:58, 5 March 2014
Retour vers le Hub, ou vers la page Tutoriels.
Tutoriels logiciels et matériels GPIO :
- Circuits de protection des GPIO
- Circuits basiques : Sortie sur DEL - Moteur CC - Entrée interrupteur - Capteur analogique
- Circuits intermédiaires : Registres à décalage - Analogique vers Numérique - Circuit de commande - Affichage alpha-numérique
- Circuits avancés : Contrôle matériel via Internet
Avertissement
Bien que la plupart de ces circuits puisse être interfacée directement avec le RPi, l'usage d'une interface tampon (comme celle fournie par la Gertboard) est conseillée car elle contribuera à la protection contre tout dommage. Autrement, il est possible de faire les expérimentations avec l'une des #Plateformes_de_tests_alternatives.
Les broches GPIO sont reliées directement au cœur du proccesseur ARM, et sont sensibles à l'électricité statique. Par conséquent, il est préférable d'éviter de les toucher autant que possible. Si vous portez une charge électrostatique, par exemple en ayant sur vous un pull en acrylique, ou en marchant sur un tapis en nylon, le fait de toucher les broches GPIO peut détruire votre R-Pi. Il faut donc toucher une masse soi-même avant de toucher aux broches ou à quoi que ce soit qui y est connecté.
Il faut faire preuve d'une précaution extrême lors de l'interfaçage d'un matériel à bas niveau, vous pouvez endommager votre RPi, votre équipement et éventuellement vous blesser vous-même ou d'autres. Le faire est à vos propres risques et périls !
Objectifs
Ce tutoriel est basé sur ce fil de discussion et a pour but de présenter des circuits électriques sommaires à utiliser avec les entrées/sorties à usage générique (GPIO) du RPi. Des connaissances de base en électronique seront nécessaires (i.e. connaître les composants classiques comme les transistors, diodes et résistances).
Il est grandement conseillé d'utiliser des circuits de protection GPIO supplémentaires pour protéger les fragiles broches GPIO si elles sont employées comme interface avec le RPi.
Liens utiles/Ressources
- Tutorial: How to use your RPi like an Arduino - Guide approfondi pour utiliser les broches GPIO en Python, Bash et C.
- Circuit Lab en ligne - Conception et simulation de circuits - Excellent outil pour expérimenter des circuits (également utilisé pour les schémas des circuits utilisés ici)
- Introduction To Embedded Programming - GPIO - Beaucoup d'informations détaillées sur les entrées et sorties GPIO pour que les débutants comprennent les principes sous-jacents aux circuits.
- PDF PIC Tips and Tricks de Microchip[1] - Contient des tas d'exemples de circuits utiles à employer avec des micro-contrôleurs PIC, peut être adapté pour une utilisation avec le RPi (GPIO 3.3V).
- The Electronics Club - D'excellentes ressources pour les débutants en électronique, expliquant de nombreux circuits de base.
Circuits de protection
Afin de protéger l'électronique du Raspberry Pi, il est vivement recommandé d'assurer la protection des broches GPIO d'une façon ou d'une autre pour éviter tout dommage.
Le lien suivant présente quelques manières de le faire :
Plateformes de tests alternatives
Jusqu'à ce que vous ayez un RPi pour faire les tests avec, vous pouvez essayez les circuits de base grâce aux nombreuses plateformes alternatives qui sont disponibles. De plus, ils pourront être interfacés directement en utilisant le RPi à l'avenir.
- TI LaunchPad - Plateforme de développement à bas coût (les microprocesseurs coûtent seulement quelques USD et les frais de port sont gratuits à l'international). Comporte une carte de débogage/programmation, deux processeurs (avec 16 GPIO, dont I2C/SPI/UART, CAN 10 bits 8 canaux, etc).
- Arduino - Plateforme de développement répandue chez les passionnés. Excellent support de la communauté et matériel additionnel.
- STM32 Primer/EvoPrimer - Plateforme de développement tout-compris. Mentionnée car j'en ai utilisé une jusqu'à un certain point (j'avais acheté le Primer original il y a longtemps). Elle contient une batterie, des accéléromètres et un écran d'affichage intégré.
Tutoriels terminés
Remarque : En attendant la disponibilité des RPi, je ne peux pas garantir le bon fonctionnement sur un RPi réel. Pour l'instant, j'utilise le TI LaunchPad (voir plateformes de test alternatives pour les détails) afin de tester le matériel dessus (car il n'est pas cher et les niveaux logiques sont semblables).
Circuits de base
Contrôlée directement (une DEL à très faible alimentation sera requise) ou par l'intermédiaire d'un transistor (ce qui permet l'emploi d'un courant plus élevé). Inclut comme exemple un module de test 8xDEL.
3. Simple entrée interrupteur marche/arrêt
Avec ou sans anti-rebond, résistances de protection etc. Contient comme exemple un module de test Interrupteursx8.
4. Circuit de commande de relais 12V
Circuit de commande de relais 12V avec opto-coupleur. Avec schéma.
Tutoriels prévus
Circuits de base
1. Sortie sur DEL
Terminé, voir plus haut.
2. Contrôle d'un petit moteur CC
Transistor Darlington ou MOSFET pour fournir un gain en courant élevé et diode bloquée comme protection contre les bobines du moteur.
3. Simple interrupteur marche/arrêt
Terminé, voir plus haut.
4. Capteur résistif analogique échantillonné en tant qu'entrée numérique
Utilisation d'un circuit basique avec un transistor comme interrupteur.
Circuits intermédiaires
1. Registres à décalage - Multiplexage de données
Une introduction à l'utilisation de CI supplémentaires. Dans le cas présent, utilisation d'un registre à décalage parallèle vers série 8 bits pour lire 8 entrées numériques depuis deux broches GPIO.
2. Circuit analogique vers numérique
Utilisation d'une puce CAN pour échantillonner des entrées.
Contrôle de la vitesse du moteur par exemple.
4. Affichage ACL 2x16 alpha-numérique
(EN-COURS) Contrôle via 4 fils de données (6 GPIO au total) et également un autre circuit d'interface à 2 fils.
5. Interfaçage avec des périphériques I2C
Interfaçage d'un périphérique I2C connecté à l'un des bus I2C du Pi.
Circuits avancés
1. Contrôle matériel via Internet
Implémenter un contrôle via le web et une surveillance des composants branchés sur les GPIO.
2. Communication avec d'autres micro-contrôleurs
Communiquer avec d'autres micro-contrôleurs pour que des fonctionnalités comme des CAN puissent être utilisées.
Contribuer à ce tutoriel
Il s'agit d'un projet ouvert, aussi n'hésitez pas à ajouter vos propres sections et à améliorer son contenu.
Allez sur la page Talk:RPi Tutorial Easy GPIO Hardware & Software pour discuter de son contenu.
|