<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki.mchobby.be/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin</id>
	<title>MCHobby - Wiki - Contributions de l’utilisateur [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mchobby.be/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin"/>
	<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Sp%C3%A9cial:Contributions/Admin"/>
	<updated>2026-09-22T05:17:54Z</updated>
	<subtitle>Contributions de l’utilisateur</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=ENG-CANSAT-PICO-THONNY&amp;diff=34525</id>
		<title>ENG-CANSAT-PICO-THONNY</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=ENG-CANSAT-PICO-THONNY&amp;diff=34525"/>
		<updated>2026-04-25T22:44:43Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Connect your PymateIO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ENG-CANSAT-PICO-NAV}}&lt;br /&gt;
&lt;br /&gt;
== Abstract == &lt;br /&gt;
There is no need for a specific development environment to work with a MicroPython plateforms. &lt;br /&gt;
&lt;br /&gt;
A simple text editor is quite enough to write python scripts. &lt;br /&gt;
&lt;br /&gt;
Command line utility like {{fname|mpremote}} can be used to copy/run python scripts on the board.&lt;br /&gt;
&lt;br /&gt;
== Thonny editor ==&lt;br /&gt;
By the way, a enhanced tool like [https://thonny.org/ Thonny IDE] can definitively improve the user experience and interaction with the Pico.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-00.png|480px]]&lt;br /&gt;
&lt;br /&gt;
Thonny is multi-plateform editor running on Linux, Windows, Mac. &lt;br /&gt;
&lt;br /&gt;
The beauty about Thonny Python Script editor is that Thonny is written in Python.&lt;br /&gt;
&lt;br /&gt;
[https://thonny.org/ Thonny IDE] is a great python script editor can also be used with MicroPython Microcontrolers:&lt;br /&gt;
* Raspberry-Pi Pico&lt;br /&gt;
* RP2040 base MicroPython board (like PYBStick RP2040 or MicroMod-RP2040, etc)&lt;br /&gt;
* ESP32 under MicroPython&lt;br /&gt;
* ESP8266 under MicroPython&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
Thonny offers great features for MicroPython microconroler:&lt;br /&gt;
* transfer script to MicroPython microcontroler.&lt;br /&gt;
* manage files on the MicroPython microcontroler.&lt;br /&gt;
* run script against MicroPython microcontroler.&lt;br /&gt;
* using the micropython interactive command line (named REPL)&lt;br /&gt;
* generating graphical data (an awesome feature)&lt;br /&gt;
&lt;br /&gt;
== Install Thonny IDE ==&lt;br /&gt;
&lt;br /&gt;
{{ambox|text=It is important to have a recent version of thonny and plug-ins to use it with MicroPython boards.}} &lt;br /&gt;
&lt;br /&gt;
[https://thonny.org/ Thonny website] contains the required instruction to install Thonny IDE.&lt;br /&gt;
&lt;br /&gt;
=== On Raspberry-Pi ===&lt;br /&gt;
Just open a terminal and execute the following command line:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will upgrade the operating system and install the latest version of Thonny IDE.&lt;br /&gt;
&lt;br /&gt;
=== On Linux ===&lt;br /&gt;
Python3 is available on almost every Linux operating system. So Thonny (which is written in Python) is installed with the {{fname|pip3}} ''Python Install Package'' software.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ pip3 install thonny&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Windows &amp;amp; Mac ===&lt;br /&gt;
Refer to the official [https://thonny.org/ Thonny.org] documentation.&lt;br /&gt;
&lt;br /&gt;
== Working with Thonny ==&lt;br /&gt;
&lt;br /&gt;
The Thonny environment look very sober at first sight.&lt;br /&gt;
&lt;br /&gt;
Don't be fooled by this simplicity, Thonny do have everything you need under the hood.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-00.png|480px]]&lt;br /&gt;
&lt;br /&gt;
From top to bottom:&lt;br /&gt;
* The Menubar, &lt;br /&gt;
* The Toolbar (with icones), &lt;br /&gt;
* Text/code editor is the main part&lt;br /&gt;
* A Shell interface (at the bottom) used to quickly test Python code.&lt;br /&gt;
&lt;br /&gt;
=== Thonny and MicroPython ===&lt;br /&gt;
&lt;br /&gt;
By default, Thonny use the computer's Python interpreter in the &amp;quot;Shell&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
So to work with a MicroPython board, the user must inform Thonny to use the appropriate shell.&lt;br /&gt;
&lt;br /&gt;
For instance the REPL shell exposed by the MicroPython microcontroler on its serial interface.&lt;br /&gt;
&lt;br /&gt;
Just click and the &amp;quot;shell selection&amp;quot; popup at the bottom-right corner of the screen. In the popup menu selects the &amp;quot;MicroPython&amp;quot; entry attached to the MicroPython board. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-01.png|480px]]&lt;br /&gt;
&lt;br /&gt;
Once the entry selected, Thonny does establish a connection with the MicroPython command line interpreter (REPL) running on the MicroPython board.&lt;br /&gt;
&lt;br /&gt;
If the connection fails then you can press the &amp;quot;stop&amp;quot; button on the toolbar to make a new connection attempt.&lt;br /&gt;
&lt;br /&gt;
The image here below MicroPython shell (REPL, as it is executed on the microcontroler). This would work the same for any of the RP2040 based microcontroler (like the MicroMod-RP2040, PYBStick RP2040, etc).  &lt;br /&gt;
   &lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-02.png|480px]]&lt;br /&gt;
&lt;br /&gt;
=== LED Blinking ===&lt;br /&gt;
Now that we have selected the MicroPython REPL as interactive shell, can use it to control the Pico onboard LED.&lt;br /&gt;
&lt;br /&gt;
The Pico onboard LED is attached to the pin GP25. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-03.png|640px]]&lt;br /&gt;
&lt;br /&gt;
It can be controled with few lines of codes, just key-in them directly in the REPL session&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from machine import Pin&lt;br /&gt;
led = Pin(25, Pin.OUT)&lt;br /&gt;
led.value(1) # allume la LED&lt;br /&gt;
led.value(0) # éteint la LED&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following screen capture just show the results of entering the command lines. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-04.png|480px]]&lt;br /&gt;
&lt;br /&gt;
by entering {{fname|led.value()}} without parameter, you can query the current pin state (1 for High level, 0 for Low level).&lt;br /&gt;
&lt;br /&gt;
=== Run &amp;amp; Stop a file ===&lt;br /&gt;
With Thonny you can also write Python code inside a file and execute it at once on the target MicroPython board.&lt;br /&gt;
&lt;br /&gt;
In the following example, the status LED (GP25) is pulsed by controling the output pin with PWM signal.&lt;br /&gt;
&lt;br /&gt;
PWM stand for ''Pulse Width Modulation'', see this [https://www.electronicwings.com/pic/pic18f4550-pwm animation on ElectronicWings clearly show a PWM signal with its duty cycle and results on a LED].&lt;br /&gt;
&lt;br /&gt;
Under MicroPython, the duty cycle is set with {{fname|duty_16( value )}} where value is a number from 0 to 65534 (for duty cycle from 0 to 100% .&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Key-in the following code into the main's Thonny section (the code editor):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
led = PWM( Pin(25 ))&lt;br /&gt;
counter = 0&lt;br /&gt;
while True:&lt;br /&gt;
    print( counter )&lt;br /&gt;
    counter += 1&lt;br /&gt;
    for i in range( 0, 100, 5 ):&lt;br /&gt;
        led.duty_u16( int(65534*i/100) )&lt;br /&gt;
        time.sleep_ms( 50 )&lt;br /&gt;
    for i in range( 0, 100, 5 ):&lt;br /&gt;
        led.duty_u16( int(65534*(100-i)/100) )&lt;br /&gt;
        time.sleep_ms( 50 )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then save the file under the name &amp;quot;demo.py&amp;quot; either on the computer, either on the microcontroler board.&lt;br /&gt;
&lt;br /&gt;
No matter where it is saved (computer or microcontroler), it can be executed against the microcontroler and shows the results into the REPL/shell session.&lt;br /&gt;
&lt;br /&gt;
To execute the script, you can either:&lt;br /&gt;
* Press the &amp;quot;Start&amp;quot; button [[Fichier:ENG-CANSAT-PICO-THONNY-05.png]] of the toolbar&lt;br /&gt;
* Select the menu &amp;quot;'''Run | Run current script'''&amp;quot;&lt;br /&gt;
* Press the &amp;quot;F5&amp;quot; key&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-06.png|480px]]&lt;br /&gt;
&lt;br /&gt;
The script execution will displays the {{fname|print()}} messages into the Shell section of Thonny.&lt;br /&gt;
&lt;br /&gt;
As you may guess, the onboard status LED is also pulsing.&lt;br /&gt;
&lt;br /&gt;
To stop the script (since it run infinitly),  you can either:&lt;br /&gt;
* press the &amp;quot;Stop&amp;quot; button on the toolbar&lt;br /&gt;
* Press the &amp;quot;Ctrl+C&amp;quot; combination into the shell section&lt;br /&gt;
&lt;br /&gt;
=== Use the plotter ===&lt;br /&gt;
The plotter is a graphical tool displaying script outputs generated with {{fname|print()}} as graphics.&lt;br /&gt;
&lt;br /&gt;
The graphics is updated each time a new information appears in the output.&lt;br /&gt;
&lt;br /&gt;
The Plotter can be activated with the &amp;quot;'''View |  Plotter'''&amp;quot; menu.&lt;br /&gt;
&lt;br /&gt;
That action displays a graphical tool aside the shell section.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-10.png|480px]]&lt;br /&gt;
&lt;br /&gt;
The Plotter catch the numeric values sends/print in the REPL/Shell and displays it in the chart. &lt;br /&gt;
&lt;br /&gt;
Only lines containing numeric values are used by the plotter.&lt;br /&gt;
&lt;br /&gt;
On the following example, named {{fname|demo2.py}}, we do use the gamma function to make the LED pulsing in a more natural way. Indeed, a progressive PWM signal increase would not offers a proportional luminosity increase on the LED (voir livre [https://www.editions-eni.fr/livre/micropython-et-pyboard-python-sur-microcontroleur-de-la-prise-en-main-a-l-utilisation-avancee-9782409022906 MicroPython et Pyboard, Edition ENI], in French).&lt;br /&gt;
&lt;br /&gt;
We do use the {{fname|gamma()}} function to rectify the apparent proportionality between the PWM and emitted light.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from machine import Pin, PWM&lt;br /&gt;
import time&lt;br /&gt;
led = PWM( Pin(25 ))&lt;br /&gt;
&lt;br /&gt;
def gamma( pc ):&lt;br /&gt;
    return pow(pc/100,2.2)*100&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
    for i in range( 0, 100, 5 ):&lt;br /&gt;
        pwm_val = int(gamma(i)*65534/100)&lt;br /&gt;
        led.duty_u16( pwm_val )&lt;br /&gt;
        print( pwm_val )&lt;br /&gt;
        time.sleep_ms( 20 )&lt;br /&gt;
    for i in range( 0, 100, 5 ):&lt;br /&gt;
        pwm_val = int(gamma(100-i)*65534/100)&lt;br /&gt;
        led.duty_u16( pwm_val )&lt;br /&gt;
        print( pwm_val )&lt;br /&gt;
        time.sleep_ms( 20 )&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which produce the following results in Thonny and activated Plotter.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-11.png|480px]]&lt;br /&gt;
&lt;br /&gt;
'''{{underline|Drawing several curves}}'''&lt;br /&gt;
&lt;br /&gt;
By modifying the script, we can return the PWM value and the gamma corrected value by using a [https://www.w3schools.com/python/python_tuples.asp Python tuple]. Then the plotter will draw several curves.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from machine import Pin, PWM&lt;br /&gt;
import time&lt;br /&gt;
led = PWM( Pin(25 ))&lt;br /&gt;
&lt;br /&gt;
def gamma( pc ):&lt;br /&gt;
    return pow(pc/100,2.2)*100&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
    for i in range( 0, 100, 5 ):&lt;br /&gt;
        pwm       = int( i*65534/100 )&lt;br /&gt;
        pwm_gamma = int(gamma(i)*65534/100)&lt;br /&gt;
        led.duty_u16( pwm_gamma )&lt;br /&gt;
        print( (pwm, pwm_gamma) )&lt;br /&gt;
        time.sleep_ms( 20 )&lt;br /&gt;
    for i in range( 0, 100, 5 ):&lt;br /&gt;
        pwm       = int((100-i)*65534/100)&lt;br /&gt;
        pwm_gamma = int(gamma(100-i)*65534/100)&lt;br /&gt;
        led.duty_u16( pwm_gamma )&lt;br /&gt;
        print( (pwm, pwm_gamma) )&lt;br /&gt;
        time.sleep_ms( 20 )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which produce the following results in Thonny.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-12.png|480px]]&lt;br /&gt;
&lt;br /&gt;
As seen in the REPL/Shell output, the data are return under the format (pwm, pwm_gamma) . The first value is the proportional curve and the second value the gamma fixed value. &lt;br /&gt;
&lt;br /&gt;
The plotter does show the curve correspondence between tuple value position and drawed curve (see to bottom right corner).&lt;br /&gt;
&lt;br /&gt;
== System Shell - Pure REPL ==&lt;br /&gt;
It is also possible to start a Pure REPL session inside an external terminal. By using a external terminal, the user escape from the Thonny shell panel and being directly connected to the microcontroler via an USB serial connection.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;'''Tools | Open System Shell..'''&amp;quot; menu will open the terminal Window.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-20.png|640px]]&lt;br /&gt;
&lt;br /&gt;
{{underline|Notes:}}&lt;br /&gt;
* Thonny must be connected to the target plateform to be able to open the External Terminal. &lt;br /&gt;
* The file manager can helps to check, whether or not, when Thonny is connected to the MicroPython board.&lt;br /&gt;
* It is not possible to open two terminal session (at the same time) to the MicroPython microcontroler.&lt;br /&gt;
&lt;br /&gt;
== File manager ==&lt;br /&gt;
&lt;br /&gt;
It is common to copy library/libraries on the board.&lt;br /&gt;
&lt;br /&gt;
This will requires to '''transfer one (or several) files to the MicroPython board'''.&lt;br /&gt;
&lt;br /&gt;
Such '''libraries''' are usually python scripts (eg: ce [https://raw.githubusercontent.com/mchobby/esp8266-upy/master/bme280-bmp280/bme280.py bme280.py file]) coded for target sensors (eg: [https://github.com/mchobby/esp8266-upy/tree/master/bme280-bmp280 BME280 atmospheric &amp;amp; temperature I2C sensor]).&lt;br /&gt;
&lt;br /&gt;
Thank to Thonny you also have a dedicated &amp;quot;file manager&amp;quot; tool used to transfert files between the computer and the MicroPython board.&lt;br /&gt;
&lt;br /&gt;
The file manager is available via the &amp;quot;'''View | Files'''&amp;quot; menu.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-30.png|480px]]&lt;br /&gt;
&lt;br /&gt;
Which would display the Thonny file manager.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-31.png|480px]]&lt;br /&gt;
&lt;br /&gt;
To transfer a file from the computer to the MicroPython board, you will need to :&lt;br /&gt;
* Select the file into the &amp;quot;Computer&amp;quot; pane&lt;br /&gt;
* Activate the contextual menu (mouse right click)&lt;br /&gt;
* Select the option &amp;quot;Upload to&amp;quot; in the menu&lt;br /&gt;
&lt;br /&gt;
{{ambox|text=The &amp;quot;/&amp;quot; drawed into the menu match the root folder on the target (the microcontroler in this case).}}&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-32.png|480px]]&lt;br /&gt;
&lt;br /&gt;
It would be easy to identify the features and behavior of the file manager by exploring and testing the various entries in the contextual menu. Please note that contectual menu are different in the board pane and computer pane.&lt;br /&gt;
&lt;br /&gt;
{{ENG-CANSAT-PICO-TRAILER}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=ENG-CANSAT-PICO-THONNY&amp;diff=34524</id>
		<title>ENG-CANSAT-PICO-THONNY</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=ENG-CANSAT-PICO-THONNY&amp;diff=34524"/>
		<updated>2026-04-25T22:43:19Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Connect your PymateIO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ENG-CANSAT-PICO-NAV}}&lt;br /&gt;
&lt;br /&gt;
== Abstract == &lt;br /&gt;
There is no need for a specific development environment to work with a MicroPython plateforms. &lt;br /&gt;
&lt;br /&gt;
A simple text editor is quite enough to write python scripts. &lt;br /&gt;
&lt;br /&gt;
Command line utility like {{fname|mpremote}} can be used to copy/run python scripts on the board.&lt;br /&gt;
&lt;br /&gt;
== Thonny editor ==&lt;br /&gt;
By the way, a enhanced tool like [https://thonny.org/ Thonny IDE] can definitively improve the user experience and interaction with the Pico.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-00.png|480px]]&lt;br /&gt;
&lt;br /&gt;
Thonny is multi-plateform editor running on Linux, Windows, Mac. &lt;br /&gt;
&lt;br /&gt;
The beauty about Thonny Python Script editor is that Thonny is written in Python.&lt;br /&gt;
&lt;br /&gt;
[https://thonny.org/ Thonny IDE] is a great python script editor can also be used with MicroPython Microcontrolers:&lt;br /&gt;
* Raspberry-Pi Pico&lt;br /&gt;
* RP2040 base MicroPython board (like PYBStick RP2040 or MicroMod-RP2040, etc)&lt;br /&gt;
* ESP32 under MicroPython&lt;br /&gt;
* ESP8266 under MicroPython&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
Thonny offers great features for MicroPython microconroler:&lt;br /&gt;
* transfer script to MicroPython microcontroler.&lt;br /&gt;
* manage files on the MicroPython microcontroler.&lt;br /&gt;
* run script against MicroPython microcontroler.&lt;br /&gt;
* using the micropython interactive command line (named REPL)&lt;br /&gt;
* generating graphical data (an awesome feature)&lt;br /&gt;
&lt;br /&gt;
== Install Thonny IDE ==&lt;br /&gt;
&lt;br /&gt;
{{ambox|text=It is important to have a recent version of thonny and plug-ins to use it with MicroPython boards.}} &lt;br /&gt;
&lt;br /&gt;
[https://thonny.org/ Thonny website] contains the required instruction to install Thonny IDE.&lt;br /&gt;
&lt;br /&gt;
=== On Raspberry-Pi ===&lt;br /&gt;
Just open a terminal and execute the following command line:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will upgrade the operating system and install the latest version of Thonny IDE.&lt;br /&gt;
&lt;br /&gt;
=== On Linux ===&lt;br /&gt;
Python3 is available on almost every Linux operating system. So Thonny (which is written in Python) is installed with the {{fname|pip3}} ''Python Install Package'' software.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ pip3 install thonny&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Windows &amp;amp; Mac ===&lt;br /&gt;
Refer to the official [https://thonny.org/ Thonny.org] documentation.&lt;br /&gt;
&lt;br /&gt;
== Working with Thonny ==&lt;br /&gt;
&lt;br /&gt;
The Thonny environment look very sober at first sight.&lt;br /&gt;
&lt;br /&gt;
Don't be fooled by this simplicity, Thonny do have everything you need under the hood.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-00.png|480px]]&lt;br /&gt;
&lt;br /&gt;
From top to bottom:&lt;br /&gt;
* The Menubar, &lt;br /&gt;
* The Toolbar (with icones), &lt;br /&gt;
* Text/code editor is the main part&lt;br /&gt;
* A Shell interface (at the bottom) used to quickly test Python code.&lt;br /&gt;
&lt;br /&gt;
=== Connect your PymateIO ===&lt;br /&gt;
&lt;br /&gt;
First think first: The PymateIO must be connected to the computer prior to establish a connection between Thonny IDE and PymateIO.&lt;br /&gt;
&lt;br /&gt;
Few seconds after USB connexion, the PymateIO shows its internal filesystem as PymateIO drive.&lt;br /&gt;
&lt;br /&gt;
=== Thonny and MicroPython ===&lt;br /&gt;
&lt;br /&gt;
By default, Thonny use the computer's Python interpreter in the &amp;quot;Shell&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
So to work with a MicroPython board, the user must inform Thonny to use the appropriate shell.&lt;br /&gt;
&lt;br /&gt;
For instance the REPL shell exposed by the MicroPython microcontroler on its serial interface.&lt;br /&gt;
&lt;br /&gt;
Just click and the &amp;quot;shell selection&amp;quot; popup at the bottom-right corner of the screen. In the popup menu selects the &amp;quot;MicroPython&amp;quot; entry attached to the MicroPython board. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-01.png|480px]]&lt;br /&gt;
&lt;br /&gt;
Once the entry selected, Thonny does establish a connection with the MicroPython command line interpreter (REPL) running on the MicroPython board.&lt;br /&gt;
&lt;br /&gt;
If the connection fails then you can press the &amp;quot;stop&amp;quot; button on the toolbar to make a new connection attempt.&lt;br /&gt;
&lt;br /&gt;
The image here below MicroPython shell (REPL, as it is executed on the microcontroler). This would work the same for any of the RP2040 based microcontroler (like the MicroMod-RP2040, PYBStick RP2040, etc).  &lt;br /&gt;
   &lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-02.png|480px]]&lt;br /&gt;
&lt;br /&gt;
=== LED Blinking ===&lt;br /&gt;
Now that we have selected the MicroPython REPL as interactive shell, can use it to control the Pico onboard LED.&lt;br /&gt;
&lt;br /&gt;
The Pico onboard LED is attached to the pin GP25. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-03.png|640px]]&lt;br /&gt;
&lt;br /&gt;
It can be controled with few lines of codes, just key-in them directly in the REPL session&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from machine import Pin&lt;br /&gt;
led = Pin(25, Pin.OUT)&lt;br /&gt;
led.value(1) # allume la LED&lt;br /&gt;
led.value(0) # éteint la LED&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following screen capture just show the results of entering the command lines. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-04.png|480px]]&lt;br /&gt;
&lt;br /&gt;
by entering {{fname|led.value()}} without parameter, you can query the current pin state (1 for High level, 0 for Low level).&lt;br /&gt;
&lt;br /&gt;
=== Run &amp;amp; Stop a file ===&lt;br /&gt;
With Thonny you can also write Python code inside a file and execute it at once on the target MicroPython board.&lt;br /&gt;
&lt;br /&gt;
In the following example, the status LED (GP25) is pulsed by controling the output pin with PWM signal.&lt;br /&gt;
&lt;br /&gt;
PWM stand for ''Pulse Width Modulation'', see this [https://www.electronicwings.com/pic/pic18f4550-pwm animation on ElectronicWings clearly show a PWM signal with its duty cycle and results on a LED].&lt;br /&gt;
&lt;br /&gt;
Under MicroPython, the duty cycle is set with {{fname|duty_16( value )}} where value is a number from 0 to 65534 (for duty cycle from 0 to 100% .&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Key-in the following code into the main's Thonny section (the code editor):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
led = PWM( Pin(25 ))&lt;br /&gt;
counter = 0&lt;br /&gt;
while True:&lt;br /&gt;
    print( counter )&lt;br /&gt;
    counter += 1&lt;br /&gt;
    for i in range( 0, 100, 5 ):&lt;br /&gt;
        led.duty_u16( int(65534*i/100) )&lt;br /&gt;
        time.sleep_ms( 50 )&lt;br /&gt;
    for i in range( 0, 100, 5 ):&lt;br /&gt;
        led.duty_u16( int(65534*(100-i)/100) )&lt;br /&gt;
        time.sleep_ms( 50 )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then save the file under the name &amp;quot;demo.py&amp;quot; either on the computer, either on the microcontroler board.&lt;br /&gt;
&lt;br /&gt;
No matter where it is saved (computer or microcontroler), it can be executed against the microcontroler and shows the results into the REPL/shell session.&lt;br /&gt;
&lt;br /&gt;
To execute the script, you can either:&lt;br /&gt;
* Press the &amp;quot;Start&amp;quot; button [[Fichier:ENG-CANSAT-PICO-THONNY-05.png]] of the toolbar&lt;br /&gt;
* Select the menu &amp;quot;'''Run | Run current script'''&amp;quot;&lt;br /&gt;
* Press the &amp;quot;F5&amp;quot; key&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-06.png|480px]]&lt;br /&gt;
&lt;br /&gt;
The script execution will displays the {{fname|print()}} messages into the Shell section of Thonny.&lt;br /&gt;
&lt;br /&gt;
As you may guess, the onboard status LED is also pulsing.&lt;br /&gt;
&lt;br /&gt;
To stop the script (since it run infinitly),  you can either:&lt;br /&gt;
* press the &amp;quot;Stop&amp;quot; button on the toolbar&lt;br /&gt;
* Press the &amp;quot;Ctrl+C&amp;quot; combination into the shell section&lt;br /&gt;
&lt;br /&gt;
=== Use the plotter ===&lt;br /&gt;
The plotter is a graphical tool displaying script outputs generated with {{fname|print()}} as graphics.&lt;br /&gt;
&lt;br /&gt;
The graphics is updated each time a new information appears in the output.&lt;br /&gt;
&lt;br /&gt;
The Plotter can be activated with the &amp;quot;'''View |  Plotter'''&amp;quot; menu.&lt;br /&gt;
&lt;br /&gt;
That action displays a graphical tool aside the shell section.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-10.png|480px]]&lt;br /&gt;
&lt;br /&gt;
The Plotter catch the numeric values sends/print in the REPL/Shell and displays it in the chart. &lt;br /&gt;
&lt;br /&gt;
Only lines containing numeric values are used by the plotter.&lt;br /&gt;
&lt;br /&gt;
On the following example, named {{fname|demo2.py}}, we do use the gamma function to make the LED pulsing in a more natural way. Indeed, a progressive PWM signal increase would not offers a proportional luminosity increase on the LED (voir livre [https://www.editions-eni.fr/livre/micropython-et-pyboard-python-sur-microcontroleur-de-la-prise-en-main-a-l-utilisation-avancee-9782409022906 MicroPython et Pyboard, Edition ENI], in French).&lt;br /&gt;
&lt;br /&gt;
We do use the {{fname|gamma()}} function to rectify the apparent proportionality between the PWM and emitted light.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from machine import Pin, PWM&lt;br /&gt;
import time&lt;br /&gt;
led = PWM( Pin(25 ))&lt;br /&gt;
&lt;br /&gt;
def gamma( pc ):&lt;br /&gt;
    return pow(pc/100,2.2)*100&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
    for i in range( 0, 100, 5 ):&lt;br /&gt;
        pwm_val = int(gamma(i)*65534/100)&lt;br /&gt;
        led.duty_u16( pwm_val )&lt;br /&gt;
        print( pwm_val )&lt;br /&gt;
        time.sleep_ms( 20 )&lt;br /&gt;
    for i in range( 0, 100, 5 ):&lt;br /&gt;
        pwm_val = int(gamma(100-i)*65534/100)&lt;br /&gt;
        led.duty_u16( pwm_val )&lt;br /&gt;
        print( pwm_val )&lt;br /&gt;
        time.sleep_ms( 20 )&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which produce the following results in Thonny and activated Plotter.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-11.png|480px]]&lt;br /&gt;
&lt;br /&gt;
'''{{underline|Drawing several curves}}'''&lt;br /&gt;
&lt;br /&gt;
By modifying the script, we can return the PWM value and the gamma corrected value by using a [https://www.w3schools.com/python/python_tuples.asp Python tuple]. Then the plotter will draw several curves.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from machine import Pin, PWM&lt;br /&gt;
import time&lt;br /&gt;
led = PWM( Pin(25 ))&lt;br /&gt;
&lt;br /&gt;
def gamma( pc ):&lt;br /&gt;
    return pow(pc/100,2.2)*100&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
    for i in range( 0, 100, 5 ):&lt;br /&gt;
        pwm       = int( i*65534/100 )&lt;br /&gt;
        pwm_gamma = int(gamma(i)*65534/100)&lt;br /&gt;
        led.duty_u16( pwm_gamma )&lt;br /&gt;
        print( (pwm, pwm_gamma) )&lt;br /&gt;
        time.sleep_ms( 20 )&lt;br /&gt;
    for i in range( 0, 100, 5 ):&lt;br /&gt;
        pwm       = int((100-i)*65534/100)&lt;br /&gt;
        pwm_gamma = int(gamma(100-i)*65534/100)&lt;br /&gt;
        led.duty_u16( pwm_gamma )&lt;br /&gt;
        print( (pwm, pwm_gamma) )&lt;br /&gt;
        time.sleep_ms( 20 )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which produce the following results in Thonny.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-12.png|480px]]&lt;br /&gt;
&lt;br /&gt;
As seen in the REPL/Shell output, the data are return under the format (pwm, pwm_gamma) . The first value is the proportional curve and the second value the gamma fixed value. &lt;br /&gt;
&lt;br /&gt;
The plotter does show the curve correspondence between tuple value position and drawed curve (see to bottom right corner).&lt;br /&gt;
&lt;br /&gt;
== System Shell - Pure REPL ==&lt;br /&gt;
It is also possible to start a Pure REPL session inside an external terminal. By using a external terminal, the user escape from the Thonny shell panel and being directly connected to the microcontroler via an USB serial connection.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;'''Tools | Open System Shell..'''&amp;quot; menu will open the terminal Window.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-20.png|640px]]&lt;br /&gt;
&lt;br /&gt;
{{underline|Notes:}}&lt;br /&gt;
* Thonny must be connected to the target plateform to be able to open the External Terminal. &lt;br /&gt;
* The file manager can helps to check, whether or not, when Thonny is connected to the MicroPython board.&lt;br /&gt;
* It is not possible to open two terminal session (at the same time) to the MicroPython microcontroler.&lt;br /&gt;
&lt;br /&gt;
== File manager ==&lt;br /&gt;
&lt;br /&gt;
It is common to copy library/libraries on the board.&lt;br /&gt;
&lt;br /&gt;
This will requires to '''transfer one (or several) files to the MicroPython board'''.&lt;br /&gt;
&lt;br /&gt;
Such '''libraries''' are usually python scripts (eg: ce [https://raw.githubusercontent.com/mchobby/esp8266-upy/master/bme280-bmp280/bme280.py bme280.py file]) coded for target sensors (eg: [https://github.com/mchobby/esp8266-upy/tree/master/bme280-bmp280 BME280 atmospheric &amp;amp; temperature I2C sensor]).&lt;br /&gt;
&lt;br /&gt;
Thank to Thonny you also have a dedicated &amp;quot;file manager&amp;quot; tool used to transfert files between the computer and the MicroPython board.&lt;br /&gt;
&lt;br /&gt;
The file manager is available via the &amp;quot;'''View | Files'''&amp;quot; menu.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-30.png|480px]]&lt;br /&gt;
&lt;br /&gt;
Which would display the Thonny file manager.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-31.png|480px]]&lt;br /&gt;
&lt;br /&gt;
To transfer a file from the computer to the MicroPython board, you will need to :&lt;br /&gt;
* Select the file into the &amp;quot;Computer&amp;quot; pane&lt;br /&gt;
* Activate the contextual menu (mouse right click)&lt;br /&gt;
* Select the option &amp;quot;Upload to&amp;quot; in the menu&lt;br /&gt;
&lt;br /&gt;
{{ambox|text=The &amp;quot;/&amp;quot; drawed into the menu match the root folder on the target (the microcontroler in this case).}}&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-32.png|480px]]&lt;br /&gt;
&lt;br /&gt;
It would be easy to identify the features and behavior of the file manager by exploring and testing the various entries in the contextual menu. Please note that contectual menu are different in the board pane and computer pane.&lt;br /&gt;
&lt;br /&gt;
{{ENG-CANSAT-PICO-TRAILER}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=ENG-CANSAT-PICO-THONNY&amp;diff=34523</id>
		<title>ENG-CANSAT-PICO-THONNY</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=ENG-CANSAT-PICO-THONNY&amp;diff=34523"/>
		<updated>2026-04-25T22:39:44Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Thonny and MicroPython */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ENG-CANSAT-PICO-NAV}}&lt;br /&gt;
&lt;br /&gt;
== Abstract == &lt;br /&gt;
There is no need for a specific development environment to work with a MicroPython plateforms. &lt;br /&gt;
&lt;br /&gt;
A simple text editor is quite enough to write python scripts. &lt;br /&gt;
&lt;br /&gt;
Command line utility like {{fname|mpremote}} can be used to copy/run python scripts on the board.&lt;br /&gt;
&lt;br /&gt;
== Thonny editor ==&lt;br /&gt;
By the way, a enhanced tool like [https://thonny.org/ Thonny IDE] can definitively improve the user experience and interaction with the Pico.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-00.png|480px]]&lt;br /&gt;
&lt;br /&gt;
Thonny is multi-plateform editor running on Linux, Windows, Mac. &lt;br /&gt;
&lt;br /&gt;
The beauty about Thonny Python Script editor is that Thonny is written in Python.&lt;br /&gt;
&lt;br /&gt;
[https://thonny.org/ Thonny IDE] is a great python script editor can also be used with MicroPython Microcontrolers:&lt;br /&gt;
* Raspberry-Pi Pico&lt;br /&gt;
* RP2040 base MicroPython board (like PYBStick RP2040 or MicroMod-RP2040, etc)&lt;br /&gt;
* ESP32 under MicroPython&lt;br /&gt;
* ESP8266 under MicroPython&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
Thonny offers great features for MicroPython microconroler:&lt;br /&gt;
* transfer script to MicroPython microcontroler.&lt;br /&gt;
* manage files on the MicroPython microcontroler.&lt;br /&gt;
* run script against MicroPython microcontroler.&lt;br /&gt;
* using the micropython interactive command line (named REPL)&lt;br /&gt;
* generating graphical data (an awesome feature)&lt;br /&gt;
&lt;br /&gt;
== Install Thonny IDE ==&lt;br /&gt;
&lt;br /&gt;
{{ambox|text=It is important to have a recent version of thonny and plug-ins to use it with MicroPython boards.}} &lt;br /&gt;
&lt;br /&gt;
[https://thonny.org/ Thonny website] contains the required instruction to install Thonny IDE.&lt;br /&gt;
&lt;br /&gt;
=== On Raspberry-Pi ===&lt;br /&gt;
Just open a terminal and execute the following command line:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will upgrade the operating system and install the latest version of Thonny IDE.&lt;br /&gt;
&lt;br /&gt;
=== On Linux ===&lt;br /&gt;
Python3 is available on almost every Linux operating system. So Thonny (which is written in Python) is installed with the {{fname|pip3}} ''Python Install Package'' software.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ pip3 install thonny&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Windows &amp;amp; Mac ===&lt;br /&gt;
Refer to the official [https://thonny.org/ Thonny.org] documentation.&lt;br /&gt;
&lt;br /&gt;
== Working with Thonny ==&lt;br /&gt;
&lt;br /&gt;
The Thonny environment look very sober at first sight.&lt;br /&gt;
&lt;br /&gt;
Don't be fooled by this simplicity, Thonny do have everything you need under the hood.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-00.png|480px]]&lt;br /&gt;
&lt;br /&gt;
From top to bottom:&lt;br /&gt;
* The Menubar, &lt;br /&gt;
* The Toolbar (with icones), &lt;br /&gt;
* Text/code editor is the main part&lt;br /&gt;
* A Shell interface (at the bottom) used to quickly test Python code.&lt;br /&gt;
&lt;br /&gt;
=== Connect your PymateIO ===&lt;br /&gt;
&lt;br /&gt;
First think first: prior to establish a connection between Thonny IDE and the PymateIO board, the board must be connected to the computer. &lt;br /&gt;
&lt;br /&gt;
=== Thonny and MicroPython ===&lt;br /&gt;
&lt;br /&gt;
By default, Thonny use the computer's Python interpreter in the &amp;quot;Shell&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
So to work with a MicroPython board, the user must inform Thonny to use the appropriate shell.&lt;br /&gt;
&lt;br /&gt;
For instance the REPL shell exposed by the MicroPython microcontroler on its serial interface.&lt;br /&gt;
&lt;br /&gt;
Just click and the &amp;quot;shell selection&amp;quot; popup at the bottom-right corner of the screen. In the popup menu selects the &amp;quot;MicroPython&amp;quot; entry attached to the MicroPython board. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-01.png|480px]]&lt;br /&gt;
&lt;br /&gt;
Once the entry selected, Thonny does establish a connection with the MicroPython command line interpreter (REPL) running on the MicroPython board.&lt;br /&gt;
&lt;br /&gt;
If the connection fails then you can press the &amp;quot;stop&amp;quot; button on the toolbar to make a new connection attempt.&lt;br /&gt;
&lt;br /&gt;
The image here below MicroPython shell (REPL, as it is executed on the microcontroler). This would work the same for any of the RP2040 based microcontroler (like the MicroMod-RP2040, PYBStick RP2040, etc).  &lt;br /&gt;
   &lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-02.png|480px]]&lt;br /&gt;
&lt;br /&gt;
=== LED Blinking ===&lt;br /&gt;
Now that we have selected the MicroPython REPL as interactive shell, can use it to control the Pico onboard LED.&lt;br /&gt;
&lt;br /&gt;
The Pico onboard LED is attached to the pin GP25. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-03.png|640px]]&lt;br /&gt;
&lt;br /&gt;
It can be controled with few lines of codes, just key-in them directly in the REPL session&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from machine import Pin&lt;br /&gt;
led = Pin(25, Pin.OUT)&lt;br /&gt;
led.value(1) # allume la LED&lt;br /&gt;
led.value(0) # éteint la LED&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following screen capture just show the results of entering the command lines. &lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-04.png|480px]]&lt;br /&gt;
&lt;br /&gt;
by entering {{fname|led.value()}} without parameter, you can query the current pin state (1 for High level, 0 for Low level).&lt;br /&gt;
&lt;br /&gt;
=== Run &amp;amp; Stop a file ===&lt;br /&gt;
With Thonny you can also write Python code inside a file and execute it at once on the target MicroPython board.&lt;br /&gt;
&lt;br /&gt;
In the following example, the status LED (GP25) is pulsed by controling the output pin with PWM signal.&lt;br /&gt;
&lt;br /&gt;
PWM stand for ''Pulse Width Modulation'', see this [https://www.electronicwings.com/pic/pic18f4550-pwm animation on ElectronicWings clearly show a PWM signal with its duty cycle and results on a LED].&lt;br /&gt;
&lt;br /&gt;
Under MicroPython, the duty cycle is set with {{fname|duty_16( value )}} where value is a number from 0 to 65534 (for duty cycle from 0 to 100% .&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Key-in the following code into the main's Thonny section (the code editor):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
led = PWM( Pin(25 ))&lt;br /&gt;
counter = 0&lt;br /&gt;
while True:&lt;br /&gt;
    print( counter )&lt;br /&gt;
    counter += 1&lt;br /&gt;
    for i in range( 0, 100, 5 ):&lt;br /&gt;
        led.duty_u16( int(65534*i/100) )&lt;br /&gt;
        time.sleep_ms( 50 )&lt;br /&gt;
    for i in range( 0, 100, 5 ):&lt;br /&gt;
        led.duty_u16( int(65534*(100-i)/100) )&lt;br /&gt;
        time.sleep_ms( 50 )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then save the file under the name &amp;quot;demo.py&amp;quot; either on the computer, either on the microcontroler board.&lt;br /&gt;
&lt;br /&gt;
No matter where it is saved (computer or microcontroler), it can be executed against the microcontroler and shows the results into the REPL/shell session.&lt;br /&gt;
&lt;br /&gt;
To execute the script, you can either:&lt;br /&gt;
* Press the &amp;quot;Start&amp;quot; button [[Fichier:ENG-CANSAT-PICO-THONNY-05.png]] of the toolbar&lt;br /&gt;
* Select the menu &amp;quot;'''Run | Run current script'''&amp;quot;&lt;br /&gt;
* Press the &amp;quot;F5&amp;quot; key&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-06.png|480px]]&lt;br /&gt;
&lt;br /&gt;
The script execution will displays the {{fname|print()}} messages into the Shell section of Thonny.&lt;br /&gt;
&lt;br /&gt;
As you may guess, the onboard status LED is also pulsing.&lt;br /&gt;
&lt;br /&gt;
To stop the script (since it run infinitly),  you can either:&lt;br /&gt;
* press the &amp;quot;Stop&amp;quot; button on the toolbar&lt;br /&gt;
* Press the &amp;quot;Ctrl+C&amp;quot; combination into the shell section&lt;br /&gt;
&lt;br /&gt;
=== Use the plotter ===&lt;br /&gt;
The plotter is a graphical tool displaying script outputs generated with {{fname|print()}} as graphics.&lt;br /&gt;
&lt;br /&gt;
The graphics is updated each time a new information appears in the output.&lt;br /&gt;
&lt;br /&gt;
The Plotter can be activated with the &amp;quot;'''View |  Plotter'''&amp;quot; menu.&lt;br /&gt;
&lt;br /&gt;
That action displays a graphical tool aside the shell section.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-10.png|480px]]&lt;br /&gt;
&lt;br /&gt;
The Plotter catch the numeric values sends/print in the REPL/Shell and displays it in the chart. &lt;br /&gt;
&lt;br /&gt;
Only lines containing numeric values are used by the plotter.&lt;br /&gt;
&lt;br /&gt;
On the following example, named {{fname|demo2.py}}, we do use the gamma function to make the LED pulsing in a more natural way. Indeed, a progressive PWM signal increase would not offers a proportional luminosity increase on the LED (voir livre [https://www.editions-eni.fr/livre/micropython-et-pyboard-python-sur-microcontroleur-de-la-prise-en-main-a-l-utilisation-avancee-9782409022906 MicroPython et Pyboard, Edition ENI], in French).&lt;br /&gt;
&lt;br /&gt;
We do use the {{fname|gamma()}} function to rectify the apparent proportionality between the PWM and emitted light.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from machine import Pin, PWM&lt;br /&gt;
import time&lt;br /&gt;
led = PWM( Pin(25 ))&lt;br /&gt;
&lt;br /&gt;
def gamma( pc ):&lt;br /&gt;
    return pow(pc/100,2.2)*100&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
    for i in range( 0, 100, 5 ):&lt;br /&gt;
        pwm_val = int(gamma(i)*65534/100)&lt;br /&gt;
        led.duty_u16( pwm_val )&lt;br /&gt;
        print( pwm_val )&lt;br /&gt;
        time.sleep_ms( 20 )&lt;br /&gt;
    for i in range( 0, 100, 5 ):&lt;br /&gt;
        pwm_val = int(gamma(100-i)*65534/100)&lt;br /&gt;
        led.duty_u16( pwm_val )&lt;br /&gt;
        print( pwm_val )&lt;br /&gt;
        time.sleep_ms( 20 )&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which produce the following results in Thonny and activated Plotter.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-11.png|480px]]&lt;br /&gt;
&lt;br /&gt;
'''{{underline|Drawing several curves}}'''&lt;br /&gt;
&lt;br /&gt;
By modifying the script, we can return the PWM value and the gamma corrected value by using a [https://www.w3schools.com/python/python_tuples.asp Python tuple]. Then the plotter will draw several curves.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from machine import Pin, PWM&lt;br /&gt;
import time&lt;br /&gt;
led = PWM( Pin(25 ))&lt;br /&gt;
&lt;br /&gt;
def gamma( pc ):&lt;br /&gt;
    return pow(pc/100,2.2)*100&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
    for i in range( 0, 100, 5 ):&lt;br /&gt;
        pwm       = int( i*65534/100 )&lt;br /&gt;
        pwm_gamma = int(gamma(i)*65534/100)&lt;br /&gt;
        led.duty_u16( pwm_gamma )&lt;br /&gt;
        print( (pwm, pwm_gamma) )&lt;br /&gt;
        time.sleep_ms( 20 )&lt;br /&gt;
    for i in range( 0, 100, 5 ):&lt;br /&gt;
        pwm       = int((100-i)*65534/100)&lt;br /&gt;
        pwm_gamma = int(gamma(100-i)*65534/100)&lt;br /&gt;
        led.duty_u16( pwm_gamma )&lt;br /&gt;
        print( (pwm, pwm_gamma) )&lt;br /&gt;
        time.sleep_ms( 20 )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which produce the following results in Thonny.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-12.png|480px]]&lt;br /&gt;
&lt;br /&gt;
As seen in the REPL/Shell output, the data are return under the format (pwm, pwm_gamma) . The first value is the proportional curve and the second value the gamma fixed value. &lt;br /&gt;
&lt;br /&gt;
The plotter does show the curve correspondence between tuple value position and drawed curve (see to bottom right corner).&lt;br /&gt;
&lt;br /&gt;
== System Shell - Pure REPL ==&lt;br /&gt;
It is also possible to start a Pure REPL session inside an external terminal. By using a external terminal, the user escape from the Thonny shell panel and being directly connected to the microcontroler via an USB serial connection.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;'''Tools | Open System Shell..'''&amp;quot; menu will open the terminal Window.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-20.png|640px]]&lt;br /&gt;
&lt;br /&gt;
{{underline|Notes:}}&lt;br /&gt;
* Thonny must be connected to the target plateform to be able to open the External Terminal. &lt;br /&gt;
* The file manager can helps to check, whether or not, when Thonny is connected to the MicroPython board.&lt;br /&gt;
* It is not possible to open two terminal session (at the same time) to the MicroPython microcontroler.&lt;br /&gt;
&lt;br /&gt;
== File manager ==&lt;br /&gt;
&lt;br /&gt;
It is common to copy library/libraries on the board.&lt;br /&gt;
&lt;br /&gt;
This will requires to '''transfer one (or several) files to the MicroPython board'''.&lt;br /&gt;
&lt;br /&gt;
Such '''libraries''' are usually python scripts (eg: ce [https://raw.githubusercontent.com/mchobby/esp8266-upy/master/bme280-bmp280/bme280.py bme280.py file]) coded for target sensors (eg: [https://github.com/mchobby/esp8266-upy/tree/master/bme280-bmp280 BME280 atmospheric &amp;amp; temperature I2C sensor]).&lt;br /&gt;
&lt;br /&gt;
Thank to Thonny you also have a dedicated &amp;quot;file manager&amp;quot; tool used to transfert files between the computer and the MicroPython board.&lt;br /&gt;
&lt;br /&gt;
The file manager is available via the &amp;quot;'''View | Files'''&amp;quot; menu.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-30.png|480px]]&lt;br /&gt;
&lt;br /&gt;
Which would display the Thonny file manager.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-31.png|480px]]&lt;br /&gt;
&lt;br /&gt;
To transfer a file from the computer to the MicroPython board, you will need to :&lt;br /&gt;
* Select the file into the &amp;quot;Computer&amp;quot; pane&lt;br /&gt;
* Activate the contextual menu (mouse right click)&lt;br /&gt;
* Select the option &amp;quot;Upload to&amp;quot; in the menu&lt;br /&gt;
&lt;br /&gt;
{{ambox|text=The &amp;quot;/&amp;quot; drawed into the menu match the root folder on the target (the microcontroler in this case).}}&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PICO-THONNY-32.png|480px]]&lt;br /&gt;
&lt;br /&gt;
It would be easy to identify the features and behavior of the file manager by exploring and testing the various entries in the contextual menu. Please note that contectual menu are different in the board pane and computer pane.&lt;br /&gt;
&lt;br /&gt;
{{ENG-CANSAT-PICO-TRAILER}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=ENG-CANSAT-PICO-BELGIUM&amp;diff=34522</id>
		<title>ENG-CANSAT-PICO-BELGIUM</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=ENG-CANSAT-PICO-BELGIUM&amp;diff=34522"/>
		<updated>2026-04-25T20:50:33Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Getting Started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- {{ENG-CANSAT-PICO-NAV}} --&amp;gt;&lt;br /&gt;
[[File:ENG-CANSAT-PYTHON.png|thumb|200px]] [[File:ENG-CANSAT-PICO-CONTENT-10.jpg|thumb|200px]]&lt;br /&gt;
{{infobox tuto&lt;br /&gt;
   | image = ENG-CANSAT-PICO-CONTENT-10.jpg&lt;br /&gt;
   | title = CanSat Pico Guide&lt;br /&gt;
   | subtitle = A comprehensive technical guide to assemble, use and get the best of MicroPython on the Raspberry-Pi Pico for CanSat launch.&lt;br /&gt;
   | version = 0.3&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Cansat in Python ==&lt;br /&gt;
Thank to [http://micropython.org/ MicroPython], you can program your CanSat with Python.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ENG-CANSAT-PYTHON-PICO.jpg|480px]]&lt;br /&gt;
&lt;br /&gt;
Other solution [[ENG-CANSAT-BELGIUM|CanSat Arduino with Feather M0]]&lt;br /&gt;
&lt;br /&gt;
== What is CanSat? ==&lt;br /&gt;
CanSat Contest simulates the fly of miniaturized satellites named CanSat (Can Satellite).      &lt;br /&gt;
&lt;br /&gt;
The CanSat is an autonomous devices enclosed within the volume of a soda can.&lt;br /&gt;
&lt;br /&gt;
The volume of a CanSat has the following characteristics: 66mm diameter, 115mm height for a mass of 350gr.&lt;br /&gt;
&lt;br /&gt;
As the CanSat have small volume and are very affordable, the CanSat contest is great for learning more about space technologies.&lt;br /&gt;
&lt;br /&gt;
The CanSats are deployed from a rocket (the launch vehicle) at a height of about 3000m depending on the competition (see all the details in the contest rules).&lt;br /&gt;
&lt;br /&gt;
The CanSats are not orbited and are always deployed in the athmosphere. So they always comes back to the earth.&lt;br /&gt;
&lt;br /&gt;
The CanSat volume cannot increase until the CanSat is deployed out of the rocket. &lt;br /&gt;
&lt;br /&gt;
This means that external antenna is allowed only after the CanSat left the rocket. &lt;br /&gt;
&lt;br /&gt;
A parachute (that increase the volume of the CanSat) is usually used to limit damages. The aim is to reuse the CanSat for several missions.&lt;br /&gt;
&lt;br /&gt;
In Europe, the CanSat contest includes two missions:&lt;br /&gt;
* Mission 1: mesure pressure and temperature and transmit data in real time.&lt;br /&gt;
* Mission 2: free choice mission (using Intertial Measurement Unit, GPS, MPX differential pressure sensor, etc).&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Hardware discovery&lt;br /&gt;
  |descr=Discover the various items included within the V2 kit.&lt;br /&gt;
  |img=tlogo-CANSAT-V2-content.jpg&lt;br /&gt;
  |link=ENG-CANSAT-V2-CONTENT&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Kit Assembling&lt;br /&gt;
  |descr=Assembling the Pico Cansat Kit is more easier than ever.&lt;br /&gt;
  |img=tlogo-CANSAT-Pico-Assembly.jpg&lt;br /&gt;
  |link=ENG-CANSAT-V2-ASSEMBLY&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Base Pinout&lt;br /&gt;
  |descr=Discover the operation and pinout of the Cansat V2 Kit&lt;br /&gt;
  |img=tlogo-CANSAT-C2-Pinout.jpg&lt;br /&gt;
  |link=ENG-CANSAT-V2-PINOUT&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Thonny IDE&lt;br /&gt;
  |descr=Prepare your Python IDE environment&lt;br /&gt;
  |img=tlogo-CANSAT-Pico-IDE.jpg&lt;br /&gt;
  |link=ENG-CANSAT-PICO-THONNY&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico User Guide&lt;br /&gt;
  |descr=The &amp;lt;strong&amp;gt;Raspberry-Pi Pico&amp;lt;/strong&amp;gt; user guide.&lt;br /&gt;
  |img=tlogo-Pico.jpg&lt;br /&gt;
  |link=ENG-CANSAT-PICO-USER-GUIDE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MicroPython HowTo&lt;br /&gt;
  |descr=Tips and tricks to write Python code for on MicroControler.&lt;br /&gt;
  |img=tlogo-micropython-howto.png&lt;br /&gt;
  |link=ENG-CANSAT-PICO-HowTo&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Data Logging&lt;br /&gt;
  |descr=How to log data into a file (on MicroControler)&lt;br /&gt;
  |img=tlogo-pico-data-logging.png&lt;br /&gt;
  |link=ENG-CANSAT-PICO-LOG&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Schematics&lt;br /&gt;
  |descr=Need to have a look on the board schematics?&lt;br /&gt;
  |img=tlogo-pico-schema.jpg&lt;br /&gt;
  |link=ENG-CANSAT-V2-SCHEMA&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Dimensions&lt;br /&gt;
  |descr=Technical size and dimensions for the cansat&lt;br /&gt;
  |img=tlogo-pico-size.png&lt;br /&gt;
  |link=ENG-CANSAT-V2-DIMENSION&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 15px 0; background: rgba(0,192,240,.3); display: block; padding: 15px 15px 15px 15px; -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px; border: 1px solid #CCC;&amp;quot; &amp;gt;The Raspberry-Pi PICO can also been use with '''Arduino IDE''' and '''C/C++ compiler'''. It's means that you can also write '''Arduino alike C code''' on  this microcontroler. This point is not covered in this tutorial series, we do MicroPython programming.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test the devices ==&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=BMP280 sensor&lt;br /&gt;
  |descr=Test the BMP280 pressure and elevation sensor.&lt;br /&gt;
  |img=tlogo-bmp280-stemmaQt.png&lt;br /&gt;
  |link=ENG-CANSAT-PICO-BMP280&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=TMP36 sensor&lt;br /&gt;
  |descr=Test the TMP36 analog temperature sensor&lt;br /&gt;
  |img=tlogo-micropython-tmp36.png&lt;br /&gt;
  |link=ENG-CANSAT-PICO-TMP36&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=RFM69HCW radio&lt;br /&gt;
  |descr=User guide for the &amp;lt;strong&amp;gt;RFM69HCW&amp;lt;/strong&amp;gt; radio module.&lt;br /&gt;
  |img=tlogo-CANSAT-RFM69HCW-user.png&lt;br /&gt;
  |link=ENG-CANSAT-PICO-RFM69HCW&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=RFM69HCW Testing&lt;br /&gt;
  |descr=Testing the communication with &amp;lt;strong&amp;gt;RFM69HCW&amp;lt;/strong&amp;gt; and sending data through the radio module.&lt;br /&gt;
  |img=tlogo-CANSAT-RFM69HCW.png&lt;br /&gt;
  |link=ENG-CANSAT-PICO-RFM69HCW-TEST&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=GPS Tracking&lt;br /&gt;
  |descr=Getting the position of the Cansat&lt;br /&gt;
  |img=tlogo-CANSAT-GPS.png&lt;br /&gt;
  |link=ENG-CANSAT-PICO-GPS&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
== Mission 1 ==&lt;br /&gt;
The team must build a CanSat and program it to accomplish the primary (mandatory) mission, as follows:&lt;br /&gt;
&lt;br /&gt;
After release and during descent, &lt;br /&gt;
* the CanSat shall measure several parameters,&lt;br /&gt;
* the data should be transmitted as telemetry information to the ground station.&lt;br /&gt;
* the telemetry should, at least, be send once every second.&lt;br /&gt;
&lt;br /&gt;
The following informations should be captured:&lt;br /&gt;
* Air temperature&lt;br /&gt;
* Air pressure&lt;br /&gt;
&lt;br /&gt;
It must be possible for the team to analyse the data obtained (for example, make a calculation of altitude) and display it in graphs (for example, altitude vs. time and temperature vs. altitude). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 15px 0; background: rgba(255,204,102,.3); display: block; padding: 15px 15px 15px 15px; -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px; border: 1px solid #ff9900;&amp;quot; &amp;gt;So, don't forget to also capture the time for each data collected. This information is as critical than pressure and temperature&amp;lt;/div&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Frequency Plan&lt;br /&gt;
  |descr=Be courteous, share the radio bandwidth.&lt;br /&gt;
  |img=tlogo-CANSAT-FREQENCY-PLAN.png&lt;br /&gt;
  |link=ENG-CANSAT-PICO-FREQUENCY-PLAN&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Mission 1: Emitter&lt;br /&gt;
  |descr=Wiring sensors, capturing datas and sending over radio.&lt;br /&gt;
  |img=tlogo-CANSAT-MISSION1.png&lt;br /&gt;
  |link=ENG-CANSAT-PICO-MISSION1-CAPTURE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Mission 1: Receiver&lt;br /&gt;
  |descr=Receiving the transmitted data.&lt;br /&gt;
  |img=tlogo-CANSAT-MISSION1-RECEIVER.png&lt;br /&gt;
  |link=ENG-CANSAT-PICO-MISSION1-RECEIVE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Mission 1: Going autonomous&lt;br /&gt;
  |descr=Receiving the transmitted data.&lt;br /&gt;
  |img=tlogo-CANSAT-MISSION1-RECEIVER-Lipo.png&lt;br /&gt;
  |link=ENG-CANSAT-PICO-MISSION1-AUTONOMOUS&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
== Ressources ==&lt;br /&gt;
 &lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=CanSat samples&lt;br /&gt;
  |descr=CanSat models and ideas&lt;br /&gt;
  |img=tlogo-CANSAT-BUILD.png&lt;br /&gt;
  |link=ENG-CANSAT-SAMPLE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Radio Antenna&lt;br /&gt;
  |descr=A well designed Antenna can increase the communication distance.&lt;br /&gt;
  |img=tlogo-CANSAT-antenna.png&lt;br /&gt;
  |link=ENG-CANSAT-PICO-ANTENNA&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Parachute&lt;br /&gt;
  |descr=Some reference to design the parachute &lt;br /&gt;
  |img=tlogo-CANSAT-parachute.png&lt;br /&gt;
  |link=ENG-CANSAT-PICO-PARACHUTE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Shopping&lt;br /&gt;
  |descr=Need to refill some parts?&lt;br /&gt;
  |img=tlogo-shopping.png&lt;br /&gt;
  |link=ENG-CANSAT-V2-PICO-SHOPPING&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
Optional: Adding a GPS module to transmit the CanSat position with the telemetry data would ease to positioning when back on the earth.&lt;br /&gt;
&lt;br /&gt;
Other ressources:&lt;br /&gt;
* [https://en.wikipedia.org/wiki/CanSat#_Europe CanSat Europe] on WikiPedia - Lot of informations&lt;br /&gt;
* [https://df.mchobby.be/wiki-export/Eng-Cansat-Pico/Eng-Cansat-Pico.pdf This wiki as PDF] (''pdf'')&lt;br /&gt;
* [https://df.mchobby.be/wiki-export/Eng-Cansat/pico-rp2040-presentation.pdf Raspberry-Pi Pico RP2040 Presentation] (''pdf'')&lt;br /&gt;
* [https://df.mchobby.be/wiki-export/Eng-Cansat/cansat-pico-kit-presentation-v4.pdf CanSat Kit Presentation v4 (Belgium)] (''pdf, nov 2024'')&lt;br /&gt;
* [https://df.mchobby.be/wiki-export/Eng-Cansat/cansat-pico-kit-presentation-v3.pdf CanSat Kit Presentation v3 (Belgium)] (''pdf, nov 2023'')&lt;br /&gt;
* [https://df.mchobby.be/wiki-export/Eng-Cansat/cansat-pico-kit-presentation.pdf CanSat Kit Presentation v1 (Belgium)] (''pdf'')&lt;br /&gt;
&lt;br /&gt;
== How to subscribe the contest? ==&lt;br /&gt;
&lt;br /&gt;
In Europe, the CanSat competition is promoted by the ESA ([https://en.wikipedia.org/wiki/CanSat#_Europe source]).&lt;br /&gt;
&lt;br /&gt;
* '''For Belgium''': the CanSat Belgium competition is promoted by '''InnovIris''' ([http://www.innoviris.be/fr/promotion/cansat-belgium CanSat Belgium NL], [http://www.innoviris.be/nl/promotie/cansat-belgium CanSat Belgium FR], [https://www.facebook.com/CanSat.Belgium?fref=ts CANSAT Belgium FaceBook] ).&amp;lt;small&amp;gt;&amp;lt;/br&amp;gt;Innoviris is the Brussels Institute for the encouragement of scientific research and innovation.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''For Luxembourg''': the CanSat Luxembourg competition is promoted by [https://www.cansat.lu '''Esero Luxembourg''' (www.cansat.lu)] .&lt;br /&gt;
&lt;br /&gt;
== About this Wiki ==&lt;br /&gt;
&lt;br /&gt;
MC Hobby does promote, mainly in French, the Arduino Open-Source plateform, MicroPython, Raspberry-Pi, coding, electronics to made knowledge freely available de the mass.&lt;br /&gt;
&lt;br /&gt;
This CanSat Belgium Wiki is one of the [https://shop.mchobby.be MC Hobby]  [https://wiki.mchobby.be documentation project].&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ARDX-Intro-MCHobby.jpg|480px]]&lt;br /&gt;
&lt;br /&gt;
{{ENG-CANSAT-PICO-TRAILER}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34521</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34521"/>
		<updated>2026-01-12T17:36:18Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Liste d'achat */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelque-uns de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
=== Capteur PIR-476 standard ===&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Capteur PIR-460 ===&lt;br /&gt;
&lt;br /&gt;
Ce capteur est généralement utilisé comme détecteur de passage (ex: au dessus d'une porte).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-15.jpg|360px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur ou passage couvert par des systèmes de sécurité. &lt;br /&gt;
&lt;br /&gt;
Il permet de détecter le passage (mode sécurité) ou la présence d'un individu à un endroit précis (mode card access).&lt;br /&gt;
&lt;br /&gt;
Bien qui soit  habituellement monté en hauteur et diriger vers le bas, rien n'empêche d'exploiter ce capteur dans d'autres configurations.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Détecteur de passage/Presence&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.1x1.5m (mode card access)&amp;lt;br /&amp;gt;6.6x4.5m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0° (configurable 10°)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&amp;lt;br /&amp;gt;Configurable 20 à 27V DC&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Micro-Relais (NC=Normalement Fermé), 28V DC max, 150mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Triangle base 120mm x hauteur 100mm (épaisseur 40mm).&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-16.jpg|480px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Relais''': Commun&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Relais''': Contact normalement fermé&amp;lt;br /&amp;gt;Peut-être reconfiguré en Normalement Ouver..&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage.&amp;lt;br /&amp;gt;Ouvert si couvercle retiré&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
Le fonctionnement est identique pour les capteurs PIR-460, PIR-476 (les borniers presque identiques, cfr polarité de l'alimentation)&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (c'est donc une gestion par &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas d'identifier le capteur impliqué dans la détection.&lt;br /&gt;
&lt;br /&gt;
J'ai d'abord pensé qu'une utilisation intelligente de résistances en pont diviseur de tension pourrait permettre l'identification du capteur. &lt;br /&gt;
&lt;br /&gt;
Malheureusement, même avec 4 capteurs, il existe des cas il faut identifier une différence de 200mV. Ce qui n'est pas une situation fiable sur une installation filaire.&lt;br /&gt;
&lt;br /&gt;
=== Augmenter la tension ===&lt;br /&gt;
&lt;br /&gt;
Elever la tension du signal est une bonne façon de limiter l'impact des interférences sur ce même signal. &lt;br /&gt;
&lt;br /&gt;
Cependant, cela implique une interface électronique du côté du microcontrôleur afin de ne pas dépasser la tension maximale autorisée sur les entrées.&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessous, la tension d'alimentation des capteurs (9V) est également utilisée comme tension de signal. Un optocoupleur est utilisé côté microcontrôleur pour réduire le signal à 3.3V max.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
Dans le cas présent:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Ouvert&amp;quot; =&amp;gt; GP2 = LOW&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Fermé =&amp;gt; GP2 = HIGH&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30a.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30b.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
== Liste d'achat ==&lt;br /&gt;
* [https://shop.mchobby.be/product.php?id_product=2890 PIR-SENSOR-476 : capteur d'alarme PIR]&lt;br /&gt;
* [https://shop.mchobby.be/product.php?id_product=2892 PIR-SENSOR-460 : capteur d'alarme PIR]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34520</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34520"/>
		<updated>2026-01-12T17:36:00Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Capteur PIR-460 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelque-uns de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
=== Capteur PIR-476 standard ===&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Capteur PIR-460 ===&lt;br /&gt;
&lt;br /&gt;
Ce capteur est généralement utilisé comme détecteur de passage (ex: au dessus d'une porte).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-15.jpg|360px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur ou passage couvert par des systèmes de sécurité. &lt;br /&gt;
&lt;br /&gt;
Il permet de détecter le passage (mode sécurité) ou la présence d'un individu à un endroit précis (mode card access).&lt;br /&gt;
&lt;br /&gt;
Bien qui soit  habituellement monté en hauteur et diriger vers le bas, rien n'empêche d'exploiter ce capteur dans d'autres configurations.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Détecteur de passage/Presence&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.1x1.5m (mode card access)&amp;lt;br /&amp;gt;6.6x4.5m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0° (configurable 10°)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&amp;lt;br /&amp;gt;Configurable 20 à 27V DC&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Micro-Relais (NC=Normalement Fermé), 28V DC max, 150mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Triangle base 120mm x hauteur 100mm (épaisseur 40mm).&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-16.jpg|480px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Relais''': Commun&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Relais''': Contact normalement fermé&amp;lt;br /&amp;gt;Peut-être reconfiguré en Normalement Ouver..&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage.&amp;lt;br /&amp;gt;Ouvert si couvercle retiré&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
Le fonctionnement est identique pour les capteurs PIR-460, PIR-476 (les borniers presque identiques, cfr polarité de l'alimentation)&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (c'est donc une gestion par &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas d'identifier le capteur impliqué dans la détection.&lt;br /&gt;
&lt;br /&gt;
J'ai d'abord pensé qu'une utilisation intelligente de résistances en pont diviseur de tension pourrait permettre l'identification du capteur. &lt;br /&gt;
&lt;br /&gt;
Malheureusement, même avec 4 capteurs, il existe des cas il faut identifier une différence de 200mV. Ce qui n'est pas une situation fiable sur une installation filaire.&lt;br /&gt;
&lt;br /&gt;
=== Augmenter la tension ===&lt;br /&gt;
&lt;br /&gt;
Elever la tension du signal est une bonne façon de limiter l'impact des interférences sur ce même signal. &lt;br /&gt;
&lt;br /&gt;
Cependant, cela implique une interface électronique du côté du microcontrôleur afin de ne pas dépasser la tension maximale autorisée sur les entrées.&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessous, la tension d'alimentation des capteurs (9V) est également utilisée comme tension de signal. Un optocoupleur est utilisé côté microcontrôleur pour réduire le signal à 3.3V max.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
Dans le cas présent:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Ouvert&amp;quot; =&amp;gt; GP2 = LOW&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Fermé =&amp;gt; GP2 = HIGH&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30a.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30b.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
== Liste d'achat ==&lt;br /&gt;
* [https://shop.mchobby.be/product.php?id_product=2890 PIR-SENSOR-476 : capteur d'alarme PIR]&lt;br /&gt;
* [https://shop.mchobby.be/product.php?id_product=2891 PIR-SENSOR-460 : capteur d'alarme PIR]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34519</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34519"/>
		<updated>2026-01-12T17:35:44Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Capteur PIR-476 standard */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelque-uns de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
=== Capteur PIR-476 standard ===&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-460 ==&lt;br /&gt;
&lt;br /&gt;
Ce capteur est généralement utilisé comme détecteur de passage (ex: au dessus d'une porte).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-15.jpg|360px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur ou passage couvert par des systèmes de sécurité. &lt;br /&gt;
&lt;br /&gt;
Il permet de détecter le passage (mode sécurité) ou la présence d'un individu à un endroit précis (mode card access).&lt;br /&gt;
&lt;br /&gt;
Bien qui soit  habituellement monté en hauteur et diriger vers le bas, rien n'empêche d'exploiter ce capteur dans d'autres configurations.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Détecteur de passage/Presence&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.1x1.5m (mode card access)&amp;lt;br /&amp;gt;6.6x4.5m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0° (configurable 10°)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&amp;lt;br /&amp;gt;Configurable 20 à 27V DC&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Micro-Relais (NC=Normalement Fermé), 28V DC max, 150mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Triangle base 120mm x hauteur 100mm (épaisseur 40mm).&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-16.jpg|480px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Relais''': Commun&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Relais''': Contact normalement fermé&amp;lt;br /&amp;gt;Peut-être reconfiguré en Normalement Ouver..&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage.&amp;lt;br /&amp;gt;Ouvert si couvercle retiré&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
Le fonctionnement est identique pour les capteurs PIR-460, PIR-476 (les borniers presque identiques, cfr polarité de l'alimentation)&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (c'est donc une gestion par &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas d'identifier le capteur impliqué dans la détection.&lt;br /&gt;
&lt;br /&gt;
J'ai d'abord pensé qu'une utilisation intelligente de résistances en pont diviseur de tension pourrait permettre l'identification du capteur. &lt;br /&gt;
&lt;br /&gt;
Malheureusement, même avec 4 capteurs, il existe des cas il faut identifier une différence de 200mV. Ce qui n'est pas une situation fiable sur une installation filaire.&lt;br /&gt;
&lt;br /&gt;
=== Augmenter la tension ===&lt;br /&gt;
&lt;br /&gt;
Elever la tension du signal est une bonne façon de limiter l'impact des interférences sur ce même signal. &lt;br /&gt;
&lt;br /&gt;
Cependant, cela implique une interface électronique du côté du microcontrôleur afin de ne pas dépasser la tension maximale autorisée sur les entrées.&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessous, la tension d'alimentation des capteurs (9V) est également utilisée comme tension de signal. Un optocoupleur est utilisé côté microcontrôleur pour réduire le signal à 3.3V max.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
Dans le cas présent:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Ouvert&amp;quot; =&amp;gt; GP2 = LOW&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Fermé =&amp;gt; GP2 = HIGH&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30a.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30b.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
== Liste d'achat ==&lt;br /&gt;
* [https://shop.mchobby.be/product.php?id_product=2890 PIR-SENSOR-476 : capteur d'alarme PIR]&lt;br /&gt;
* [https://shop.mchobby.be/product.php?id_product=2891 PIR-SENSOR-460 : capteur d'alarme PIR]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34518</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34518"/>
		<updated>2026-01-12T17:35:32Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelque-uns de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-460 ==&lt;br /&gt;
&lt;br /&gt;
Ce capteur est généralement utilisé comme détecteur de passage (ex: au dessus d'une porte).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-15.jpg|360px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur ou passage couvert par des systèmes de sécurité. &lt;br /&gt;
&lt;br /&gt;
Il permet de détecter le passage (mode sécurité) ou la présence d'un individu à un endroit précis (mode card access).&lt;br /&gt;
&lt;br /&gt;
Bien qui soit  habituellement monté en hauteur et diriger vers le bas, rien n'empêche d'exploiter ce capteur dans d'autres configurations.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Détecteur de passage/Presence&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.1x1.5m (mode card access)&amp;lt;br /&amp;gt;6.6x4.5m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0° (configurable 10°)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&amp;lt;br /&amp;gt;Configurable 20 à 27V DC&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Micro-Relais (NC=Normalement Fermé), 28V DC max, 150mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Triangle base 120mm x hauteur 100mm (épaisseur 40mm).&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-16.jpg|480px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Relais''': Commun&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Relais''': Contact normalement fermé&amp;lt;br /&amp;gt;Peut-être reconfiguré en Normalement Ouver..&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage.&amp;lt;br /&amp;gt;Ouvert si couvercle retiré&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
Le fonctionnement est identique pour les capteurs PIR-460, PIR-476 (les borniers presque identiques, cfr polarité de l'alimentation)&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (c'est donc une gestion par &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas d'identifier le capteur impliqué dans la détection.&lt;br /&gt;
&lt;br /&gt;
J'ai d'abord pensé qu'une utilisation intelligente de résistances en pont diviseur de tension pourrait permettre l'identification du capteur. &lt;br /&gt;
&lt;br /&gt;
Malheureusement, même avec 4 capteurs, il existe des cas il faut identifier une différence de 200mV. Ce qui n'est pas une situation fiable sur une installation filaire.&lt;br /&gt;
&lt;br /&gt;
=== Augmenter la tension ===&lt;br /&gt;
&lt;br /&gt;
Elever la tension du signal est une bonne façon de limiter l'impact des interférences sur ce même signal. &lt;br /&gt;
&lt;br /&gt;
Cependant, cela implique une interface électronique du côté du microcontrôleur afin de ne pas dépasser la tension maximale autorisée sur les entrées.&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessous, la tension d'alimentation des capteurs (9V) est également utilisée comme tension de signal. Un optocoupleur est utilisé côté microcontrôleur pour réduire le signal à 3.3V max.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
Dans le cas présent:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Ouvert&amp;quot; =&amp;gt; GP2 = LOW&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Fermé =&amp;gt; GP2 = HIGH&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30a.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30b.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
== Liste d'achat ==&lt;br /&gt;
* [https://shop.mchobby.be/product.php?id_product=2890 PIR-SENSOR-476 : capteur d'alarme PIR]&lt;br /&gt;
* [https://shop.mchobby.be/product.php?id_product=2891 PIR-SENSOR-460 : capteur d'alarme PIR]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34517</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34517"/>
		<updated>2026-01-12T17:19:14Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Connexion sur MicroContrôleur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-460 ==&lt;br /&gt;
&lt;br /&gt;
Ce capteur est généralement utilisé comme détecteur de passage (ex: au dessus d'une porte).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-15.jpg|360px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur ou passage couvert par des systèmes de sécurité. &lt;br /&gt;
&lt;br /&gt;
Il permet de détecter le passage (mode sécurité) ou la présence d'un individu à un endroit précis (mode card access).&lt;br /&gt;
&lt;br /&gt;
Bien qui soit  habituellement monté en hauteur et diriger vers le bas, rien n'empêche d'exploiter ce capteur dans d'autres configurations.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Détecteur de passage/Presence&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.1x1.5m (mode card access)&amp;lt;br /&amp;gt;6.6x4.5m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0° (configurable 10°)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&amp;lt;br /&amp;gt;Configurable 20 à 27V DC&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Micro-Relais (NC=Normalement Fermé), 28V DC max, 150mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Triangle base 120mm x hauteur 100mm (épaisseur 40mm).&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-16.jpg|480px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Relais''': Commun&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Relais''': Contact normalement fermé&amp;lt;br /&amp;gt;Peut-être reconfiguré en Normalement Ouver..&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage.&amp;lt;br /&amp;gt;Ouvert si couvercle retiré&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
Le fonctionnement est identique pour les capteurs PIR-460, PIR-476 (les borniers presque identiques, cfr polarité de l'alimentation)&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (c'est donc une gestion par &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas d'identifier le capteur impliqué dans la détection.&lt;br /&gt;
&lt;br /&gt;
J'ai d'abord pensé qu'une utilisation intelligente de résistances en pont diviseur de tension pourrait permettre l'identification du capteur. &lt;br /&gt;
&lt;br /&gt;
Malheureusement, même avec 4 capteurs, il existe des cas il faut identifier une différence de 200mV. Ce qui n'est pas une situation fiable sur une installation filaire.&lt;br /&gt;
&lt;br /&gt;
=== Augmenter la tension ===&lt;br /&gt;
&lt;br /&gt;
Elever la tension du signal est une bonne façon de limiter l'impact des interférences sur ce même signal. &lt;br /&gt;
&lt;br /&gt;
Cependant, cela implique une interface électronique du côté du microcontrôleur afin de ne pas dépasser la tension maximale autorisée sur les entrées.&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessous, la tension d'alimentation des capteurs (9V) est également utilisée comme tension de signal. Un optocoupleur est utilisé côté microcontrôleur pour réduire le signal à 3.3V max.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
Dans le cas présent:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Ouvert&amp;quot; =&amp;gt; GP2 = LOW&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Fermé =&amp;gt; GP2 = HIGH&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30a.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30b.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
== Liste d'achat ==&lt;br /&gt;
* [https://shop.mchobby.be/product.php?id_product=2890 PIR-SENSOR-476 : capteur d'alarme PIR]&lt;br /&gt;
* [https://shop.mchobby.be/product.php?id_product=2891 PIR-SENSOR-460 : capteur d'alarme PIR]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34516</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34516"/>
		<updated>2026-01-12T17:14:46Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Liste d'achat */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-460 ==&lt;br /&gt;
&lt;br /&gt;
Ce capteur est généralement utilisé comme détecteur de passage (ex: au dessus d'une porte).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-15.jpg|360px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur ou passage couvert par des systèmes de sécurité. &lt;br /&gt;
&lt;br /&gt;
Il permet de détecter le passage (mode sécurité) ou la présence d'un individu à un endroit précis (mode card access).&lt;br /&gt;
&lt;br /&gt;
Bien qui soit  habituellement monté en hauteur et diriger vers le bas, rien n'empêche d'exploiter ce capteur dans d'autres configurations.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Détecteur de passage/Presence&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.1x1.5m (mode card access)&amp;lt;br /&amp;gt;6.6x4.5m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0° (configurable 10°)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&amp;lt;br /&amp;gt;Configurable 20 à 27V DC&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Micro-Relais (NC=Normalement Fermé), 28V DC max, 150mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Triangle base 120mm x hauteur 100mm (épaisseur 40mm).&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-16.jpg|480px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Relais''': Commun&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Relais''': Contact normalement fermé&amp;lt;br /&amp;gt;Peut-être reconfiguré en Normalement Ouver..&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage.&amp;lt;br /&amp;gt;Ouvert si couvercle retiré&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
Le fonctionnement est identique pour les capteurs PIR-460, PIR-476 (les borniers sont identiques)&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (c'est donc une gestion par &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas d'identifier le capteur impliqué dans la détection.&lt;br /&gt;
&lt;br /&gt;
J'ai d'abord pensé qu'une utilisation intelligente de résistances en pont diviseur de tension pourrait permettre l'identification du capteur. &lt;br /&gt;
&lt;br /&gt;
Malheureusement, même avec 4 capteurs, il existe des cas il faut identifier une différence de 200mV. Ce qui n'est pas une situation fiable sur une installation filaire.&lt;br /&gt;
&lt;br /&gt;
=== Augmenter la tension ===&lt;br /&gt;
&lt;br /&gt;
Elever la tension du signal est une bonne façon de limiter l'impact des interférences sur ce même signal. &lt;br /&gt;
&lt;br /&gt;
Cependant, cela implique une interface électronique du côté du microcontrôleur afin de ne pas dépasser la tension maximale autorisée sur les entrées.&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessous, la tension d'alimentation des capteurs (9V) est également utilisée comme tension de signal. Un optocoupleur est utilisé côté microcontrôleur pour réduire le signal à 3.3V max.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
Dans le cas présent:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Ouvert&amp;quot; =&amp;gt; GP2 = LOW&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Fermé =&amp;gt; GP2 = HIGH&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30a.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30b.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
== Liste d'achat ==&lt;br /&gt;
* [https://shop.mchobby.be/product.php?id_product=2890 PIR-SENSOR-476 : capteur d'alarme PIR]&lt;br /&gt;
* [https://shop.mchobby.be/product.php?id_product=2891 PIR-SENSOR-460 : capteur d'alarme PIR]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34515</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34515"/>
		<updated>2026-01-12T17:14:10Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Connexion sur MicroContrôleur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-460 ==&lt;br /&gt;
&lt;br /&gt;
Ce capteur est généralement utilisé comme détecteur de passage (ex: au dessus d'une porte).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-15.jpg|360px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur ou passage couvert par des systèmes de sécurité. &lt;br /&gt;
&lt;br /&gt;
Il permet de détecter le passage (mode sécurité) ou la présence d'un individu à un endroit précis (mode card access).&lt;br /&gt;
&lt;br /&gt;
Bien qui soit  habituellement monté en hauteur et diriger vers le bas, rien n'empêche d'exploiter ce capteur dans d'autres configurations.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Détecteur de passage/Presence&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.1x1.5m (mode card access)&amp;lt;br /&amp;gt;6.6x4.5m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0° (configurable 10°)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&amp;lt;br /&amp;gt;Configurable 20 à 27V DC&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Micro-Relais (NC=Normalement Fermé), 28V DC max, 150mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Triangle base 120mm x hauteur 100mm (épaisseur 40mm).&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-16.jpg|480px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Relais''': Commun&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Relais''': Contact normalement fermé&amp;lt;br /&amp;gt;Peut-être reconfiguré en Normalement Ouver..&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage.&amp;lt;br /&amp;gt;Ouvert si couvercle retiré&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
Le fonctionnement est identique pour les capteurs PIR-460, PIR-476 (les borniers sont identiques)&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (c'est donc une gestion par &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas d'identifier le capteur impliqué dans la détection.&lt;br /&gt;
&lt;br /&gt;
J'ai d'abord pensé qu'une utilisation intelligente de résistances en pont diviseur de tension pourrait permettre l'identification du capteur. &lt;br /&gt;
&lt;br /&gt;
Malheureusement, même avec 4 capteurs, il existe des cas il faut identifier une différence de 200mV. Ce qui n'est pas une situation fiable sur une installation filaire.&lt;br /&gt;
&lt;br /&gt;
=== Augmenter la tension ===&lt;br /&gt;
&lt;br /&gt;
Elever la tension du signal est une bonne façon de limiter l'impact des interférences sur ce même signal. &lt;br /&gt;
&lt;br /&gt;
Cependant, cela implique une interface électronique du côté du microcontrôleur afin de ne pas dépasser la tension maximale autorisée sur les entrées.&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessous, la tension d'alimentation des capteurs (9V) est également utilisée comme tension de signal. Un optocoupleur est utilisé côté microcontrôleur pour réduire le signal à 3.3V max.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
Dans le cas présent:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Ouvert&amp;quot; =&amp;gt; GP2 = LOW&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Fermé =&amp;gt; GP2 = HIGH&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30a.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30b.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
== Liste d'achat ==&lt;br /&gt;
* [https://shop.mchobby.be/product.php?id_product=2890 PIR-SENSOR-476 : capteur d'alarme PIR]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34514</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34514"/>
		<updated>2026-01-12T17:11:41Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Connexion sur MicroContrôleur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-460 ==&lt;br /&gt;
&lt;br /&gt;
Ce capteur est généralement utilisé comme détecteur de passage (ex: au dessus d'une porte).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-15.jpg|360px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur ou passage couvert par des systèmes de sécurité. &lt;br /&gt;
&lt;br /&gt;
Il permet de détecter le passage (mode sécurité) ou la présence d'un individu à un endroit précis (mode card access).&lt;br /&gt;
&lt;br /&gt;
Bien qui soit  habituellement monté en hauteur et diriger vers le bas, rien n'empêche d'exploiter ce capteur dans d'autres configurations.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Détecteur de passage/Presence&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.1x1.5m (mode card access)&amp;lt;br /&amp;gt;6.6x4.5m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0° (configurable 10°)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&amp;lt;br /&amp;gt;Configurable 20 à 27V DC&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Micro-Relais (NC=Normalement Fermé), 28V DC max, 150mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Triangle base 120mm x hauteur 100mm (épaisseur 40mm).&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-16.jpg|480px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Relais''': Commun&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Relais''': Contact normalement fermé&amp;lt;br /&amp;gt;Peut-être reconfiguré en Normalement Ouver..&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage.&amp;lt;br /&amp;gt;Ouvert si couvercle retiré&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
Le fonctionnement est identique pour les capteurs PIR-460, PIR-476.&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (c'est donc une gestion par &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas d'identifier le capteur impliqué dans la détection.&lt;br /&gt;
&lt;br /&gt;
J'ai d'abord pensé qu'une utilisation intelligente de résistances en pont diviseur de tension pourrait permettre l'identification du capteur. &lt;br /&gt;
&lt;br /&gt;
Malheureusement, même avec 4 capteurs, il existe des cas il faut identifier une différence de 200mV. Ce qui n'est pas une situation fiable sur une installation filaire.&lt;br /&gt;
&lt;br /&gt;
=== Augmenter la tension ===&lt;br /&gt;
&lt;br /&gt;
Elever la tension du signal est une bonne façon de limiter l'impact des interférences sur ce même signal. &lt;br /&gt;
&lt;br /&gt;
Cependant, cela implique une interface électronique du côté du microcontrôleur afin de ne pas dépasser la tension maximale autorisée sur les entrées.&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessous, la tension d'alimentation des capteurs (9V) est également utilisée comme tension de signal. Un optocoupleur est utilisé côté microcontrôleur pour réduire le signal à 3.3V max.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
Dans le cas présent:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Ouvert&amp;quot; =&amp;gt; GP2 = LOW&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Fermé =&amp;gt; GP2 = HIGH&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30a.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30b.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
== Liste d'achat ==&lt;br /&gt;
* [https://shop.mchobby.be/product.php?id_product=2890 PIR-SENSOR-476 : capteur d'alarme PIR]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34513</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34513"/>
		<updated>2026-01-12T17:07:49Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Capteur PIR-460 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-460 ==&lt;br /&gt;
&lt;br /&gt;
Ce capteur est généralement utilisé comme détecteur de passage (ex: au dessus d'une porte).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-15.jpg|360px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur ou passage couvert par des systèmes de sécurité. &lt;br /&gt;
&lt;br /&gt;
Il permet de détecter le passage (mode sécurité) ou la présence d'un individu à un endroit précis (mode card access).&lt;br /&gt;
&lt;br /&gt;
Bien qui soit  habituellement monté en hauteur et diriger vers le bas, rien n'empêche d'exploiter ce capteur dans d'autres configurations.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Détecteur de passage/Presence&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.1x1.5m (mode card access)&amp;lt;br /&amp;gt;6.6x4.5m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0° (configurable 10°)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&amp;lt;br /&amp;gt;Configurable 20 à 27V DC&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Micro-Relais (NC=Normalement Fermé), 28V DC max, 150mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Triangle base 120mm x hauteur 100mm (épaisseur 40mm).&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-16.jpg|480px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Relais''': Commun&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Relais''': Contact normalement fermé&amp;lt;br /&amp;gt;Peut-être reconfiguré en Normalement Ouver..&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage.&amp;lt;br /&amp;gt;Ouvert si couvercle retiré&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (c'est donc une gestion par &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas d'identifier le capteur impliqué dans la détection.&lt;br /&gt;
&lt;br /&gt;
J'ai d'abord pensé qu'une utilisation intelligente de résistances en pont diviseur de tension pourrait permettre l'identification du capteur. &lt;br /&gt;
&lt;br /&gt;
Malheureusement, même avec 4 capteurs, il existe des cas il faut identifier une différence de 200mV. Ce qui n'est pas une situation fiable sur une installation filaire.&lt;br /&gt;
&lt;br /&gt;
=== Augmenter la tension ===&lt;br /&gt;
&lt;br /&gt;
Elever la tension du signal est une bonne façon de limiter l'impact des interférences sur ce même signal. &lt;br /&gt;
&lt;br /&gt;
Cependant, cela implique une interface électronique du côté du microcontrôleur afin de ne pas dépasser la tension maximale autorisée sur les entrées.&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessous, la tension d'alimentation des capteurs (9V) est également utilisée comme tension de signal. Un optocoupleur est utilisé côté microcontrôleur pour réduire le signal à 3.3V max.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
Dans le cas présent:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Ouvert&amp;quot; =&amp;gt; GP2 = LOW&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Fermé =&amp;gt; GP2 = HIGH&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30a.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30b.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
== Liste d'achat ==&lt;br /&gt;
* [https://shop.mchobby.be/product.php?id_product=2890 PIR-SENSOR-476 : capteur d'alarme PIR]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Fichier:Micropython-PIR-alarm-16.jpg&amp;diff=34512</id>
		<title>Fichier:Micropython-PIR-alarm-16.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Fichier:Micropython-PIR-alarm-16.jpg&amp;diff=34512"/>
		<updated>2026-01-12T17:01:14Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34511</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34511"/>
		<updated>2026-01-12T17:00:53Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Capteur PIR-460 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-460 ==&lt;br /&gt;
&lt;br /&gt;
Ce capteur est généralement utilisé comme détecteur de passage (ex: au dessus d'une porte).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-15.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur ou passage couvert par des systèmes de sécurité. &lt;br /&gt;
&lt;br /&gt;
Il permet de détecter le passage (mode sécurité) ou la présence d'un individu à un endroit précis (mode card access).&lt;br /&gt;
&lt;br /&gt;
Bien qui soit  habituellement monté en hauteur et diriger vers le bas, rien n'empêche d'exploiter ce capteur dans d'autres configurations.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Détecteur de passage/Presence&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.1x1.5m (mode card access)&amp;lt;br /&amp;gt;6.6x4.5m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0° (configurable 10°)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&amp;lt;br /&amp;gt;Configurable 20 à 27V DC&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Micro-Relais (NC=Normalement Fermé), 28V DC max, 150mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Triangle base 120mm x hauteur 100mm (épaisseur 40mm).&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-16.jpg|480px]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Relais''': Commun&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Relais''': Contact normalement fermé&amp;lt;br /&amp;gt;Peut-être reconfiguré en Normalement Ouver..&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage.&amp;lt;br /&amp;gt;Ouvert si couvercle retiré&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (c'est donc une gestion par &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas d'identifier le capteur impliqué dans la détection.&lt;br /&gt;
&lt;br /&gt;
J'ai d'abord pensé qu'une utilisation intelligente de résistances en pont diviseur de tension pourrait permettre l'identification du capteur. &lt;br /&gt;
&lt;br /&gt;
Malheureusement, même avec 4 capteurs, il existe des cas il faut identifier une différence de 200mV. Ce qui n'est pas une situation fiable sur une installation filaire.&lt;br /&gt;
&lt;br /&gt;
=== Augmenter la tension ===&lt;br /&gt;
&lt;br /&gt;
Elever la tension du signal est une bonne façon de limiter l'impact des interférences sur ce même signal. &lt;br /&gt;
&lt;br /&gt;
Cependant, cela implique une interface électronique du côté du microcontrôleur afin de ne pas dépasser la tension maximale autorisée sur les entrées.&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessous, la tension d'alimentation des capteurs (9V) est également utilisée comme tension de signal. Un optocoupleur est utilisé côté microcontrôleur pour réduire le signal à 3.3V max.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
Dans le cas présent:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Ouvert&amp;quot; =&amp;gt; GP2 = LOW&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Fermé =&amp;gt; GP2 = HIGH&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30a.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30b.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
== Liste d'achat ==&lt;br /&gt;
* [https://shop.mchobby.be/product.php?id_product=2890 PIR-SENSOR-476 : capteur d'alarme PIR]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Fichier:Micropython-PIR-alarm-15.jpg&amp;diff=34510</id>
		<title>Fichier:Micropython-PIR-alarm-15.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Fichier:Micropython-PIR-alarm-15.jpg&amp;diff=34510"/>
		<updated>2026-01-12T16:59:04Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34509</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34509"/>
		<updated>2026-01-12T16:57:54Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Capteur PIR-460 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-460 ==&lt;br /&gt;
&lt;br /&gt;
Ce capteur est généralement utilisé comme détecteur de passage (ex: au dessus d'une porte).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-15.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur ou passage couvert par des systèmes de sécurité. &lt;br /&gt;
&lt;br /&gt;
Il permet de détecter le passage (mode sécurité) ou la présence d'un individu à un endroit précis (mode card access).&lt;br /&gt;
&lt;br /&gt;
Bien qui soit  habituellement monté en hauteur et diriger vers le bas, rien n'empêche d'exploiter ce capteur dans d'autres configurations.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Détecteur de passage/Presence&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.1x1.5m (mode card access)&amp;lt;br /&amp;gt;6.6x4.5m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0° (configurable 10°)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&amp;lt;br /&amp;gt;Configurable 20 à 27V DC&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Micro-Relais (NC=Normalement Fermé), 28V DC max, 150mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Triangle base 120mm x hauteur 100mm (épaisseur 40mm).&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (c'est donc une gestion par &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas d'identifier le capteur impliqué dans la détection.&lt;br /&gt;
&lt;br /&gt;
J'ai d'abord pensé qu'une utilisation intelligente de résistances en pont diviseur de tension pourrait permettre l'identification du capteur. &lt;br /&gt;
&lt;br /&gt;
Malheureusement, même avec 4 capteurs, il existe des cas il faut identifier une différence de 200mV. Ce qui n'est pas une situation fiable sur une installation filaire.&lt;br /&gt;
&lt;br /&gt;
=== Augmenter la tension ===&lt;br /&gt;
&lt;br /&gt;
Elever la tension du signal est une bonne façon de limiter l'impact des interférences sur ce même signal. &lt;br /&gt;
&lt;br /&gt;
Cependant, cela implique une interface électronique du côté du microcontrôleur afin de ne pas dépasser la tension maximale autorisée sur les entrées.&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessous, la tension d'alimentation des capteurs (9V) est également utilisée comme tension de signal. Un optocoupleur est utilisé côté microcontrôleur pour réduire le signal à 3.3V max.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
Dans le cas présent:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Ouvert&amp;quot; =&amp;gt; GP2 = LOW&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Fermé =&amp;gt; GP2 = HIGH&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30a.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30b.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
== Liste d'achat ==&lt;br /&gt;
* [https://shop.mchobby.be/product.php?id_product=2890 PIR-SENSOR-476 : capteur d'alarme PIR]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34508</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34508"/>
		<updated>2026-01-12T16:55:32Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Capteur PIR-476 standard */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-460 ==&lt;br /&gt;
&lt;br /&gt;
Ce capteur est généralement utilisé comme capteur de passage (ex: au dessus d'une porte).&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-15.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur ou passage couvert par des systèmes de sécurité. &lt;br /&gt;
&lt;br /&gt;
Il permet de détecter le passage (mode sécurité) ou la présence d'un individu à un endroit précis (mode card access).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Détecteur de passage/Presence&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.1x1.5m (mode card access)&amp;lt;br /&amp;gt;6.6x4.5m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 0° (configurable 10°)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&amp;lt;br /&amp;gt;Configurable 20 à 27V DC&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Micro-Relais (NC=Normalement Fermé), 28V DC max, 150mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Triangle base 120mm x hauteur 100mm (épaisseur 40mm).&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (c'est donc une gestion par &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas d'identifier le capteur impliqué dans la détection.&lt;br /&gt;
&lt;br /&gt;
J'ai d'abord pensé qu'une utilisation intelligente de résistances en pont diviseur de tension pourrait permettre l'identification du capteur. &lt;br /&gt;
&lt;br /&gt;
Malheureusement, même avec 4 capteurs, il existe des cas il faut identifier une différence de 200mV. Ce qui n'est pas une situation fiable sur une installation filaire.&lt;br /&gt;
&lt;br /&gt;
=== Augmenter la tension ===&lt;br /&gt;
&lt;br /&gt;
Elever la tension du signal est une bonne façon de limiter l'impact des interférences sur ce même signal. &lt;br /&gt;
&lt;br /&gt;
Cependant, cela implique une interface électronique du côté du microcontrôleur afin de ne pas dépasser la tension maximale autorisée sur les entrées.&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessous, la tension d'alimentation des capteurs (9V) est également utilisée comme tension de signal. Un optocoupleur est utilisé côté microcontrôleur pour réduire le signal à 3.3V max.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
Dans le cas présent:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Ouvert&amp;quot; =&amp;gt; GP2 = LOW&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Fermé =&amp;gt; GP2 = HIGH&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30a.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30b.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
== Liste d'achat ==&lt;br /&gt;
* [https://shop.mchobby.be/product.php?id_product=2890 PIR-SENSOR-476 : capteur d'alarme PIR]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Fichier:Tlogo-PIR-alarm.png&amp;diff=34507</id>
		<title>Fichier:Tlogo-PIR-alarm.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Fichier:Tlogo-PIR-alarm.png&amp;diff=34507"/>
		<updated>2026-01-07T00:44:43Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=MicroPython-Accueil&amp;diff=34506</id>
		<title>MicroPython-Accueil</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=MicroPython-Accueil&amp;diff=34506"/>
		<updated>2026-01-07T00:33:56Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Hacking électronique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{device-links}}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;360px&amp;quot; | [[Fichier:powered-by-micropython.png|320px]]&lt;br /&gt;
| align=&amp;quot;Left&amp;quot; width=&amp;quot;350px&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;padding:10px&amp;quot; | &lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; padding: 15px 0px; border-radius: 10px 10px 10px 10px; border: 1px solid #cccccc;&amp;quot;&amp;gt; '''Micro Python''' est une version optimisée et allégée de Python 3 pour système embarqué.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''PyBoard, Pico, ESP32, etc sont des cartes microcontrôleurs supportant MicroPython'''. Ces cartes électroniques exécutnt MicroPython en ''[http://en.wikipedia.org/wiki/Bare_machine bare metal]'' et vous offre un système d'exploitation Python de bas niveau permettant de contrôler toute sorte de projets électroniques. Trop fort... I Love It!!!&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;La {{cl|56|gamme Micro Python est maintenant disponible}} chez [http://shop.mchobby.be MCHobby].&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Pico / Pico2 (Raspberry-Pi) =&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;360px&amp;quot; | [[Fichier:MicroPython-pico.jpg|320px]]&lt;br /&gt;
| align=&amp;quot;Left&amp;quot; width=&amp;quot;350px&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;padding:10px&amp;quot; | &lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; padding: 15px 0px; border-radius: 10px 10px 10px 10px; border: 1px solid #cccccc;&amp;quot;&amp;gt;'''MicroPython sur Raspberry-Pi Pico''' et '''Pico Wireless'''. Reflasher un {{pl|2025|Pico}}, un {{pl|2036|Pico Header}} pour qu'il supporte MicroPython afin de réaliser des objets intelligents à prix imbattable!&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Cette section est dévolue à la plateforme {{pl|2025|Pico}} reflashé avec MicroPython.&lt;br /&gt;
&lt;br /&gt;
Cette section est assortie:&lt;br /&gt;
* du [https://github.com/mchobby/esp8266-upy GitHub ESP8266-upy contenant des sources et exemples pour cartes MicroPython].&lt;br /&gt;
* du [https://github.com/mchobby/pyboard-driver/tree/master/Pico GitHub Pyboard-Driver contenant des ressource pour la carte Pico]&lt;br /&gt;
&lt;br /&gt;
== Généralités ==&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Python_SDK_FR&lt;br /&gt;
  |descr=Un PDF pour découvrir le Raspberry-Pi Pico, son Brochage, Alimentation, Schéma, FAQ.&lt;br /&gt;
  |img=tlogo-pico-python-sdk.jpg&lt;br /&gt;
  |url=http://df.mchobby.be/RASPBERRY-PICO/Python_SDK_FR.pdf&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Brochage&lt;br /&gt;
  |descr=Le brochage de référence du Pico sous MicroPython.&lt;br /&gt;
  |img=tlogo-pico-pinout.jpg&lt;br /&gt;
  |url=https://raw.githubusercontent.com/mchobby/pyboard-driver/master/Pico/docs/_static/Pico.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Thonny IDE&lt;br /&gt;
  |descr=Utiliser Thonny IDE avec Pico et carte RP2040&lt;br /&gt;
  |img=tlogo-thonny.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/01/micromod-rp2040-pico-utiliser-thonny.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico et Thonny&lt;br /&gt;
  |descr=Utiliser l'IDE Thonny (recommandé par la fondation) avec votre Pico. Un bel article de Framboise314.&lt;br /&gt;
  |img=tlogo-pico-thonny.jpg&lt;br /&gt;
  |url=https://www.framboise314.fr/utiliser-le-raspberry-pi-pico-avec-thonny/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Ressources&lt;br /&gt;
  |descr=Diverses ressources pour le Pico sous MicroPython. Y Compris un Pico annoté&lt;br /&gt;
  |img=tlogo-Github.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/pyboard-driver/tree/master/Pico&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Reset btn&lt;br /&gt;
  |descr=Ajouter un bouton Reset à votre Pico.&lt;br /&gt;
  |img=tlogo-pico-reset.jpg&lt;br /&gt;
  |link=PICO-RESET-BUTTON&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico-W Intro &lt;br /&gt;
  |descr=Découvrir le Raspberry-Pi Pico WIRELESS - WiFi et Bluetooth sur le Pico &lt;br /&gt;
  |img=tlogo-pico-wireless.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/06/raspberry-pi-pico-wireless-wifi-et.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico-W et MicroPython&lt;br /&gt;
  |descr=Pico Wireless : installer le firmware MicroPython &lt;br /&gt;
  |img=tlogo-pico-wireless.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/06/pico-wireless-installer-le-firmware.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico-W et WiFi&lt;br /&gt;
  |descr=Pico Wireless : MicroPython et le WiFi &lt;br /&gt;
  |img=tlogo-pico-wireless.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/07/pico-wireless-micropython-et-le-wifi.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico-W WebREPL&lt;br /&gt;
  |descr=Pico Wireless: Comment utiliser WEBRepl &lt;br /&gt;
  |img=tlogo-pico-wireless.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/08/pico-wireless-comment-utiliser-webrepl.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico LED utilisateur&lt;br /&gt;
  |descr=Pico Wireless: MicroPython et la LED utilisateur &lt;br /&gt;
  |img=tlogo-pico-wireless.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/07/pico-wireless-micropython-et-la-led.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=TrinKey QT2040&lt;br /&gt;
  |descr=Utiliser le TrinKey QT2040 (RP2040) avec MicroPython&lt;br /&gt;
  |img=tlogo-pico-trinkey-QT2040.png&lt;br /&gt;
  |link=TrinKey-QT2040&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Adafruit SeeSaw&lt;br /&gt;
  |descr=Utiliser le SeeSaw (multi-interface via I2) avec MicroPython (et Pico)&lt;br /&gt;
  |img=tlogo-seesaw.png&lt;br /&gt;
  |url=https://github.com/mchobby/micropython-seesaw&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
== Hacking électronique ==&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico CanSat&lt;br /&gt;
  |descr=Control a CANSAT with MicroPython and Raspberry-Pi Pico &lt;br /&gt;
  |img=tlogo-cansat-pico.jpg&lt;br /&gt;
  |link=ENG-CANSAT-PICO-BELGIUM&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico-2-Explorer&lt;br /&gt;
  |descr=Découvrir MicroPython avec le Raspberry-Pi Pico 2. Entrées/sorties, analogique, PWM, etc&lt;br /&gt;
  |img=tlogo-pico-2-explorer.jpg&lt;br /&gt;
  |link=Pico-2-Explorer-FR&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Shield Moteur&lt;br /&gt;
  |descr=Utiliser un MotorShield ou Motor FeatherWing avec le Pico.&lt;br /&gt;
  |img=tlogo-pico-motorshield.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/esp8266-upy/tree/master/adfmotors&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Afficheur TFT ILI934x&lt;br /&gt;
  |descr=Utiliser un TFT 2.4&amp;quot; FeatherWing (ILI9341) avec le Pico&lt;br /&gt;
  |img=tlogo-pico-ili934x.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/esp8266-upy/tree/master/ili934x&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=HAT-SENSE&lt;br /&gt;
  |descr=Utiliser le Hat-Sense avec votre Pico&lt;br /&gt;
  |img=tlogo-micropython-hat-sense.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/esp8266-upy/tree/master/hat-sense&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=HAT-PiFace&lt;br /&gt;
  |descr=Utiliser le PiFace Digital avec votre Pico&lt;br /&gt;
  |img=tlogo-micropython-hat-piface.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/esp8266-upy/tree/master/hat-sense&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pulse-In&lt;br /&gt;
  |descr=Mesurer la longueur d'une impulsion Servo sur un récepteur RC&lt;br /&gt;
  |img=tlogo-pico-pulse-in.jpg&lt;br /&gt;
  |link=PICO-PULSE-IN-MICROPYTHON&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico&amp;lt;-&amp;gt;Minitel&lt;br /&gt;
  |descr=Brancher un Pico sur un Minitel, recevoir et envoyer des caractères&lt;br /&gt;
  |img=tlogo-Minitel.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/04/minitel-branche-sur-mon-raspberry-pi.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico, Zumo Robot et MicroPython&lt;br /&gt;
  |descr='''Ebook''' pour apprendre a utiliser votre Zumo Robot pour Arduino avec MicroPython.&lt;br /&gt;
  |img=tlogo-Pico-Zumo-Robot-et-MicroPython.jpg&lt;br /&gt;
  |link=Pico-Zumo-Robot-et-MicroPython&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Zumo Robot en Python&lt;br /&gt;
  |descr='''GitHub''' Robot Zumo sous MicroPython avec le Pico ou la Pyboard&lt;br /&gt;
  |img=tlogo-zumo-pico.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/micropython-zumo-robot&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MyDin&lt;br /&gt;
  |descr=DIN Automation with MicroPython &lt;br /&gt;
  |img=tlogo-mydin.jpg&lt;br /&gt;
  |link=MyDin&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=UniPi en Python&lt;br /&gt;
  |descr=Créer un automate programmable avec UniPi et MicroPython&lt;br /&gt;
  |img=tlogo-unipi-pico.jpg&lt;br /&gt;
  |bad_url=https://github.com/mchobby/micropython-zumo-robot&lt;br /&gt;
  |traduction=1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico Buggy&lt;br /&gt;
  |descr=Contôler le Buggy Kitronik avec MicroPython (traduction MCHobby)&lt;br /&gt;
  |img=tlogo-pico-buggy.jpg&lt;br /&gt;
  |url=https://github.com/KitronikLtd/Kitronik-Pico-Autonomous-Robotics-Platform-MicroPython/blob/main/README_FR.md&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Smart Air Quality&lt;br /&gt;
  |descr=Mesurer la qualité d'air avec un Pico (traduction MCHobby)&lt;br /&gt;
  |img=tlogo-pico-air-quality.jpg&lt;br /&gt;
  |url=https://github.com/KitronikLtd/Kitronik-Pico-Smart-Air-Quality-Board-MicroPython/blob/main/README_FR.md&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico Contrôle Robotique&lt;br /&gt;
  |descr=Carte de contrôle robotique pour Pico (traduction MCHobby)&lt;br /&gt;
  |img=tlogo-pico-motor.jpg&lt;br /&gt;
  |url=https://github.com/KitronikLtd/Kitronik-Pico-Robotics-Board-MicroPython/blob/main/README_FR.md&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico Contrôle Moteur&lt;br /&gt;
  |descr=Carte de contrôle moteur pour Pico (traduction MCHobby)&lt;br /&gt;
  |img=tlogo-pico-motor2.jpg&lt;br /&gt;
  |url=https://github.com/KitronikLtd/Kitronik-Pico-Motor-Driver-Board-MicroPython&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=Wifi-4-Relay&lt;br /&gt;
 |descr=Commander un module 4 relais avec via Page WEB ou API REST.&lt;br /&gt;
 |img=tlogo-wifi-4-relay.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/micropython-wifi-4-relais&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ArdBase&lt;br /&gt;
 |descr=Découvrir le hacking électronique pour avec Kit ArdBase et MicroPython&lt;br /&gt;
 |img=tlogo-pico-ardbase-micropython.png&lt;br /&gt;
 |url=https://github.com/mchobby/KIT-SOUDURE-ARDBASE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=Tamagotchi&lt;br /&gt;
 |descr=Créer un Tamagotchi sous MicroPython avec Raspberry-Pi Pico&lt;br /&gt;
 |img=tlogo-pico-tamagotchi.jpg&lt;br /&gt;
 |link=Pico-Tamagotchi-Intro&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Adafruit NeoTrellis&lt;br /&gt;
  |descr=Utiliser un NeoTrellis d'Adafruit avec Raspberry-Pi Pico/Pico2.&lt;br /&gt;
  |img=tlogo-micropython-neotrellis.png&lt;br /&gt;
  |link=micropython-neotrellis-pico&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=RoboEyes&lt;br /&gt;
  |descr=Donnez de la personnalité à vos robot avec l'implémentation de RoboEyes pour MicroPython.&lt;br /&gt;
  |img=tlogo-micropython-roboeyes.png&lt;br /&gt;
  |url=https://github.com/mchobby/micropython-roboeyes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Capteur Alarme&lt;br /&gt;
  |descr=Comment utiliser des capteurs d'alarme PIR avec un microcontroleur&lt;br /&gt;
  |img=tlogo-PIR-alarm.png&lt;br /&gt;
  |link=micropython-PIR-alarm&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=4G-Base-Station&lt;br /&gt;
  |descr=Station de contrôle avec carte 4G équipée d'entrées et sorties... programmable en MicroPython.&lt;br /&gt;
  |img=tlogo-4G-base-Station.png&lt;br /&gt;
  |url=https://github.com/mchobby/micropython-4G-BASE-STATION&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
= EDI pour MicroPython =&lt;br /&gt;
Les outils et editeurs pouvant être utilisés avec MicroPython.&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Thonny IDE&lt;br /&gt;
  |descr=Utiliser Thonny IDE avec Pico et carte RP2040&lt;br /&gt;
  |img=tlogo-thonny.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/01/micromod-rp2040-pico-utiliser-thonny.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico et Thonny&lt;br /&gt;
  |descr=Utiliser l'IDE Thonny (recommandé par la fondation) avec votre Pico. Un bel article de Framboise314.&lt;br /&gt;
  |img=tlogo-pico-thonny.jpg&lt;br /&gt;
  |url=https://www.framboise314.fr/utiliser-le-raspberry-pi-pico-avec-thonny/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=MPRemote&lt;br /&gt;
 |descr='''MicroPython Remote Control''' outil en ligne de commande qu'il ne faut surtout pas râter.&lt;br /&gt;
 |img=tlogo-MPRemote.png&lt;br /&gt;
 |url=https://github.com/mchobby/micropython-minishell&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=MIP&lt;br /&gt;
 |descr='''MicroPython Install Package''' une commande MPRemote pour installer facilement des bibliothèques&lt;br /&gt;
 |img=tlogo-MPRemote-MIP.png&lt;br /&gt;
 |url=https://arduino103.blogspot.com/2023/05/micropython-1200-mip-micropython.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=MiniShell&lt;br /&gt;
 |descr=MiniShell est un Shell type Linux pour MicroPython. Très pratique pour manipuler des fichiers via REPL.&lt;br /&gt;
 |img=tlogo-minishell.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/micropython-minishell&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=RShell&lt;br /&gt;
  |descr=Transférez des fichiers et contrôlez votre carte depuis une simple connexion série. WiPy et ESP8266 compatible.&lt;br /&gt;
  |img=tlogo-micropython-RShell.jpg&lt;br /&gt;
  |link=MicroPython-Hack-RShell&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Ampy&lt;br /&gt;
  |descr=Outil simplifié de transfert de fichiers et de contrôlez de carte depuis une connexion série. ESP8266 compatible.&lt;br /&gt;
  |img=tlogo-micropython-Debugger.jpg&lt;br /&gt;
  |link=FEATHER-CHARGER-FICHIER-MICROPYTHON&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=mem_info()&lt;br /&gt;
  |descr=Surveiller la consommation RAM de vos script sous MicroPython&lt;br /&gt;
  |img=tlogo-mem-info.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2023/03/micropython-surveiller-la-ram-avec.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
= Pilotes MicroPython =&lt;br /&gt;
Les pilotes MicroPythons sont des bibliothèques utilisées pour interagir avec des composants électroniques ou cartes breakouts. &lt;br /&gt;
&lt;br /&gt;
Chez MC Hobby, nous développons des pilotes &amp;quot;Plateform Agnostic&amp;quot;. Cela signifie que les bibliothèques s'appuient sur l'API {{fname|machine}} et peuvent être utilisés sur toutes les plateformes MicroPython.&lt;br /&gt;
&lt;br /&gt;
Enfin, nous produisons une documentation aussi complète que possible (français/anglais) + scripts d'exemples. Tous cela stocké sur un dépôt en ligne.&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ad9833&lt;br /&gt;
 |descr=Créer un générateur de signal à l'aide de l AD9833.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ad9833&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=adfmotors&lt;br /&gt;
 |descr=Contrôler des moteurs continu, pas-à-pas ou servo-moteur avec le shield moteur Arduino d'Adafruit. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/adfmotors&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ads1015-ads1115&lt;br /&gt;
 |descr=Convertisseur ADC (Analogique vers Digital) 4 canaux pour réaliser des lectures analogiques et lectures différentielles.&amp;lt;br /&amp;gt;L'ADS1115 dispose d'un amplificateur interne programmable, ce qui permet de lire des tensions très faibles. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ads1015-ads1115&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=am2315&lt;br /&gt;
 |descr=Capteur de &amp;lt;strong&amp;gt;température et humidité&amp;lt;/strong&amp;gt; relative (0 à 100%) pour relevés en extérieur. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/am2315&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=bme280-bmp280&lt;br /&gt;
 |descr=Le BMP280 est un capteur de &amp;lt;strong&amp;gt;pression et température&amp;lt;/strong&amp;gt; très populaire.&amp;lt;br /&amp;gt;Le BME280 est un capteur de &amp;lt;strong&amp;gt;pression, température et HUMIDITÉ&amp;lt;/strong&amp;gt; relative. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/bme280-bmp280&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=bmp180&lt;br /&gt;
 |descr=Le BMP180 est un senseur de &amp;lt;strong&amp;gt;pression et température&amp;lt;/strong&amp;gt; aujourd'hui remplacé par le BMP280. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/bmp180&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=cardkb&lt;br /&gt;
 |descr=CardKB - Mini-clavier QWERTY en I2C. M5STACK.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/cardkb&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ccs811&lt;br /&gt;
 |descr=CCS811 - Capteur qualité d'air - COV et eCO2 avec MicroPython. ADAFRUIT,OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ccs811&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=COLORS&lt;br /&gt;
 |descr=Bibliothèque de gestion de couleurs (et outils).&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/COLORS&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=dht11&lt;br /&gt;
 |descr=Le DHT11 est un senseur d'&amp;lt;strong&amp;gt;humidité&amp;lt;/strong&amp;gt; (20 à 80%) et température très bon marché. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/dht11&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=dotstar&lt;br /&gt;
 |descr=Les &amp;lt;strong&amp;gt;DotStar / APA102&amp;lt;/strong&amp;gt; sont des LEDs digitales intelligentes pouvant être contrôlées indépendamment les unes des autres. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/dotstar&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=drv8830&lt;br /&gt;
 |descr=Le Mini I2C motor driver permet de contrôler 2 moteurs 5V par l'intermédiaire d'une interface I2C. SEEEDSTUDIO.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/drv8830&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ds18b20&lt;br /&gt;
 |descr=Le DS18B20 est un senseur de &amp;lt;strong&amp;gt;température&amp;lt;/strong&amp;gt; digital très populaire. Il utilise le bus 1-Wire permettant de brancher plusieurs senseurs 1-Wire sur un même bus. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ds18b20&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=eeprom&lt;br /&gt;
 |descr=Utiliser des EEPROM I2C pour stocker des informations. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/eeprom&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=gps-ultimate&lt;br /&gt;
 |descr=Pouvoir obtenir ou suivre votre position actuelle à l'aide d'un module GPS. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/gps-ultimate&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=hat-joy-bonnet&lt;br /&gt;
 |descr=Utiliser le HAT Joy Bonnet avec MicroPython NADHAT PYB405. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/hat-joy-bonnet&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=hat-piface&lt;br /&gt;
 |descr=Utiliser le PiFace Digital avec MicroPython Pyboard, PYBStick.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/hat-piface&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=hat-sense&lt;br /&gt;
 |descr=Utiliser le Sense HAT avec MicroPython Pyboard, PYBStick, PYB405.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/hat-sense&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=FBGFX&lt;br /&gt;
 |descr=Bibliothèque graphique pour FrameBuffer.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/FBGFX&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=grove-5-way-switch&lt;br /&gt;
 |descr=Joystick 5 directions (et carte 6 DIP) via I2C - sous MicroPython. SEEEDSTUDIO.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/grove-5-way-switch&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ht0740-switch&lt;br /&gt;
 |descr=HT0740 - 40V / 10A MosFet controlable via I2C - sous MicroPython. PIMORONI.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ht0740-switch&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ili934x&lt;br /&gt;
 |descr=ILI934x - contrôleur afficheur TFT couleur 16 bits - sous MicroPython. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ili934x&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=is31fl&lt;br /&gt;
 |descr=IS31FL3731 - contrôleur CharliePlexing via I2C - sous MicroPython. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/is31fl&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=lcdi2c&lt;br /&gt;
 |descr=Afficheur à cristaux liquides (LCD) commandé via le bus I2C. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/lcdi2c&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=lcdmtrx&lt;br /&gt;
 |descr=Afficheur LCD 2 lignes, 16 caractères, Arrière plan RGB. Interface USB + Série. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/lcdmtrx&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=lcdspi-lcd12864&lt;br /&gt;
 |descr=Afficheur LCD graphique 128 x 64 pixels. Interface SPI (3 fils). DFROBOT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/lcdspi-lcd12864&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=lsm303&lt;br /&gt;
 |descr=Utiliser une boussole et accéléromètre LSM303D avec MicroPython. POLOLU.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/lsm303&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=m5stack-u087&lt;br /&gt;
 |descr=Module Voltmetre I2C. M5STACK.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/m5stack-u087&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=m5stack-u097&lt;br /&gt;
 |descr=Module 4 relais I2C. M5STACK.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/m5stack-u097&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=m5stack-u105&lt;br /&gt;
 |descr=I2C DDS unit (Direct Digital Synthesis, AD9833, ), Grove. M5STACK.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/m5stack-u105&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=max6675&lt;br /&gt;
 |descr=MAX6675 Amplificateur Thermocouple Type-K - MOD-TC - sous MicroPython. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/max6675&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=max31855&lt;br /&gt;
 |descr=ThermoCouple Type-K + amplificateur MAX31855 - sous MicroPython. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/max31855&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=mcp230xx&lt;br /&gt;
 |descr=Le MCP23017 (et MCP2308) sont des &amp;lt;strong&amp;gt;GPIO Expander&amp;lt;/strong&amp;gt; sur bus I2C ajoutant des entrées/sorties sur un microcontrôleur. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/mcp230xx&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=mcp23Sxx&lt;br /&gt;
 |descr=Le MCP23S17 est un &amp;lt;strong&amp;gt;GPIO Expander&amp;lt;/strong&amp;gt; sur bus SPI ajoutant des entrées/sorties sur un microcontrôleur. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/mcp23Sxx&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=mcp9808&lt;br /&gt;
 |descr=Le MCP9808 (bus I2C) permettant de faire un relevé de température avec une précision de 0.25°C. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/mcp9808&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=mcp4725&lt;br /&gt;
 |descr=Le MCP4725 (bus I2C) est un DAC -ou- une vraie sortie Analogique 12 bits (0 à 65535). ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/mcp4725&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modenv&lt;br /&gt;
 |descr=Capteur environnementale tout-en-un - BME280 + CCS811 - sous MicroPython. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modenv&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modio&lt;br /&gt;
 |descr=MOD-IO est une carte d'extension I2C avec port de connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt;. Cette carte d'Olimex équipé de relais, d'entrée OptoCoupleur (24V) et entrées analogiques (0-3.3V).&amp;lt;br /&amp;gt;Cette carte est compatible avec le standard industriel en 24V. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modio&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modio2&lt;br /&gt;
 |descr=MOD-IO est une carte d'extension I2C avec port de connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt;. Cette carte d'Olimex équipé de relais, de GPIO aux fonctions multiples (Input, Output, Analog, PWM; 0-3.3V). OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modio2&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modirdaplus&lt;br /&gt;
 |descr=MOD-IRDA+ est un module émetteur/récepteur Infrarouge I2C supportant les protocols RC5 (Philips) et SIRCS (Sony). OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modirdaplus&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modirtemp&lt;br /&gt;
 |descr=Mesure de température -70°C à 380°C Infrarouge sans contact (MXL90164). OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modirtemp&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modlcd1x9&lt;br /&gt;
 |descr=MOD-LCD1x9 est un afficheur 9 caractères alphanumérique I2C avec port de connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt;. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modlcd1x9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modlcd3310&lt;br /&gt;
 |descr=MOD-LCD3310 est l'afficheur LCD du Nokia 3310 offrant 84 x 48 pixels et un port de connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt;. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modlcd3310&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modled8x8&lt;br /&gt;
 |descr=Un afficheur 8x8 LEDs RGB chaînable. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modled8x8&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modltr501&lt;br /&gt;
 |descr=LTR-501ALS permet de faire une lecture de luminosité de 0.01 à 64.000 Lux (64K lux) et détection de proximité (jusqu'à 10cm). Le MOD-LTR-501ALS dispose d'une connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt; facilitant les raccordements. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modltr501&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modmag&lt;br /&gt;
 |descr=Le MAG3110 est un magénomètre digital 3 axes de NXP accessible via I2C. Le MOD-MAG dispose d'une connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt; facilitant les raccordements. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modmag&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modoled128x64&lt;br /&gt;
 |descr=Un afficheur OLED 128x64 / 128x32 / 64x48 avec contrôleur SSD1306 (I2C) et connecteur UEXT, Feather, Qwiic. OLIMEX,ADAFRUIT,SPARKFUN.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modoled128x64&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modrfid&lt;br /&gt;
 |descr=MOD-RFID1356 MIFARE : lecteur NFC / RFID Mifare via port série/usb-série/usb-hid. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modrfid&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modrgb&lt;br /&gt;
 |descr=MOD-RGB est une carte d'extension I2C avec port de connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt;. Cette carte d'Olimex équipé de MosFet de puissance pour commander des rubans LED RGB analogiques via I2C (ou DMX). OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modrgb&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modrs485iso&lt;br /&gt;
 |descr=MOD-RS485-ISO est un adaptateur RS485 Full-Duplex/Half-Duplex avec isolation. La transmission de données se fait via UART (MODE_PASS) ou I2C (MODE_BRIDE). Expose une interface &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt; pour connexion rapide. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modrs485iso&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modtc-mk2&lt;br /&gt;
 |descr=MAX6MOD-TC-MK2 : Amplificateur Thermocouple Type-K (MAX31855) via I2C - sous MicroPython. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modtc-mk2&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modwii&lt;br /&gt;
 |descr=La Wii NUNCHUCK est une manette de jeu super confortable et s'utilise sur le bus I2C. Ce controleur dispose d'une connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt; facilitant les raccordements. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modwii&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=mpr121&lt;br /&gt;
 |descr=Créer des pastilles/entrées capacitives (tactiles) avec le MPR121. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/mpr121&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=mpx5700a&lt;br /&gt;
 |descr=Utiliser un capteur de pression ANALOGIQUE MPX5700AP. SEEEDSTUDIO.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/mpx5700a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=NCD&lt;br /&gt;
 |descr=Connecter facilement une __mini carte I2C__ de NCD (National Control Device) sur une carte MicroPython grâce au connecteur &amp;lt;strong&amp;gt;NCD&amp;lt;/strong&amp;gt; qui facilite grandement les raccordements de périphérique I2C. Logique 5V. NCD.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/NCD&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ncd-mpl115a2&lt;br /&gt;
 |descr=Le MPL115A2 est un capteur de pression et température I2C. La &amp;lt;i&amp;gt;mini carte I2C de NCD&amp;lt;/i&amp;gt; propose un connecteur &amp;lt;strong&amp;gt;NCD&amp;lt;/strong&amp;gt; qui facilite grandement les raccordements de périphérique I2C.&amp;lt;br /&amp;gt;Ce senseur est également disponible sous forme de breakout. NCD,ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ncd-mpl115a2&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ncd-si7005&lt;br /&gt;
 |descr=Le SI7005 est un capteur d'humidité relative et température I2C. La &amp;lt;i&amp;gt;mini carte I2C de NCD&amp;lt;/i&amp;gt; propose un connecteur &amp;lt;strong&amp;gt;NCD&amp;lt;/strong&amp;gt; qui facilite grandement les raccordements de périphérique I2C.&amp;lt;br /&amp;gt;Ce senseur est également disponible sous forme de breakout. NCD.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ncd-si7005&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ncd-water-detect&lt;br /&gt;
 |descr=Détecteur de présence d'eau + Buzzer + 2 GPIOs (basé sur un PCA9536). La &amp;lt;i&amp;gt;mini carte I2C de NCD&amp;lt;/i&amp;gt; propose un connecteur &amp;lt;strong&amp;gt;NCD&amp;lt;/strong&amp;gt; qui facilite grandement les raccordements de périphérique I2C.&amp;lt;br /&amp;gt;Ce senseur est également disponible sous forme de breakout. NCD.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ncd-water-detect&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ncd-fet-solenoid&lt;br /&gt;
 |descr=Contrôleur de sortie FET + GPIO (basé sur un MCP23008) pour charge résistive / inductive 12V (valve). La &amp;lt;i&amp;gt;carte I2C de NCD&amp;lt;/i&amp;gt; propose un connecteur &amp;lt;strong&amp;gt;NCD&amp;lt;/strong&amp;gt; qui facilite grandement les raccordements de périphérique I2C.&amp;lt;br /&amp;gt;Ce senseur est également disponible sous forme de breakout. NCD.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ncd-fet-solenoid&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ncd-pecmac&lt;br /&gt;
 |descr=Capteur de courant alternatif sur bus I2C (ou interface IoT). La &amp;lt;i&amp;gt;carte I2C de NCD&amp;lt;/i&amp;gt; propose un connecteur &amp;lt;strong&amp;gt;NCD&amp;lt;/strong&amp;gt; qui facilite grandement les raccordements de périphérique I2C.&amp;lt;br /&amp;gt;Ce senseur est également disponible sous forme de breakout. NCD.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ncd-pecmac&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ncd-oled&lt;br /&gt;
 |descr=Un afficheur OLED 128x64 avec contrôleur SSD1306 (I2C) et connecteur NCD. NCD.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ncd-oled&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=neopixel&lt;br /&gt;
 |descr=Les &amp;lt;strong&amp;gt;NéoPixels&amp;lt;/strong&amp;gt; sont des LEDs digitales intelligentes pouvant être contrôlées indépendamment les unes des autres. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/neopixel&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=oled-ssd1306&lt;br /&gt;
 |descr=Le SSD1306 est un contrôleur d'écran OLED. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/oled-ssd1306&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=opt3101-fov&lt;br /&gt;
 |descr=Capteur de distance Time-Of-Flight FoV 3 canaux OPT3101 (POL3412). POLOLU.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/opt3101-fov&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=pca9536&lt;br /&gt;
 |descr=Contrôleur GPIO 4 bits I2C. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/pca9536&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=pca9685&lt;br /&gt;
 |descr=Controleur PWM-Driver à base de PCA9685 de NXP, 16 canaux, résolution 12 bits, pour commande des LEDs ou Servo. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/pca9685&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=pcf8523&lt;br /&gt;
 |descr=Une Horloge temps réel RTC + alarme avec MicroPython. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/pcf8523&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=pm25&lt;br /&gt;
 |descr=Utiliser un capteur de particule fine PM2.5 (PMS5003) avec MicroPython. ADAFRUIT,PIMORONI.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/pm25&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=qwiic-joystick-i2c&lt;br /&gt;
 |descr=Utiliser un joystick analogique I2C (Qwiic) avec MicroPython. SPARKFUN.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/qwiic-joystick-i2c&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=qwiic-keypad-i2c&lt;br /&gt;
 |descr=Utiliser un clavier I2C 12 touches (Qwiic) avec MicroPython. SPARKFUN.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/qwiic-keypad-i2c&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=qwiic-relay-i2c&lt;br /&gt;
 |descr=Utiliser un Relais-Simple/Quad-Relais/Quad-Relais-SSR I2C (qwiic) avec MicroPython. SPARKFUN.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/qwiic-relay-i2c&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=qwiic-vcnl4040-i2c&lt;br /&gt;
 |descr=Utiliser un capteur de proximité VCNL4040 (Qwiic, I2C) avec MicroPython. SPARKFUN.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/qwiic-vcnl4040-i2c&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=rfm69&lt;br /&gt;
 |descr=Utiliser module Packet Radio RFM69HCW (SPI) avec MicroPython. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/rfm69&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=sht3x&lt;br /&gt;
 |descr=Exploiter un capteur d'humidité SHT3x avec MicroPython. DFROBOT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/sht3x&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=st7687s&lt;br /&gt;
 |descr=Exploiter un TFT rond avec MicroPython. DFROBOT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/st7687s&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=stmpe610&lt;br /&gt;
 |descr=Utiliser un capteur tactile résistif avec MicroPython.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/stmpe610&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=tca9554a&lt;br /&gt;
 |descr=Ajouter 8 entrées/sortie avec le TCA9554A.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/tca9554a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=tcs34725&lt;br /&gt;
 |descr=Capturer la couleur (rgb ou Kelvin) avec un capteur TCS34725 + LED + filtre IR. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/tcs34725&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=trackball&lt;br /&gt;
 |descr=Ajouter un Trackball + LED RGBW sur votre projet MicroPython. PIMORONI.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/trackball&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=tsl2561&lt;br /&gt;
 |descr=Le TSL2561 est un senseur de &amp;lt;strong&amp;gt;luminosité&amp;lt;/strong&amp;gt; en lumière visible ayant un réponse proche de l'oeil humain. Retourne une valeur en LUX. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/tsl2561&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=tsl2591&lt;br /&gt;
 |descr=Le TSL2591 est un capteur de &amp;lt;strong&amp;gt;luminosité&amp;lt;/strong&amp;gt; en lumière visible ayant un réponse proche de l'oeil humain. Retourne une valeur en LUX. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/tsl2591&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=umqtt&lt;br /&gt;
 |descr=Exemples de communication MQTT avec un module ESP8266. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/umqtt&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=UEXT&lt;br /&gt;
 |descr=Connecteur &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt; en logique 3.3V est utilisé sur les cartes et capteurs d' Olimex. Il transporte les bus I2C, SPI, UART et alimentation 3.3V. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/UEXT&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
= PyBoard =&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;360px&amp;quot; | [[Fichier:MicroPython-PyBoard.jpg|320px]]&lt;br /&gt;
| align=&amp;quot;Left&amp;quot; width=&amp;quot;350px&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;padding:10px&amp;quot; | &lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; padding: 15px 0px; border-radius: 10px 10px 10px 10px; border: 1px solid #cccccc;&amp;quot;&amp;gt; '''Micro Python''' est une carte Python 3 offrant 30 GPIO, 20 PWM, 1 RTC, des bus I2C, CAN, SPI, un accéléromètre, etc.  la {{cl|56|gamme Micro Python est disponible}} chez [http://shop.mchobby.be MCHobby].&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== MicroPython, PyBoard et PYBStick ==&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Micro Python &amp;amp; PyBoard Kaséko?!?&lt;br /&gt;
  |descr=Venez découvrir le microcontrôleur programmable en Python. Plateforme, Boot, etc.&lt;br /&gt;
  |img=tlogo-micropython-presentation.jpg&lt;br /&gt;
  |link=MicroPython.présentation&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=En vidéo&lt;br /&gt;
  |descr=Quelques vidéos très intéressante.&lt;br /&gt;
  |img=tlogo-micropython-video.jpg&lt;br /&gt;
  |link=MicroPython.vidéo&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Tester en live&lt;br /&gt;
  |descr=Un petit laboratoire avec une carte Micro Python connecté sur Internet pour la tester.&lt;br /&gt;
  |img=tlogo-micropython-net.jpg&lt;br /&gt;
  |link=MicroPython.Live&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Brochage et Schema&lt;br /&gt;
  |descr=La carte Micro Python PyBoard, ses fonctionnalités, son brochage, ses schémas et composant Fritzing.&lt;br /&gt;
  |img=tlogo-micropython-brochage-pyboard.jpg&lt;br /&gt;
  |link=MicroPython.brochage.pyboard&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Généralités PyB&lt;br /&gt;
  |descr=Boot Modes, Code d'erreur, système de fichier et réinitialisation. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;'''A lire avant de se lancer'''&amp;lt;/font&amp;gt;.&lt;br /&gt;
  |img=tlogo-micropython-pyboard-Info.jpg&lt;br /&gt;
  |link=MicroPython.pyboard.généralités&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Références&lt;br /&gt;
  |descr=Liens, références et ressources Micro Python.&lt;br /&gt;
  |img=tlogo-micropython-reference.jpg&lt;br /&gt;
  |link=MicroPython.référence&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Doc officielle&lt;br /&gt;
  |descr=L'excellente documentation officielle en anglais. Une importante source de précieuses informations.&lt;br /&gt;
  |img=tlogo-micropython-docs.jpg&lt;br /&gt;
  |link=MicroPython.r%C3%A9f%C3%A9rence#Documentation_Officielle&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Modèles de PyBoard.&lt;br /&gt;
  |descr=Comparatif des différents modèles de la carte PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-modele.jpg&lt;br /&gt;
  |link=MicroPython.Pyboard.modele&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Mise-à-jour FirmWare&lt;br /&gt;
  |descr=Comment faire une mise-à-jour du Firmware de la Pyboard.&lt;br /&gt;
  |img=tlogo-micropython-update.jpg&lt;br /&gt;
  |link=MicroPython.Pyboard.mise-a-jour&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pyboard Discovery Kit&lt;br /&gt;
  |descr=Un kit et des tutos à thème pour découvrir la carte MicroPython PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-discovery.jpg&lt;br /&gt;
  |link=MicroPython.Pyboard.Discovery&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=upip&lt;br /&gt;
  |descr=Télécharger une bibliothèque MicroPython en utilisant le ''Python Index Package''.&lt;br /&gt;
  |img=tlogo-micropython-upip.jpg&lt;br /&gt;
  |link=MicroPython-Hack-upip&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=PYBStick STD Discovery&lt;br /&gt;
  |descr=Des tutos à thème pour découvrir MicroPython et la PYBStick STD 26.&lt;br /&gt;
  |img=tlogo-pybstick-discovery.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/pyboard-driver/tree/master/PYBStick&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=PYBStick HAT-FACE&lt;br /&gt;
  |descr=Une interface PYBStick vers Raspberry-Pi HAT.&lt;br /&gt;
  |img=tlogo-pybstick-hat-face.jpg&lt;br /&gt;
  |link=MicroPython.PYBStick.hat-face&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
== Hacking électronique avec MicroPython ==&lt;br /&gt;
ces scripts se penchent sur l'utilisation de MicroPython avec la Pyboard, la PYBStick.&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Précautions &amp;amp; alimentations&lt;br /&gt;
  |descr=Précautions d'usage avant de se lancer dans le hacking. Comment alimenter votre PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-prepare.jpg&lt;br /&gt;
  |link=MicroPython-Hack-Prepare&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Premier script&lt;br /&gt;
  |descr=Exécutez votre premier script et allumez une LED sur la carte.&lt;br /&gt;
  |img=tlogo-micropython-firstscript.jpg&lt;br /&gt;
  |link=MicroPython-Hack-first-script&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=L'invite REPL&lt;br /&gt;
  |descr=Obtenir l'invite '''en ligne de commande''' REPL et utilisez PyBoard en mode terminal.&lt;br /&gt;
  |img=tlogo-micropython-REPL.jpg&lt;br /&gt;
  |link=MicroPython-Hack-REPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=LED et concepts&lt;br /&gt;
  |descr=Allumer les LEDs de la carte PyBoard. Les concepts de base.&lt;br /&gt;
  |img=tlogo-micropython-LED.jpg&lt;br /&gt;
  |link=MicroPython-Hack-LED&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=1 LED externe&lt;br /&gt;
  |descr=Branchez votre première LED sur la PyBoard et contrôlez là.&lt;br /&gt;
  |img=Tlogo-micropython-1led.png&lt;br /&gt;
  |link=MicroPython-Hack-1LED&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=8 LEDs&lt;br /&gt;
  |descr=Contrôler plusieurs LEDs.&lt;br /&gt;
  |img=Tlogo-micropython-8leds.png&lt;br /&gt;
  |link=MicroPython-Hack-8LEDS&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Bouton&lt;br /&gt;
  |descr=Bouton, '''callback''' et '''interruption'''.&lt;br /&gt;
  |img=tlogo-micropython-button.jpg&lt;br /&gt;
  |link=MicroPython-Hack-button&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=L'accéléromètre &lt;br /&gt;
  |descr=Utiliser l'accéléromètre de la carte.&lt;br /&gt;
  |img=tlogo-micropython-accelerometre.jpg&lt;br /&gt;
  |link=MicroPython-Hack-accelerometre&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Safe Mode &amp;amp; réinitialisation &lt;br /&gt;
  |descr=Safe Mode et réinitialisation d'usine. Reprenez le contrôle de votre PyBoard&lt;br /&gt;
  |img=tlogo-micropython-safemode.jpg&lt;br /&gt;
  |link=MicroPython-Hack-safemode&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=PyBoard = souris &lt;br /&gt;
  |descr=Faire agir la PyBoard comme une souris. Réalisez vos propres interface homme-machine.&lt;br /&gt;
  |img=tlogo-micropython-souris.jpg&lt;br /&gt;
  |link=MicroPython-Hack-souris&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Les timers &lt;br /&gt;
  |descr=Mesurer des durées, réaliser des synchronisations ou exécuter du code à intervalle régulier. Exploitez les 14 timers de votre PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-timer.jpg&lt;br /&gt;
  |link=MicroPython-Hack-timers&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Assembleurs &lt;br /&gt;
  |descr=Utiliser l'assembleur inline. Ajouter du code assembleur ARM au sein même de vos programmes.&lt;br /&gt;
  |img=tlogo-micropython-assembleur.jpg&lt;br /&gt;
  |link=MicroPython-Hack-assembleur&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Contrôle de puissance &lt;br /&gt;
  |descr=Contrôler la consommation de votre PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-power.jpg&lt;br /&gt;
  |link=MicroPython-Hack-power&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Servo-moteur &lt;br /&gt;
  |descr=Contrôler des servo moteur en Micro Python. Quelques commandes pour positionner un axe sur un angle donné.&lt;br /&gt;
  |img=tlogo-moteur-servo.jpg&lt;br /&gt;
  |link=MicroPython-Hack-servo&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Luminosité d'une LED &lt;br /&gt;
  |descr=Contrôler la luminosité d'une LED ou la faire pulser avec un signal PWM.&lt;br /&gt;
  |img=tlogo-micropython-fading.jpg&lt;br /&gt;
  |link=MicroPython-Hack-fading&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Déparasitage entrée &lt;br /&gt;
  |descr=Comment déparasiter une entrée.&lt;br /&gt;
  |img=tlogo-micropython-deparasitage.jpg&lt;br /&gt;
  |link=MicroPython-Hack-deparasitage&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Lecture Analogique &lt;br /&gt;
  |descr=Réaliser une lecture analogique sur le PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-analogique.png&lt;br /&gt;
  |link=MicroPython-Hack-Analogique&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=TMP36 = °C &lt;br /&gt;
  |descr=Lire la température avec TMP36 un senseur de température analogique.&lt;br /&gt;
  |img=tlogo-micropython-tmp36.png&lt;br /&gt;
  |link=MicroPython-Hack-TMP36&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Photo-résistance&lt;br /&gt;
  |descr=Utiliser une photorésistance, Ldr, Cds et une entrée analogique pour détecter la présence de la lumière.&lt;br /&gt;
  |img=tlogo-micropython-LDR.png&lt;br /&gt;
  |link=MicroPython-Hack-LDR&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Moteur&lt;br /&gt;
  |descr=Utiliser un transistor pour commander un moteur.&lt;br /&gt;
  |img=tlogo-micropython-moteur.png&lt;br /&gt;
  |link=MicroPython-Hack-moteur&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Relais&lt;br /&gt;
  |descr=Commander des charges plus importantes à l'aide d'un relais.&lt;br /&gt;
  |img=tlogo-micropython-relais.png&lt;br /&gt;
  |link=MicroPython-Hack-relais&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=LED RGB&lt;br /&gt;
  |descr=Contrôler une LED Rouge,Vert,Bleu pour créer n'importe quelle couleur &lt;br /&gt;
  |img=tlogo-micropython-LedRGB.png&lt;br /&gt;
  |link=MicroPython-Hack-led-RGB&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Piezo&lt;br /&gt;
  |descr=Utiliser un piezo buzzer pour faire de la musique &lt;br /&gt;
  |img=tlogo-micropython-Piezo.png&lt;br /&gt;
  |link=MicroPython-Hack-piezo&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Déboguer &lt;br /&gt;
  |descr=Quelques petits trucs pour vous aider à déboguer vos programmes.&lt;br /&gt;
  |img=tlogo-micropython-Debugger.jpg&lt;br /&gt;
  |link=MicroPython-Hack-Debug&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Outil dev&lt;br /&gt;
  |descr=Quelques outils pour aider vos développement PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-Debugger.jpg&lt;br /&gt;
  |link=MicroPython-Hack-Outil&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=USB &amp;lt;-&amp;gt; UART &lt;br /&gt;
  |descr=Envoyer les données de l'UART vers USB (et vice-versa).&lt;br /&gt;
  |img=tlogo-micropython-USB-UART.jpg&lt;br /&gt;
  |link=MicroPython-Hack-USB-UART&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
== Extensions Pyboard ==&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Extension LCD &lt;br /&gt;
  |descr=Utiliser l'extension LCD.&lt;br /&gt;
  |img=tlogo-micropython-LCD.jpg&lt;br /&gt;
  |link=MicroPython-LCD&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=TFT 2.8&amp;quot;&lt;br /&gt;
  |descr=Utiliser un TFT 2.8 avec contrôleur ILI9341 sur un PyBoard&lt;br /&gt;
  |img=tlogo-micropython-ILI9341.jpg&lt;br /&gt;
  |link=MicroPython-ILI9341&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Maîtriser I2C&lt;br /&gt;
  |descr=Utiliser et maîtriser les bus I2C sous MicroPython.&lt;br /&gt;
  |img=tlogo-micropython-I2C.jpg&lt;br /&gt;
  |link=MicroPython-I2C&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Ultrason HC-SR04&lt;br /&gt;
  |descr=Evaluer une distance de 2cm à 4m avec le HC-SR04. Il fonctionne comme un sonar.&lt;br /&gt;
  |img=tlogo-HC-SR04.jpg&lt;br /&gt;
  |link=MicroPython-HC-SR04&lt;br /&gt;
}}&lt;br /&gt;
 &lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pont-H L293D&lt;br /&gt;
  |descr=Double Pont-H pour contrôler deux moteurs (basse puissance)&lt;br /&gt;
  |img=tlogo-micropython-l293.jpg&lt;br /&gt;
  |link=hack-micropython-L293D&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Afficheur 4x7 I2C&lt;br /&gt;
  |descr=Utilisation d'afficheur 4x7 segment sur le bus I2C de la PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-4x7.jpg&lt;br /&gt;
  |link=MicroPython-4x7&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Contrôleur PWM&lt;br /&gt;
  |descr=Utilisation du controleur PWM 16 canaux avec la PyBoard.&lt;br /&gt;
  |img=tlogo-adf-pwm.jpg&lt;br /&gt;
  |link=MicroPython-PWM-DRIVER&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Mosfet &lt;br /&gt;
  |descr=Commander un MOSFET de puissance à partie d'un microcontrôleur 3.3V.&lt;br /&gt;
  |img=tlogo-micropython-Mosfet.png&lt;br /&gt;
  |link=MicroPython-Hack-Mosfet&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Bluetooth &amp;amp; REPL&lt;br /&gt;
  |descr=Utiliser un module Bluetooth série avec PyBoard. Dupliquer REPL sur Bluetooth.&lt;br /&gt;
  |img=tlogo-micropython-bluetooth.jpg&lt;br /&gt;
  |link=MicroPython-bluetooth&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=HAT-SENSE&lt;br /&gt;
  |descr=Utiliser le Hat-Sense avec votre Pyboard&lt;br /&gt;
  |img=tlogo-micropython-hat-sense.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/esp8266-upy/tree/master/hat-sense&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=PYBD Butterfly&lt;br /&gt;
  |descr=Assembler le Pyboard-D Butterfly&lt;br /&gt;
  |img=tlogo-pybd-butterfly.jpg&lt;br /&gt;
  |link=PYBD-Butterfly&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Afficheur matrice 8x8&lt;br /&gt;
  |descr=Utilisation d'afficheur 8x8 à matrice sur le bus I2C de la PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-8x8.jpg&lt;br /&gt;
  |link=MicroPython-8x8&lt;br /&gt;
  |traduction=1&lt;br /&gt;
}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
== PyBoard Robotique ==&lt;br /&gt;
&lt;br /&gt;
Voici quelques tutoriels pour réaliser une plateforme robotique à base de MicroPython PyBoard.&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Robot 2 Roues&lt;br /&gt;
  |descr=Commander un robot 2 roues maison avec MicroPython PyBoard et un L293D&lt;br /&gt;
  |img=tlogo-micropython-Robot2Wheel.jpg&lt;br /&gt;
  |link=hack-micropython-Robot2Wheel&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Robot Ultrason&lt;br /&gt;
  |descr=Piloter le robot 2 roues avec un senseur Ultrason HC-SR04&lt;br /&gt;
  |img=tlogo-micropython-Robot2Wheel-HC-SR04.jpg&lt;br /&gt;
  |link=hack-micropython-Robot2Wheel-HC-SR04&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Motor-Skin&lt;br /&gt;
  |descr=Contrôler facilement une plateforme robotique à deux moteurs avec le Motor-Skin pour PyBoard.&lt;br /&gt;
  |img=tlogo-motorskin-00.jpg&lt;br /&gt;
  |link=hack-MotorSkin&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=ENG: Motor-Skin&lt;br /&gt;
  |descr=Take the control of a 2 motors robotic plateform with the PyBoard's Motor-Skin.&lt;br /&gt;
  |img=tlogo-motorskin-00.jpg&lt;br /&gt;
  |link=hack-ENG-MotorSkin&lt;br /&gt;
  |traduction=1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Servo Robots&lt;br /&gt;
  |descr=Apprenez à réaliser DOGGY et prendre le contrôle de Robots utilisant des servos moteurs pour se déplacer.&lt;br /&gt;
  |img=tlogo-micropython-ServoRobot.jpg&lt;br /&gt;
  |link=hack-micropython-ServoRobot&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Moteur DFRobot&lt;br /&gt;
  |descr=Apprenez à contrôler les moteurs continu DFRobot avec un signal servo. Trop classe!&lt;br /&gt;
  |img=tlogo-micropython-dfrobot-motor.jpg&lt;br /&gt;
  |link=hack-micropython-dfrobot-motor&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
= Autres =&lt;br /&gt;
== ESP8266 en MicroPython ==&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;360px&amp;quot; | [[Fichier:MicroPython-ESP8266.jpg|320px]]&lt;br /&gt;
| align=&amp;quot;Left&amp;quot; width=&amp;quot;350px&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;padding:10px&amp;quot; | &lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; padding: 15px 0px; border-radius: 10px 10px 10px 10px; border: 1px solid #cccccc;&amp;quot;&amp;gt;'''MicroPython sur ESP8266'''. Reflasher un {{pl|846|Feather ESP8266}}, un {{deadpl|1221|Wemos D1 Mini}}, {{pl|668|ESP8266-EVB}} ou NodeMCU pour qu'il supporte MicroPython afin de réaliser des senseurs connectés à prix imbattable! Un minimum de savoir faire est cependant requis.&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Cette section est dévolue à la plateforme {{pl|846|Feather ESP8266 Huzza}}, {{deadpl|1221|Wemos ESP8266}}, NodeMCU reflashé pour MicroPython et extension comme {{cl|87|FeatherWing}}, {{cl|123|Wemos Extension}} (extension).&lt;br /&gt;
&lt;br /&gt;
Cette section est assortie du [https://github.com/mchobby/esp8266-upy GitHub ESP8266-upy contenant des sources et exemples].&lt;br /&gt;
&lt;br /&gt;
=== Généralités ===&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Feather ESP8266&lt;br /&gt;
  |descr=Découvrir le Feather ESP8266, son Brochage, Alimentation, Schéma, FAQ.&lt;br /&gt;
  |img=tlogo-feather-esp8266.jpg&lt;br /&gt;
  |link=FEATHER-ESP8266&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=ESP8266-EVB&lt;br /&gt;
  |descr=Découvrir l'ESP8266-EVB (evaluation board) et ESP8266-DEV (module ESP), son Brochage, Alimentation, Port UEXT, Schéma, FAQ.&lt;br /&gt;
  |img=tlogo-esp8266-dev.jpg&lt;br /&gt;
  |link=ESP8266-DEV&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=ESP32-EVB&lt;br /&gt;
  |descr=Commander les éléments de la carte '''ESP32'''-DEV d'Olimex.&lt;br /&gt;
  |img=tlogo-esp32-evb.png&lt;br /&gt;
  |link=MicroPython-esp32-evb&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Charger MicroPython&lt;br /&gt;
  |descr=Apprenez comment charger le Firmware MicroPython sur une carte Pyboard, ESP32/ESP8266 (Feather, Wemos, NodeMcu), etc.&lt;br /&gt;
  |img=tlogo-feather-load-upy.jpg&lt;br /&gt;
  |link=FEATHER-CHARGER-MICROPYTHON&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Téléverser &amp;amp; Exécuter&lt;br /&gt;
  |descr=Téléverser des fichiers et exécuter du code. Un flux simple de développement.&lt;br /&gt;
  |img=tlogo-feather-load-file.jpg&lt;br /&gt;
  |link=FEATHER-CHARGER-FICHIER-MICROPYTHON&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=ESP8266 WebRepl&lt;br /&gt;
  |descr=Accéder à la console Python via la connexion WiFi d'un ESP8266.&lt;br /&gt;
  |img=tlogo-feather-WebRepl.jpg&lt;br /&gt;
  |link=FEATHER-WEBREPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Charger un module&lt;br /&gt;
  |descr=Charger des modules Python pour ajouter de nouvelle fonctionnalités à votre carte.&lt;br /&gt;
  |img=tlogo-feather-charger-module.jpg&lt;br /&gt;
  |link=FEATHER-CHARGER-MODULE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=RShell&lt;br /&gt;
  |descr=Transférez des fichiers et contrôlez votre carte depuis une simple connexion série. ESP8266 compatible.&lt;br /&gt;
  |img=tlogo-micropython-RShell.jpg&lt;br /&gt;
  |link=MicroPython-Hack-RShell&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=upip&lt;br /&gt;
  |descr=Télécharger une bibliothèque MicroPython en utilisant le ''Python Index Package''.&lt;br /&gt;
  |img=tlogo-micropython-upip.jpg&lt;br /&gt;
  |link=MicroPython-Hack-upip&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
=== Hacking électronique ===&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Entrée Analogique&lt;br /&gt;
  |descr=Utilisation de l'entrée analogique du Feather ESP8266 sous MicroPython.&lt;br /&gt;
  |img=tlogo-micropython-analogique.png&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-ADC&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=AM2315 - Humidité&lt;br /&gt;
  |descr=Mesure de '''température''' et '''humidité''' {{underline|en extérieur}} avec AM2315&lt;br /&gt;
  |img=tlogo-feather-upy-am2315.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-AM2315&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=DHT11 - Humidité&lt;br /&gt;
  |descr=Mesure d' '''humidité''' et '''température''' avec le très économique DHT11.&lt;br /&gt;
  |img=tlogo-feather-upy-dht11.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-DHT11&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=TSL2561 - Luminosité&lt;br /&gt;
  |descr=Mesure de la luminosité en Lux.&lt;br /&gt;
  |img=tlogo-feather-upy-TSL2561.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-TSL2561&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=BMP180 - pression&lt;br /&gt;
  |descr=Mesurer la pression atmosphérique et normalisez là.&lt;br /&gt;
  |img=tlogo-feather-upy-BMP180.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-BMP180&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=BMP280 / BME280&lt;br /&gt;
  |descr=Mesurer la pression atmosphérique, température avec BMP280 + humidité avec BME280.&lt;br /&gt;
  |img=tlogo-feather-upy-BME280.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-BME280&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=ADS1x15&lt;br /&gt;
  |descr=Mesurer précisément une tension analogique avec un ADS1115 ou ADS1015.&lt;br /&gt;
  |img=tlogo-feather-upy-ADS1115.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-ADS1115&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=NeoPixel&lt;br /&gt;
  |descr=Utiliser des NeoPixel (WS2812, SK6812) sur ESP avec MicroPython. Comment passer de 3.3V à 5V.&lt;br /&gt;
  |img=tlogo-feather-upy-neopixel.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-NEOPIXEL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=GPIO Expander&lt;br /&gt;
  |descr=Utiliser le MCP23017 pour ajouter des entrées/sorties sur ESP8266.&lt;br /&gt;
  |img=tlogo-feather-upy-MCP23017.png&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-MCP23017&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=OLED&lt;br /&gt;
  |descr=Utiliser un écran OLED en MicroPython (ESP8266).&lt;br /&gt;
  |img=tlogo-feather-upy-oled.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-OLED&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-OLED [UEXT]&lt;br /&gt;
  |descr=Un écran OLED 128x64 (I2C) utilisé sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-oled.png&lt;br /&gt;
  |link=MICROPYTHON-MOD-OLED&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-IO [UEXT]&lt;br /&gt;
  |descr=Utiliser le module I2C '''MOD-IO''' sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-io.png&lt;br /&gt;
  |link=MICROPYTHON-MOD-IO&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-IO2 [UEXT]&lt;br /&gt;
  |descr=Utiliser le module I2C '''MOD-IO2''' sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-io2.jpg&lt;br /&gt;
  |link=MICROPYTHON-MOD-IO2&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-RGB [UEXT]&lt;br /&gt;
  |descr=Contrôler des rubans LEDs RGB / RVB avec le module I2C '''MOD-RGB''' sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-rgb.png&lt;br /&gt;
  |link=MICROPYTHON-MOD-RGB&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-LCD1x9 [UEXT]&lt;br /&gt;
  |descr=Contrôler l'afficheur Alphanumérique à cristaux liquide avec le module I2C '''MOD-LCD1x9''' sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-lcd1x9.png&lt;br /&gt;
  |link=MICROPYTHON-MOD-LCD1x9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-MAG3110 [UEXT]&lt;br /&gt;
  |descr=Un magnétomètre 3 axes '''MAG3110''' de NXP avec le module I2C '''MOD-MAG3110''' sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-mag3110.png&lt;br /&gt;
  |link=MICROPYTHON-MOD-MAG3110&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-LTR501ALS [UEXT]&lt;br /&gt;
  |descr=Senseur de luminosité et de proximité '''LTR-501ALS'''. Exploiter le module I2C sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-ltr501als.png&lt;br /&gt;
  |link=MICROPYTHON-MOD-LTR501ALS&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-Wii-Chuck [UEXT]&lt;br /&gt;
  |descr=Contrôleur de jeu I2C Wii Nunchuck. Exploiter le sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-wii-nunchuck.png&lt;br /&gt;
  |url=https://github.com/mchobby/esp8266-upy/tree/master/modwii&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=DFR-Anemometer&lt;br /&gt;
  |descr=Utiliser un anémomètre (SEN0170) à sortie analogique avec un ESP32 sous MicroPython.&lt;br /&gt;
  |img=tlogo-anemometer.png&lt;br /&gt;
  |link=MICROPYTHON-ANEMOMETER&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=DFR-Girouette&lt;br /&gt;
  |descr=Utiliser une Girouette un anémomètre RS485 (SEN0482) sous MicroPython avec l'aide d'un module MOD-RS485-ISO.&lt;br /&gt;
  |img=tlogo-grouette.png&lt;br /&gt;
  |url=https://github.com/mchobby/esp8266-upy/tree/master/modrs485iso&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
== SAMD21 en MicroPython ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;360px&amp;quot; | [[Fichier:MicroPython-SAMD21.jpg|320px]]&lt;br /&gt;
| align=&amp;quot;Left&amp;quot; width=&amp;quot;350px&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;padding:10px&amp;quot; | &lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; padding: 15px 0px; border-radius: 10px 10px 10px 10px; border: 1px solid #cccccc;&amp;quot;&amp;gt;'''MicroPython sur SAMD21'''. Reflasher un {{sl|M0|Feather M0}} ou {{sl|zero|Arduino Zero}} pour qu'il supporte MicroPython! Un minimum de savoir faire est cependant requis.&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Cette section est dévolue aux plateforme SAMD21 comme le {{sl|M0|Feather M0}} ou {{sl|zero|Arduino Zero}} reflashé pour MicroPython.&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Compiler et charger MicroPython&lt;br /&gt;
  |descr=Comment compiler MicroPython et le charger sur une carte SAMD21.&lt;br /&gt;
  |img=tlogo-samd21-charger-micropython.jpg&lt;br /&gt;
  |link=SAMD21-CHARGER-MICROPYTHON&lt;br /&gt;
  |traduction=1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Feather M0 Express&lt;br /&gt;
  |descr=Carte Feather conçue pour Arduino IDE et CircuitPython (MicroPython)&lt;br /&gt;
  |img=tlogo-feather-m0-express.jpg&lt;br /&gt;
  |link=FEATHER-M0-EXPRESS&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
== WiPy ==&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;360px&amp;quot; | [[Fichier:MicroPython-WiPy.jpg|320px]]&lt;br /&gt;
| align=&amp;quot;Left&amp;quot; width=&amp;quot;350px&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;padding:10px&amp;quot; | &lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; padding: 15px 0px; border-radius: 10px 10px 10px 10px; border: 1px solid #cccccc;&amp;quot;&amp;gt; '''WiPy''' est une plateforme de développement &amp;quot;Internet des Objets&amp;quot; qui fonctionne sous Python. WiPy à moins de GPIO, est moins rapide que la PyBoard MAIS inclus le support WiFi.  la {{cl|68|gamme WiPy disponible}} chez [http://shop.mchobby.be MCHobby].&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Cette section est dévolue à la plateforme {{pl|737|MicroPython WiPy}}.&lt;br /&gt;
&lt;br /&gt;
=== Découvrir WiPy ===&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Généralités WiPy&lt;br /&gt;
  |descr=Informations générales '''mais importantes''' à propos de WiPy.&lt;br /&gt;
  |img=tlogo-micropython-pyboard-Info.jpg&lt;br /&gt;
  |link=hack-wipy-generalite&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=WiPy intro&lt;br /&gt;
  |descr=Introduction à WiPy, en prendre soin, la carte d'extension et &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;les tensions d'alimentation&amp;lt;/font&amp;gt;&lt;br /&gt;
  |img=tlogo-wipy-intro.jpg&lt;br /&gt;
  |link=hack-wipy-introduction&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Brochage WiPy&lt;br /&gt;
  |descr=Le brochage du WiPy et les informations utiles sur les broches.&lt;br /&gt;
  |img=tlogo-wipy-pinout.jpg&lt;br /&gt;
  |link=hack-wipy-pinout&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=WiPy REPL&lt;br /&gt;
  |descr=Votre WiPy en ligne de commande avec le REPL. Envoyez des ordres à votre WiPy depuis votre réseau WiFi.&lt;br /&gt;
  |img=Tlogo-micropython-REPL.jpg&lt;br /&gt;
  |link=hack-wipy-repl&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=WiPy et Blynk&lt;br /&gt;
  |descr=Utilisez votre WiPy depuis votre smartphone à l'aide de Blynk&lt;br /&gt;
  |img=tlogo-wipy-blynk.jpg&lt;br /&gt;
  |link=hack-wipy-blynk&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Config WiFi/WLAN&lt;br /&gt;
  |descr=Configuration de la connexion WiFi/WLAN de votre WiPy étape par étape.&lt;br /&gt;
  |img=tlogo-wipy-intro.jpg&lt;br /&gt;
  |link=hack-wipy-wlan&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Boot/Reset&lt;br /&gt;
  |descr=Réinitialisation (Reset) et mode de démarrage (boot mode) de votre WiPy. Ne restez jamais bloqué avec votre WiPy.&lt;br /&gt;
  |img=Tlogo-micropython-safemode.jpg&lt;br /&gt;
  |link=hack-wipy-boot-mode&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Mise-à-jour&lt;br /&gt;
  |descr=Comment réaliser la mise-à-jour du firmware.&lt;br /&gt;
  |img=tlogo-micropython-update.jpg&lt;br /&gt;
  |link=hack-wipy-upgrade-firmware&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Références&lt;br /&gt;
  |descr=Liens, références et ressources concernant WiPy, LoPy.&lt;br /&gt;
  |img=tlogo-micropython-reference.jpg&lt;br /&gt;
  |link=hack-wipy-reference&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
=== Hacking electronic avec WiPy ===&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Controler HeartBeat&lt;br /&gt;
  |descr=Prenez le contrôle de votre première LED, la LED HeartBeat présent sur la carte.&lt;br /&gt;
  |img=tlogo-hack-wipy-heatbeat.jpg&lt;br /&gt;
  |link=hack-wipy-heartbeat&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=LED Externe&lt;br /&gt;
  |descr=Brancher et contrôler une LED. Apprenez ce que signifie ''Current Sink'' et et ''Current Source''&lt;br /&gt;
  |img=Tlogo-micropython-1led.png&lt;br /&gt;
  |link=hack-wipy-led&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Bouton&lt;br /&gt;
  |descr=Utiliser une entrée pour lire l'état d'un bouton. Apprenez ce que signifie ''Résistance Pull Up'' et utiliser les '''interruptions''' et fonction '''callback'''.&lt;br /&gt;
  |img=Tlogo-wipy-button.jpg&lt;br /&gt;
  |link=hack-wipy-button&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Relais&lt;br /&gt;
  |descr=Commandez un Relais avec votre WiPy.&lt;br /&gt;
  |img=Tlogo-wipy-relais.png&lt;br /&gt;
  |link=hack-wipy-Relais&lt;br /&gt;
  |traduction=1&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Timer&lt;br /&gt;
  |descr=Utiliser un Timer pour appeler régulièrement du code sur votre WiPy.&lt;br /&gt;
  |img=Tlogo-wipy-timer.png&lt;br /&gt;
  |link=hack-wipy-Timer&lt;br /&gt;
  |traduction=1&lt;br /&gt;
}} &lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
== LoPy &amp;amp; WiPy 2 ==&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;360px&amp;quot; | [[Fichier:MicroPython-Lopy.jpg|320px]]&lt;br /&gt;
| align=&amp;quot;Left&amp;quot; width=&amp;quot;350px&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;padding:10px&amp;quot; | &lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; padding: 15px 0px; border-radius: 10px 10px 10px 10px; border: 1px solid #cccccc;&amp;quot;&amp;gt; '''LoPy''' est une plateforme de développement &amp;quot;Internet des Objets&amp;quot; qui fonctionne sous Python. LoPy supporte 3 types de réseau sans fil: LoRa, WiFi et Bluetooth.  la {{cl|68|gamme WiPy/Lopy est disponible}} chez [http://shop.mchobby.be MCHobby].&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Cette section est dévolue à la plateforme {{pl|737|MicroPython LoPy}}, {{pl|1039|MicroPython WiPy 2}} et la {{pl|1011|carte d'extension WiPy/LoPy}}. Les plateformes WiPy 2 et Lopy sont toutes deux basées sur un ESP_32, ce qui fait que cette section convient pour les deux plateformes.&lt;br /&gt;
&lt;br /&gt;
{{ambox|text=19/02/2017: Le FirmWare du Lopy/Wipy est activement développé, des nouvelles et/ou firmwares sont disponibles toutes les semaines.&lt;br /&gt;
&lt;br /&gt;
Tenez vous au courant en suivant les [https://forum.pycom.io/category/1/announcements-news annonces du forum Pycom.io] pour être tenu au courant.}}&lt;br /&gt;
 &lt;br /&gt;
=== Découvrir LoPy / WiPy 2 ===&lt;br /&gt;
&lt;br /&gt;
LoPy et WiPy 2 sont tous les deux basés sur une plateforme ESP_32, de ce fait, les guides ci-dessous conviennent pour les deux plateformes. &lt;br /&gt;
&lt;br /&gt;
Vous pouvez également vous inspirer des montages et exemples du WiPy 1 pour faire du prototypage électronique. &lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Démarrer&lt;br /&gt;
  |descr=Démarrer rapidement avec LoPy ou WiPy 2 (plateforme ESP_32 de PyCom)&lt;br /&gt;
  |img=tlogo-lopy-intro.jpg&lt;br /&gt;
  |link=hack-pycom-esp_32&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Brochage WiPy2&lt;br /&gt;
  |descr=Brochage du WiPy 2&lt;br /&gt;
  |img=tlogo-wipy2-pinout.jpg&lt;br /&gt;
  |link=hack-pycom-wipy2-pinout&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Brochage LoPy&lt;br /&gt;
  |descr=Brochage du LoPy&lt;br /&gt;
  |img=tlogo-lopy-pinout.jpg&lt;br /&gt;
  |link=hack-pycom-lopy-pinout&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=FTP/Telnet&lt;br /&gt;
  |descr=Se connecter en FTP ou telnet sur le Lopy&lt;br /&gt;
  |img=tlogo-lopy-ftp.jpg&lt;br /&gt;
  |link=hack-pycom-lopy-ftp&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pymakr IDE&lt;br /&gt;
  |descr=Un éditeur qui se connecte en Telnet ou port série. Utiliser la LED du RGB du WiPy.&lt;br /&gt;
  |img=tlogo-lopy-ide.jpg&lt;br /&gt;
  |link=Hack-pycom-lopy-Pymakr&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Boîte à outils&lt;br /&gt;
  |descr=Les modules, REPL, FTP, '''Boot mode''', Interruption... tout ce qu'il faut savoir &lt;br /&gt;
  |img=tlogo-lopy-toolbix.jpg&lt;br /&gt;
  |link=Hack-pycom-lopy-toolbox&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=RShell&lt;br /&gt;
  |descr=Transférez des fichiers et contrôlez votre carte depuis une simple connexion série. WiPy et ESP8266 compatible.&lt;br /&gt;
  |img=tlogo-micropython-RShell.jpg&lt;br /&gt;
  |link=MicroPython-Hack-RShell&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34505</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34505"/>
		<updated>2026-01-07T00:32:16Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Augmenter la tension */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (c'est donc une gestion par &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas d'identifier le capteur impliqué dans la détection.&lt;br /&gt;
&lt;br /&gt;
J'ai d'abord pensé qu'une utilisation intelligente de résistances en pont diviseur de tension pourrait permettre l'identification du capteur. &lt;br /&gt;
&lt;br /&gt;
Malheureusement, même avec 4 capteurs, il existe des cas il faut identifier une différence de 200mV. Ce qui n'est pas une situation fiable sur une installation filaire.&lt;br /&gt;
&lt;br /&gt;
=== Augmenter la tension ===&lt;br /&gt;
&lt;br /&gt;
Elever la tension du signal est une bonne façon de limiter l'impact des interférences sur ce même signal. &lt;br /&gt;
&lt;br /&gt;
Cependant, cela implique une interface électronique du côté du microcontrôleur afin de ne pas dépasser la tension maximale autorisée sur les entrées.&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessous, la tension d'alimentation des capteurs (9V) est également utilisée comme tension de signal. Un optocoupleur est utilisé côté microcontrôleur pour réduire le signal à 3.3V max.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
Dans le cas présent:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Ouvert&amp;quot; =&amp;gt; GP2 = LOW&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Fermé =&amp;gt; GP2 = HIGH&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30a.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30b.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
== Liste d'achat ==&lt;br /&gt;
* [https://shop.mchobby.be/product.php?id_product=2890 PIR-SENSOR-476 : capteur d'alarme PIR]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Fichier:Tlogo-4G-base-Station.png&amp;diff=34504</id>
		<title>Fichier:Tlogo-4G-base-Station.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Fichier:Tlogo-4G-base-Station.png&amp;diff=34504"/>
		<updated>2026-01-06T23:46:39Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=MicroPython-Accueil&amp;diff=34503</id>
		<title>MicroPython-Accueil</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=MicroPython-Accueil&amp;diff=34503"/>
		<updated>2026-01-06T23:43:03Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Hacking électronique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{device-links}}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;360px&amp;quot; | [[Fichier:powered-by-micropython.png|320px]]&lt;br /&gt;
| align=&amp;quot;Left&amp;quot; width=&amp;quot;350px&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;padding:10px&amp;quot; | &lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; padding: 15px 0px; border-radius: 10px 10px 10px 10px; border: 1px solid #cccccc;&amp;quot;&amp;gt; '''Micro Python''' est une version optimisée et allégée de Python 3 pour système embarqué.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''PyBoard, Pico, ESP32, etc sont des cartes microcontrôleurs supportant MicroPython'''. Ces cartes électroniques exécutnt MicroPython en ''[http://en.wikipedia.org/wiki/Bare_machine bare metal]'' et vous offre un système d'exploitation Python de bas niveau permettant de contrôler toute sorte de projets électroniques. Trop fort... I Love It!!!&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;La {{cl|56|gamme Micro Python est maintenant disponible}} chez [http://shop.mchobby.be MCHobby].&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Pico / Pico2 (Raspberry-Pi) =&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;360px&amp;quot; | [[Fichier:MicroPython-pico.jpg|320px]]&lt;br /&gt;
| align=&amp;quot;Left&amp;quot; width=&amp;quot;350px&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;padding:10px&amp;quot; | &lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; padding: 15px 0px; border-radius: 10px 10px 10px 10px; border: 1px solid #cccccc;&amp;quot;&amp;gt;'''MicroPython sur Raspberry-Pi Pico''' et '''Pico Wireless'''. Reflasher un {{pl|2025|Pico}}, un {{pl|2036|Pico Header}} pour qu'il supporte MicroPython afin de réaliser des objets intelligents à prix imbattable!&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Cette section est dévolue à la plateforme {{pl|2025|Pico}} reflashé avec MicroPython.&lt;br /&gt;
&lt;br /&gt;
Cette section est assortie:&lt;br /&gt;
* du [https://github.com/mchobby/esp8266-upy GitHub ESP8266-upy contenant des sources et exemples pour cartes MicroPython].&lt;br /&gt;
* du [https://github.com/mchobby/pyboard-driver/tree/master/Pico GitHub Pyboard-Driver contenant des ressource pour la carte Pico]&lt;br /&gt;
&lt;br /&gt;
== Généralités ==&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Python_SDK_FR&lt;br /&gt;
  |descr=Un PDF pour découvrir le Raspberry-Pi Pico, son Brochage, Alimentation, Schéma, FAQ.&lt;br /&gt;
  |img=tlogo-pico-python-sdk.jpg&lt;br /&gt;
  |url=http://df.mchobby.be/RASPBERRY-PICO/Python_SDK_FR.pdf&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Brochage&lt;br /&gt;
  |descr=Le brochage de référence du Pico sous MicroPython.&lt;br /&gt;
  |img=tlogo-pico-pinout.jpg&lt;br /&gt;
  |url=https://raw.githubusercontent.com/mchobby/pyboard-driver/master/Pico/docs/_static/Pico.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Thonny IDE&lt;br /&gt;
  |descr=Utiliser Thonny IDE avec Pico et carte RP2040&lt;br /&gt;
  |img=tlogo-thonny.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/01/micromod-rp2040-pico-utiliser-thonny.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico et Thonny&lt;br /&gt;
  |descr=Utiliser l'IDE Thonny (recommandé par la fondation) avec votre Pico. Un bel article de Framboise314.&lt;br /&gt;
  |img=tlogo-pico-thonny.jpg&lt;br /&gt;
  |url=https://www.framboise314.fr/utiliser-le-raspberry-pi-pico-avec-thonny/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Ressources&lt;br /&gt;
  |descr=Diverses ressources pour le Pico sous MicroPython. Y Compris un Pico annoté&lt;br /&gt;
  |img=tlogo-Github.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/pyboard-driver/tree/master/Pico&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Reset btn&lt;br /&gt;
  |descr=Ajouter un bouton Reset à votre Pico.&lt;br /&gt;
  |img=tlogo-pico-reset.jpg&lt;br /&gt;
  |link=PICO-RESET-BUTTON&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico-W Intro &lt;br /&gt;
  |descr=Découvrir le Raspberry-Pi Pico WIRELESS - WiFi et Bluetooth sur le Pico &lt;br /&gt;
  |img=tlogo-pico-wireless.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/06/raspberry-pi-pico-wireless-wifi-et.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico-W et MicroPython&lt;br /&gt;
  |descr=Pico Wireless : installer le firmware MicroPython &lt;br /&gt;
  |img=tlogo-pico-wireless.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/06/pico-wireless-installer-le-firmware.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico-W et WiFi&lt;br /&gt;
  |descr=Pico Wireless : MicroPython et le WiFi &lt;br /&gt;
  |img=tlogo-pico-wireless.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/07/pico-wireless-micropython-et-le-wifi.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico-W WebREPL&lt;br /&gt;
  |descr=Pico Wireless: Comment utiliser WEBRepl &lt;br /&gt;
  |img=tlogo-pico-wireless.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/08/pico-wireless-comment-utiliser-webrepl.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico LED utilisateur&lt;br /&gt;
  |descr=Pico Wireless: MicroPython et la LED utilisateur &lt;br /&gt;
  |img=tlogo-pico-wireless.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/07/pico-wireless-micropython-et-la-led.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=TrinKey QT2040&lt;br /&gt;
  |descr=Utiliser le TrinKey QT2040 (RP2040) avec MicroPython&lt;br /&gt;
  |img=tlogo-pico-trinkey-QT2040.png&lt;br /&gt;
  |link=TrinKey-QT2040&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Adafruit SeeSaw&lt;br /&gt;
  |descr=Utiliser le SeeSaw (multi-interface via I2) avec MicroPython (et Pico)&lt;br /&gt;
  |img=tlogo-seesaw.png&lt;br /&gt;
  |url=https://github.com/mchobby/micropython-seesaw&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
== Hacking électronique ==&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico CanSat&lt;br /&gt;
  |descr=Control a CANSAT with MicroPython and Raspberry-Pi Pico &lt;br /&gt;
  |img=tlogo-cansat-pico.jpg&lt;br /&gt;
  |link=ENG-CANSAT-PICO-BELGIUM&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico-2-Explorer&lt;br /&gt;
  |descr=Découvrir MicroPython avec le Raspberry-Pi Pico 2. Entrées/sorties, analogique, PWM, etc&lt;br /&gt;
  |img=tlogo-pico-2-explorer.jpg&lt;br /&gt;
  |link=Pico-2-Explorer-FR&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Shield Moteur&lt;br /&gt;
  |descr=Utiliser un MotorShield ou Motor FeatherWing avec le Pico.&lt;br /&gt;
  |img=tlogo-pico-motorshield.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/esp8266-upy/tree/master/adfmotors&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Afficheur TFT ILI934x&lt;br /&gt;
  |descr=Utiliser un TFT 2.4&amp;quot; FeatherWing (ILI9341) avec le Pico&lt;br /&gt;
  |img=tlogo-pico-ili934x.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/esp8266-upy/tree/master/ili934x&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=HAT-SENSE&lt;br /&gt;
  |descr=Utiliser le Hat-Sense avec votre Pico&lt;br /&gt;
  |img=tlogo-micropython-hat-sense.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/esp8266-upy/tree/master/hat-sense&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=HAT-PiFace&lt;br /&gt;
  |descr=Utiliser le PiFace Digital avec votre Pico&lt;br /&gt;
  |img=tlogo-micropython-hat-piface.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/esp8266-upy/tree/master/hat-sense&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pulse-In&lt;br /&gt;
  |descr=Mesurer la longueur d'une impulsion Servo sur un récepteur RC&lt;br /&gt;
  |img=tlogo-pico-pulse-in.jpg&lt;br /&gt;
  |link=PICO-PULSE-IN-MICROPYTHON&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico&amp;lt;-&amp;gt;Minitel&lt;br /&gt;
  |descr=Brancher un Pico sur un Minitel, recevoir et envoyer des caractères&lt;br /&gt;
  |img=tlogo-Minitel.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/04/minitel-branche-sur-mon-raspberry-pi.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico, Zumo Robot et MicroPython&lt;br /&gt;
  |descr='''Ebook''' pour apprendre a utiliser votre Zumo Robot pour Arduino avec MicroPython.&lt;br /&gt;
  |img=tlogo-Pico-Zumo-Robot-et-MicroPython.jpg&lt;br /&gt;
  |link=Pico-Zumo-Robot-et-MicroPython&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Zumo Robot en Python&lt;br /&gt;
  |descr='''GitHub''' Robot Zumo sous MicroPython avec le Pico ou la Pyboard&lt;br /&gt;
  |img=tlogo-zumo-pico.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/micropython-zumo-robot&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MyDin&lt;br /&gt;
  |descr=DIN Automation with MicroPython &lt;br /&gt;
  |img=tlogo-mydin.jpg&lt;br /&gt;
  |link=MyDin&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=UniPi en Python&lt;br /&gt;
  |descr=Créer un automate programmable avec UniPi et MicroPython&lt;br /&gt;
  |img=tlogo-unipi-pico.jpg&lt;br /&gt;
  |bad_url=https://github.com/mchobby/micropython-zumo-robot&lt;br /&gt;
  |traduction=1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico Buggy&lt;br /&gt;
  |descr=Contôler le Buggy Kitronik avec MicroPython (traduction MCHobby)&lt;br /&gt;
  |img=tlogo-pico-buggy.jpg&lt;br /&gt;
  |url=https://github.com/KitronikLtd/Kitronik-Pico-Autonomous-Robotics-Platform-MicroPython/blob/main/README_FR.md&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Smart Air Quality&lt;br /&gt;
  |descr=Mesurer la qualité d'air avec un Pico (traduction MCHobby)&lt;br /&gt;
  |img=tlogo-pico-air-quality.jpg&lt;br /&gt;
  |url=https://github.com/KitronikLtd/Kitronik-Pico-Smart-Air-Quality-Board-MicroPython/blob/main/README_FR.md&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico Contrôle Robotique&lt;br /&gt;
  |descr=Carte de contrôle robotique pour Pico (traduction MCHobby)&lt;br /&gt;
  |img=tlogo-pico-motor.jpg&lt;br /&gt;
  |url=https://github.com/KitronikLtd/Kitronik-Pico-Robotics-Board-MicroPython/blob/main/README_FR.md&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico Contrôle Moteur&lt;br /&gt;
  |descr=Carte de contrôle moteur pour Pico (traduction MCHobby)&lt;br /&gt;
  |img=tlogo-pico-motor2.jpg&lt;br /&gt;
  |url=https://github.com/KitronikLtd/Kitronik-Pico-Motor-Driver-Board-MicroPython&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=Wifi-4-Relay&lt;br /&gt;
 |descr=Commander un module 4 relais avec via Page WEB ou API REST.&lt;br /&gt;
 |img=tlogo-wifi-4-relay.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/micropython-wifi-4-relais&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ArdBase&lt;br /&gt;
 |descr=Découvrir le hacking électronique pour avec Kit ArdBase et MicroPython&lt;br /&gt;
 |img=tlogo-pico-ardbase-micropython.png&lt;br /&gt;
 |url=https://github.com/mchobby/KIT-SOUDURE-ARDBASE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=Tamagotchi&lt;br /&gt;
 |descr=Créer un Tamagotchi sous MicroPython avec Raspberry-Pi Pico&lt;br /&gt;
 |img=tlogo-pico-tamagotchi.jpg&lt;br /&gt;
 |link=Pico-Tamagotchi-Intro&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Adafruit NeoTrellis&lt;br /&gt;
  |descr=Utiliser un NeoTrellis d'Adafruit avec Raspberry-Pi Pico/Pico2.&lt;br /&gt;
  |img=tlogo-micropython-neotrellis.png&lt;br /&gt;
  |link=micropython-neotrellis-pico&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=RoboEyes&lt;br /&gt;
  |descr=Donnez de la personnalité à vos robot avec l'implémentation de RoboEyes pour MicroPython.&lt;br /&gt;
  |img=tlogo-micropython-roboeyes.png&lt;br /&gt;
  |url=https://github.com/mchobby/micropython-roboeyes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Capteur Alarme&lt;br /&gt;
  |descr=Comment utiliser des capteurs d'alarme PIR avec un microcontroleur&lt;br /&gt;
  |img=tlogo-PIR-alarm.png&lt;br /&gt;
  |link=micropython-PIR-alarm&lt;br /&gt;
  |traduction=1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=4G-Base-Station&lt;br /&gt;
  |descr=Station de contrôle avec carte 4G équipée d'entrées et sorties... programmable en MicroPython.&lt;br /&gt;
  |img=tlogo-4G-base-Station.png&lt;br /&gt;
  |url=https://github.com/mchobby/micropython-4G-BASE-STATION&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
= EDI pour MicroPython =&lt;br /&gt;
Les outils et editeurs pouvant être utilisés avec MicroPython.&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Thonny IDE&lt;br /&gt;
  |descr=Utiliser Thonny IDE avec Pico et carte RP2040&lt;br /&gt;
  |img=tlogo-thonny.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/01/micromod-rp2040-pico-utiliser-thonny.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico et Thonny&lt;br /&gt;
  |descr=Utiliser l'IDE Thonny (recommandé par la fondation) avec votre Pico. Un bel article de Framboise314.&lt;br /&gt;
  |img=tlogo-pico-thonny.jpg&lt;br /&gt;
  |url=https://www.framboise314.fr/utiliser-le-raspberry-pi-pico-avec-thonny/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=MPRemote&lt;br /&gt;
 |descr='''MicroPython Remote Control''' outil en ligne de commande qu'il ne faut surtout pas râter.&lt;br /&gt;
 |img=tlogo-MPRemote.png&lt;br /&gt;
 |url=https://github.com/mchobby/micropython-minishell&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=MIP&lt;br /&gt;
 |descr='''MicroPython Install Package''' une commande MPRemote pour installer facilement des bibliothèques&lt;br /&gt;
 |img=tlogo-MPRemote-MIP.png&lt;br /&gt;
 |url=https://arduino103.blogspot.com/2023/05/micropython-1200-mip-micropython.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=MiniShell&lt;br /&gt;
 |descr=MiniShell est un Shell type Linux pour MicroPython. Très pratique pour manipuler des fichiers via REPL.&lt;br /&gt;
 |img=tlogo-minishell.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/micropython-minishell&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=RShell&lt;br /&gt;
  |descr=Transférez des fichiers et contrôlez votre carte depuis une simple connexion série. WiPy et ESP8266 compatible.&lt;br /&gt;
  |img=tlogo-micropython-RShell.jpg&lt;br /&gt;
  |link=MicroPython-Hack-RShell&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Ampy&lt;br /&gt;
  |descr=Outil simplifié de transfert de fichiers et de contrôlez de carte depuis une connexion série. ESP8266 compatible.&lt;br /&gt;
  |img=tlogo-micropython-Debugger.jpg&lt;br /&gt;
  |link=FEATHER-CHARGER-FICHIER-MICROPYTHON&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=mem_info()&lt;br /&gt;
  |descr=Surveiller la consommation RAM de vos script sous MicroPython&lt;br /&gt;
  |img=tlogo-mem-info.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2023/03/micropython-surveiller-la-ram-avec.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
= Pilotes MicroPython =&lt;br /&gt;
Les pilotes MicroPythons sont des bibliothèques utilisées pour interagir avec des composants électroniques ou cartes breakouts. &lt;br /&gt;
&lt;br /&gt;
Chez MC Hobby, nous développons des pilotes &amp;quot;Plateform Agnostic&amp;quot;. Cela signifie que les bibliothèques s'appuient sur l'API {{fname|machine}} et peuvent être utilisés sur toutes les plateformes MicroPython.&lt;br /&gt;
&lt;br /&gt;
Enfin, nous produisons une documentation aussi complète que possible (français/anglais) + scripts d'exemples. Tous cela stocké sur un dépôt en ligne.&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ad9833&lt;br /&gt;
 |descr=Créer un générateur de signal à l'aide de l AD9833.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ad9833&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=adfmotors&lt;br /&gt;
 |descr=Contrôler des moteurs continu, pas-à-pas ou servo-moteur avec le shield moteur Arduino d'Adafruit. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/adfmotors&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ads1015-ads1115&lt;br /&gt;
 |descr=Convertisseur ADC (Analogique vers Digital) 4 canaux pour réaliser des lectures analogiques et lectures différentielles.&amp;lt;br /&amp;gt;L'ADS1115 dispose d'un amplificateur interne programmable, ce qui permet de lire des tensions très faibles. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ads1015-ads1115&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=am2315&lt;br /&gt;
 |descr=Capteur de &amp;lt;strong&amp;gt;température et humidité&amp;lt;/strong&amp;gt; relative (0 à 100%) pour relevés en extérieur. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/am2315&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=bme280-bmp280&lt;br /&gt;
 |descr=Le BMP280 est un capteur de &amp;lt;strong&amp;gt;pression et température&amp;lt;/strong&amp;gt; très populaire.&amp;lt;br /&amp;gt;Le BME280 est un capteur de &amp;lt;strong&amp;gt;pression, température et HUMIDITÉ&amp;lt;/strong&amp;gt; relative. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/bme280-bmp280&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=bmp180&lt;br /&gt;
 |descr=Le BMP180 est un senseur de &amp;lt;strong&amp;gt;pression et température&amp;lt;/strong&amp;gt; aujourd'hui remplacé par le BMP280. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/bmp180&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=cardkb&lt;br /&gt;
 |descr=CardKB - Mini-clavier QWERTY en I2C. M5STACK.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/cardkb&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ccs811&lt;br /&gt;
 |descr=CCS811 - Capteur qualité d'air - COV et eCO2 avec MicroPython. ADAFRUIT,OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ccs811&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=COLORS&lt;br /&gt;
 |descr=Bibliothèque de gestion de couleurs (et outils).&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/COLORS&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=dht11&lt;br /&gt;
 |descr=Le DHT11 est un senseur d'&amp;lt;strong&amp;gt;humidité&amp;lt;/strong&amp;gt; (20 à 80%) et température très bon marché. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/dht11&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=dotstar&lt;br /&gt;
 |descr=Les &amp;lt;strong&amp;gt;DotStar / APA102&amp;lt;/strong&amp;gt; sont des LEDs digitales intelligentes pouvant être contrôlées indépendamment les unes des autres. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/dotstar&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=drv8830&lt;br /&gt;
 |descr=Le Mini I2C motor driver permet de contrôler 2 moteurs 5V par l'intermédiaire d'une interface I2C. SEEEDSTUDIO.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/drv8830&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ds18b20&lt;br /&gt;
 |descr=Le DS18B20 est un senseur de &amp;lt;strong&amp;gt;température&amp;lt;/strong&amp;gt; digital très populaire. Il utilise le bus 1-Wire permettant de brancher plusieurs senseurs 1-Wire sur un même bus. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ds18b20&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=eeprom&lt;br /&gt;
 |descr=Utiliser des EEPROM I2C pour stocker des informations. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/eeprom&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=gps-ultimate&lt;br /&gt;
 |descr=Pouvoir obtenir ou suivre votre position actuelle à l'aide d'un module GPS. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/gps-ultimate&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=hat-joy-bonnet&lt;br /&gt;
 |descr=Utiliser le HAT Joy Bonnet avec MicroPython NADHAT PYB405. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/hat-joy-bonnet&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=hat-piface&lt;br /&gt;
 |descr=Utiliser le PiFace Digital avec MicroPython Pyboard, PYBStick.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/hat-piface&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=hat-sense&lt;br /&gt;
 |descr=Utiliser le Sense HAT avec MicroPython Pyboard, PYBStick, PYB405.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/hat-sense&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=FBGFX&lt;br /&gt;
 |descr=Bibliothèque graphique pour FrameBuffer.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/FBGFX&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=grove-5-way-switch&lt;br /&gt;
 |descr=Joystick 5 directions (et carte 6 DIP) via I2C - sous MicroPython. SEEEDSTUDIO.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/grove-5-way-switch&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ht0740-switch&lt;br /&gt;
 |descr=HT0740 - 40V / 10A MosFet controlable via I2C - sous MicroPython. PIMORONI.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ht0740-switch&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ili934x&lt;br /&gt;
 |descr=ILI934x - contrôleur afficheur TFT couleur 16 bits - sous MicroPython. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ili934x&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=is31fl&lt;br /&gt;
 |descr=IS31FL3731 - contrôleur CharliePlexing via I2C - sous MicroPython. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/is31fl&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=lcdi2c&lt;br /&gt;
 |descr=Afficheur à cristaux liquides (LCD) commandé via le bus I2C. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/lcdi2c&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=lcdmtrx&lt;br /&gt;
 |descr=Afficheur LCD 2 lignes, 16 caractères, Arrière plan RGB. Interface USB + Série. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/lcdmtrx&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=lcdspi-lcd12864&lt;br /&gt;
 |descr=Afficheur LCD graphique 128 x 64 pixels. Interface SPI (3 fils). DFROBOT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/lcdspi-lcd12864&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=lsm303&lt;br /&gt;
 |descr=Utiliser une boussole et accéléromètre LSM303D avec MicroPython. POLOLU.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/lsm303&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=m5stack-u087&lt;br /&gt;
 |descr=Module Voltmetre I2C. M5STACK.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/m5stack-u087&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=m5stack-u097&lt;br /&gt;
 |descr=Module 4 relais I2C. M5STACK.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/m5stack-u097&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=m5stack-u105&lt;br /&gt;
 |descr=I2C DDS unit (Direct Digital Synthesis, AD9833, ), Grove. M5STACK.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/m5stack-u105&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=max6675&lt;br /&gt;
 |descr=MAX6675 Amplificateur Thermocouple Type-K - MOD-TC - sous MicroPython. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/max6675&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=max31855&lt;br /&gt;
 |descr=ThermoCouple Type-K + amplificateur MAX31855 - sous MicroPython. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/max31855&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=mcp230xx&lt;br /&gt;
 |descr=Le MCP23017 (et MCP2308) sont des &amp;lt;strong&amp;gt;GPIO Expander&amp;lt;/strong&amp;gt; sur bus I2C ajoutant des entrées/sorties sur un microcontrôleur. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/mcp230xx&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=mcp23Sxx&lt;br /&gt;
 |descr=Le MCP23S17 est un &amp;lt;strong&amp;gt;GPIO Expander&amp;lt;/strong&amp;gt; sur bus SPI ajoutant des entrées/sorties sur un microcontrôleur. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/mcp23Sxx&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=mcp9808&lt;br /&gt;
 |descr=Le MCP9808 (bus I2C) permettant de faire un relevé de température avec une précision de 0.25°C. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/mcp9808&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=mcp4725&lt;br /&gt;
 |descr=Le MCP4725 (bus I2C) est un DAC -ou- une vraie sortie Analogique 12 bits (0 à 65535). ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/mcp4725&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modenv&lt;br /&gt;
 |descr=Capteur environnementale tout-en-un - BME280 + CCS811 - sous MicroPython. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modenv&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modio&lt;br /&gt;
 |descr=MOD-IO est une carte d'extension I2C avec port de connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt;. Cette carte d'Olimex équipé de relais, d'entrée OptoCoupleur (24V) et entrées analogiques (0-3.3V).&amp;lt;br /&amp;gt;Cette carte est compatible avec le standard industriel en 24V. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modio&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modio2&lt;br /&gt;
 |descr=MOD-IO est une carte d'extension I2C avec port de connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt;. Cette carte d'Olimex équipé de relais, de GPIO aux fonctions multiples (Input, Output, Analog, PWM; 0-3.3V). OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modio2&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modirdaplus&lt;br /&gt;
 |descr=MOD-IRDA+ est un module émetteur/récepteur Infrarouge I2C supportant les protocols RC5 (Philips) et SIRCS (Sony). OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modirdaplus&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modirtemp&lt;br /&gt;
 |descr=Mesure de température -70°C à 380°C Infrarouge sans contact (MXL90164). OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modirtemp&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modlcd1x9&lt;br /&gt;
 |descr=MOD-LCD1x9 est un afficheur 9 caractères alphanumérique I2C avec port de connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt;. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modlcd1x9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modlcd3310&lt;br /&gt;
 |descr=MOD-LCD3310 est l'afficheur LCD du Nokia 3310 offrant 84 x 48 pixels et un port de connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt;. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modlcd3310&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modled8x8&lt;br /&gt;
 |descr=Un afficheur 8x8 LEDs RGB chaînable. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modled8x8&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modltr501&lt;br /&gt;
 |descr=LTR-501ALS permet de faire une lecture de luminosité de 0.01 à 64.000 Lux (64K lux) et détection de proximité (jusqu'à 10cm). Le MOD-LTR-501ALS dispose d'une connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt; facilitant les raccordements. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modltr501&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modmag&lt;br /&gt;
 |descr=Le MAG3110 est un magénomètre digital 3 axes de NXP accessible via I2C. Le MOD-MAG dispose d'une connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt; facilitant les raccordements. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modmag&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modoled128x64&lt;br /&gt;
 |descr=Un afficheur OLED 128x64 / 128x32 / 64x48 avec contrôleur SSD1306 (I2C) et connecteur UEXT, Feather, Qwiic. OLIMEX,ADAFRUIT,SPARKFUN.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modoled128x64&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modrfid&lt;br /&gt;
 |descr=MOD-RFID1356 MIFARE : lecteur NFC / RFID Mifare via port série/usb-série/usb-hid. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modrfid&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modrgb&lt;br /&gt;
 |descr=MOD-RGB est une carte d'extension I2C avec port de connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt;. Cette carte d'Olimex équipé de MosFet de puissance pour commander des rubans LED RGB analogiques via I2C (ou DMX). OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modrgb&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modrs485iso&lt;br /&gt;
 |descr=MOD-RS485-ISO est un adaptateur RS485 Full-Duplex/Half-Duplex avec isolation. La transmission de données se fait via UART (MODE_PASS) ou I2C (MODE_BRIDE). Expose une interface &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt; pour connexion rapide. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modrs485iso&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modtc-mk2&lt;br /&gt;
 |descr=MAX6MOD-TC-MK2 : Amplificateur Thermocouple Type-K (MAX31855) via I2C - sous MicroPython. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modtc-mk2&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modwii&lt;br /&gt;
 |descr=La Wii NUNCHUCK est une manette de jeu super confortable et s'utilise sur le bus I2C. Ce controleur dispose d'une connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt; facilitant les raccordements. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modwii&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=mpr121&lt;br /&gt;
 |descr=Créer des pastilles/entrées capacitives (tactiles) avec le MPR121. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/mpr121&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=mpx5700a&lt;br /&gt;
 |descr=Utiliser un capteur de pression ANALOGIQUE MPX5700AP. SEEEDSTUDIO.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/mpx5700a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=NCD&lt;br /&gt;
 |descr=Connecter facilement une __mini carte I2C__ de NCD (National Control Device) sur une carte MicroPython grâce au connecteur &amp;lt;strong&amp;gt;NCD&amp;lt;/strong&amp;gt; qui facilite grandement les raccordements de périphérique I2C. Logique 5V. NCD.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/NCD&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ncd-mpl115a2&lt;br /&gt;
 |descr=Le MPL115A2 est un capteur de pression et température I2C. La &amp;lt;i&amp;gt;mini carte I2C de NCD&amp;lt;/i&amp;gt; propose un connecteur &amp;lt;strong&amp;gt;NCD&amp;lt;/strong&amp;gt; qui facilite grandement les raccordements de périphérique I2C.&amp;lt;br /&amp;gt;Ce senseur est également disponible sous forme de breakout. NCD,ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ncd-mpl115a2&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ncd-si7005&lt;br /&gt;
 |descr=Le SI7005 est un capteur d'humidité relative et température I2C. La &amp;lt;i&amp;gt;mini carte I2C de NCD&amp;lt;/i&amp;gt; propose un connecteur &amp;lt;strong&amp;gt;NCD&amp;lt;/strong&amp;gt; qui facilite grandement les raccordements de périphérique I2C.&amp;lt;br /&amp;gt;Ce senseur est également disponible sous forme de breakout. NCD.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ncd-si7005&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ncd-water-detect&lt;br /&gt;
 |descr=Détecteur de présence d'eau + Buzzer + 2 GPIOs (basé sur un PCA9536). La &amp;lt;i&amp;gt;mini carte I2C de NCD&amp;lt;/i&amp;gt; propose un connecteur &amp;lt;strong&amp;gt;NCD&amp;lt;/strong&amp;gt; qui facilite grandement les raccordements de périphérique I2C.&amp;lt;br /&amp;gt;Ce senseur est également disponible sous forme de breakout. NCD.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ncd-water-detect&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ncd-fet-solenoid&lt;br /&gt;
 |descr=Contrôleur de sortie FET + GPIO (basé sur un MCP23008) pour charge résistive / inductive 12V (valve). La &amp;lt;i&amp;gt;carte I2C de NCD&amp;lt;/i&amp;gt; propose un connecteur &amp;lt;strong&amp;gt;NCD&amp;lt;/strong&amp;gt; qui facilite grandement les raccordements de périphérique I2C.&amp;lt;br /&amp;gt;Ce senseur est également disponible sous forme de breakout. NCD.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ncd-fet-solenoid&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ncd-pecmac&lt;br /&gt;
 |descr=Capteur de courant alternatif sur bus I2C (ou interface IoT). La &amp;lt;i&amp;gt;carte I2C de NCD&amp;lt;/i&amp;gt; propose un connecteur &amp;lt;strong&amp;gt;NCD&amp;lt;/strong&amp;gt; qui facilite grandement les raccordements de périphérique I2C.&amp;lt;br /&amp;gt;Ce senseur est également disponible sous forme de breakout. NCD.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ncd-pecmac&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ncd-oled&lt;br /&gt;
 |descr=Un afficheur OLED 128x64 avec contrôleur SSD1306 (I2C) et connecteur NCD. NCD.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ncd-oled&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=neopixel&lt;br /&gt;
 |descr=Les &amp;lt;strong&amp;gt;NéoPixels&amp;lt;/strong&amp;gt; sont des LEDs digitales intelligentes pouvant être contrôlées indépendamment les unes des autres. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/neopixel&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=oled-ssd1306&lt;br /&gt;
 |descr=Le SSD1306 est un contrôleur d'écran OLED. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/oled-ssd1306&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=opt3101-fov&lt;br /&gt;
 |descr=Capteur de distance Time-Of-Flight FoV 3 canaux OPT3101 (POL3412). POLOLU.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/opt3101-fov&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=pca9536&lt;br /&gt;
 |descr=Contrôleur GPIO 4 bits I2C. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/pca9536&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=pca9685&lt;br /&gt;
 |descr=Controleur PWM-Driver à base de PCA9685 de NXP, 16 canaux, résolution 12 bits, pour commande des LEDs ou Servo. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/pca9685&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=pcf8523&lt;br /&gt;
 |descr=Une Horloge temps réel RTC + alarme avec MicroPython. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/pcf8523&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=pm25&lt;br /&gt;
 |descr=Utiliser un capteur de particule fine PM2.5 (PMS5003) avec MicroPython. ADAFRUIT,PIMORONI.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/pm25&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=qwiic-joystick-i2c&lt;br /&gt;
 |descr=Utiliser un joystick analogique I2C (Qwiic) avec MicroPython. SPARKFUN.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/qwiic-joystick-i2c&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=qwiic-keypad-i2c&lt;br /&gt;
 |descr=Utiliser un clavier I2C 12 touches (Qwiic) avec MicroPython. SPARKFUN.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/qwiic-keypad-i2c&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=qwiic-relay-i2c&lt;br /&gt;
 |descr=Utiliser un Relais-Simple/Quad-Relais/Quad-Relais-SSR I2C (qwiic) avec MicroPython. SPARKFUN.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/qwiic-relay-i2c&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=qwiic-vcnl4040-i2c&lt;br /&gt;
 |descr=Utiliser un capteur de proximité VCNL4040 (Qwiic, I2C) avec MicroPython. SPARKFUN.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/qwiic-vcnl4040-i2c&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=rfm69&lt;br /&gt;
 |descr=Utiliser module Packet Radio RFM69HCW (SPI) avec MicroPython. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/rfm69&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=sht3x&lt;br /&gt;
 |descr=Exploiter un capteur d'humidité SHT3x avec MicroPython. DFROBOT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/sht3x&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=st7687s&lt;br /&gt;
 |descr=Exploiter un TFT rond avec MicroPython. DFROBOT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/st7687s&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=stmpe610&lt;br /&gt;
 |descr=Utiliser un capteur tactile résistif avec MicroPython.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/stmpe610&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=tca9554a&lt;br /&gt;
 |descr=Ajouter 8 entrées/sortie avec le TCA9554A.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/tca9554a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=tcs34725&lt;br /&gt;
 |descr=Capturer la couleur (rgb ou Kelvin) avec un capteur TCS34725 + LED + filtre IR. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/tcs34725&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=trackball&lt;br /&gt;
 |descr=Ajouter un Trackball + LED RGBW sur votre projet MicroPython. PIMORONI.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/trackball&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=tsl2561&lt;br /&gt;
 |descr=Le TSL2561 est un senseur de &amp;lt;strong&amp;gt;luminosité&amp;lt;/strong&amp;gt; en lumière visible ayant un réponse proche de l'oeil humain. Retourne une valeur en LUX. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/tsl2561&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=tsl2591&lt;br /&gt;
 |descr=Le TSL2591 est un capteur de &amp;lt;strong&amp;gt;luminosité&amp;lt;/strong&amp;gt; en lumière visible ayant un réponse proche de l'oeil humain. Retourne une valeur en LUX. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/tsl2591&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=umqtt&lt;br /&gt;
 |descr=Exemples de communication MQTT avec un module ESP8266. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/umqtt&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=UEXT&lt;br /&gt;
 |descr=Connecteur &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt; en logique 3.3V est utilisé sur les cartes et capteurs d' Olimex. Il transporte les bus I2C, SPI, UART et alimentation 3.3V. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/UEXT&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
= PyBoard =&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;360px&amp;quot; | [[Fichier:MicroPython-PyBoard.jpg|320px]]&lt;br /&gt;
| align=&amp;quot;Left&amp;quot; width=&amp;quot;350px&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;padding:10px&amp;quot; | &lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; padding: 15px 0px; border-radius: 10px 10px 10px 10px; border: 1px solid #cccccc;&amp;quot;&amp;gt; '''Micro Python''' est une carte Python 3 offrant 30 GPIO, 20 PWM, 1 RTC, des bus I2C, CAN, SPI, un accéléromètre, etc.  la {{cl|56|gamme Micro Python est disponible}} chez [http://shop.mchobby.be MCHobby].&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== MicroPython, PyBoard et PYBStick ==&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Micro Python &amp;amp; PyBoard Kaséko?!?&lt;br /&gt;
  |descr=Venez découvrir le microcontrôleur programmable en Python. Plateforme, Boot, etc.&lt;br /&gt;
  |img=tlogo-micropython-presentation.jpg&lt;br /&gt;
  |link=MicroPython.présentation&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=En vidéo&lt;br /&gt;
  |descr=Quelques vidéos très intéressante.&lt;br /&gt;
  |img=tlogo-micropython-video.jpg&lt;br /&gt;
  |link=MicroPython.vidéo&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Tester en live&lt;br /&gt;
  |descr=Un petit laboratoire avec une carte Micro Python connecté sur Internet pour la tester.&lt;br /&gt;
  |img=tlogo-micropython-net.jpg&lt;br /&gt;
  |link=MicroPython.Live&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Brochage et Schema&lt;br /&gt;
  |descr=La carte Micro Python PyBoard, ses fonctionnalités, son brochage, ses schémas et composant Fritzing.&lt;br /&gt;
  |img=tlogo-micropython-brochage-pyboard.jpg&lt;br /&gt;
  |link=MicroPython.brochage.pyboard&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Généralités PyB&lt;br /&gt;
  |descr=Boot Modes, Code d'erreur, système de fichier et réinitialisation. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;'''A lire avant de se lancer'''&amp;lt;/font&amp;gt;.&lt;br /&gt;
  |img=tlogo-micropython-pyboard-Info.jpg&lt;br /&gt;
  |link=MicroPython.pyboard.généralités&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Références&lt;br /&gt;
  |descr=Liens, références et ressources Micro Python.&lt;br /&gt;
  |img=tlogo-micropython-reference.jpg&lt;br /&gt;
  |link=MicroPython.référence&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Doc officielle&lt;br /&gt;
  |descr=L'excellente documentation officielle en anglais. Une importante source de précieuses informations.&lt;br /&gt;
  |img=tlogo-micropython-docs.jpg&lt;br /&gt;
  |link=MicroPython.r%C3%A9f%C3%A9rence#Documentation_Officielle&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Modèles de PyBoard.&lt;br /&gt;
  |descr=Comparatif des différents modèles de la carte PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-modele.jpg&lt;br /&gt;
  |link=MicroPython.Pyboard.modele&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Mise-à-jour FirmWare&lt;br /&gt;
  |descr=Comment faire une mise-à-jour du Firmware de la Pyboard.&lt;br /&gt;
  |img=tlogo-micropython-update.jpg&lt;br /&gt;
  |link=MicroPython.Pyboard.mise-a-jour&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pyboard Discovery Kit&lt;br /&gt;
  |descr=Un kit et des tutos à thème pour découvrir la carte MicroPython PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-discovery.jpg&lt;br /&gt;
  |link=MicroPython.Pyboard.Discovery&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=upip&lt;br /&gt;
  |descr=Télécharger une bibliothèque MicroPython en utilisant le ''Python Index Package''.&lt;br /&gt;
  |img=tlogo-micropython-upip.jpg&lt;br /&gt;
  |link=MicroPython-Hack-upip&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=PYBStick STD Discovery&lt;br /&gt;
  |descr=Des tutos à thème pour découvrir MicroPython et la PYBStick STD 26.&lt;br /&gt;
  |img=tlogo-pybstick-discovery.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/pyboard-driver/tree/master/PYBStick&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=PYBStick HAT-FACE&lt;br /&gt;
  |descr=Une interface PYBStick vers Raspberry-Pi HAT.&lt;br /&gt;
  |img=tlogo-pybstick-hat-face.jpg&lt;br /&gt;
  |link=MicroPython.PYBStick.hat-face&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
== Hacking électronique avec MicroPython ==&lt;br /&gt;
ces scripts se penchent sur l'utilisation de MicroPython avec la Pyboard, la PYBStick.&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Précautions &amp;amp; alimentations&lt;br /&gt;
  |descr=Précautions d'usage avant de se lancer dans le hacking. Comment alimenter votre PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-prepare.jpg&lt;br /&gt;
  |link=MicroPython-Hack-Prepare&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Premier script&lt;br /&gt;
  |descr=Exécutez votre premier script et allumez une LED sur la carte.&lt;br /&gt;
  |img=tlogo-micropython-firstscript.jpg&lt;br /&gt;
  |link=MicroPython-Hack-first-script&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=L'invite REPL&lt;br /&gt;
  |descr=Obtenir l'invite '''en ligne de commande''' REPL et utilisez PyBoard en mode terminal.&lt;br /&gt;
  |img=tlogo-micropython-REPL.jpg&lt;br /&gt;
  |link=MicroPython-Hack-REPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=LED et concepts&lt;br /&gt;
  |descr=Allumer les LEDs de la carte PyBoard. Les concepts de base.&lt;br /&gt;
  |img=tlogo-micropython-LED.jpg&lt;br /&gt;
  |link=MicroPython-Hack-LED&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=1 LED externe&lt;br /&gt;
  |descr=Branchez votre première LED sur la PyBoard et contrôlez là.&lt;br /&gt;
  |img=Tlogo-micropython-1led.png&lt;br /&gt;
  |link=MicroPython-Hack-1LED&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=8 LEDs&lt;br /&gt;
  |descr=Contrôler plusieurs LEDs.&lt;br /&gt;
  |img=Tlogo-micropython-8leds.png&lt;br /&gt;
  |link=MicroPython-Hack-8LEDS&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Bouton&lt;br /&gt;
  |descr=Bouton, '''callback''' et '''interruption'''.&lt;br /&gt;
  |img=tlogo-micropython-button.jpg&lt;br /&gt;
  |link=MicroPython-Hack-button&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=L'accéléromètre &lt;br /&gt;
  |descr=Utiliser l'accéléromètre de la carte.&lt;br /&gt;
  |img=tlogo-micropython-accelerometre.jpg&lt;br /&gt;
  |link=MicroPython-Hack-accelerometre&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Safe Mode &amp;amp; réinitialisation &lt;br /&gt;
  |descr=Safe Mode et réinitialisation d'usine. Reprenez le contrôle de votre PyBoard&lt;br /&gt;
  |img=tlogo-micropython-safemode.jpg&lt;br /&gt;
  |link=MicroPython-Hack-safemode&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=PyBoard = souris &lt;br /&gt;
  |descr=Faire agir la PyBoard comme une souris. Réalisez vos propres interface homme-machine.&lt;br /&gt;
  |img=tlogo-micropython-souris.jpg&lt;br /&gt;
  |link=MicroPython-Hack-souris&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Les timers &lt;br /&gt;
  |descr=Mesurer des durées, réaliser des synchronisations ou exécuter du code à intervalle régulier. Exploitez les 14 timers de votre PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-timer.jpg&lt;br /&gt;
  |link=MicroPython-Hack-timers&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Assembleurs &lt;br /&gt;
  |descr=Utiliser l'assembleur inline. Ajouter du code assembleur ARM au sein même de vos programmes.&lt;br /&gt;
  |img=tlogo-micropython-assembleur.jpg&lt;br /&gt;
  |link=MicroPython-Hack-assembleur&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Contrôle de puissance &lt;br /&gt;
  |descr=Contrôler la consommation de votre PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-power.jpg&lt;br /&gt;
  |link=MicroPython-Hack-power&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Servo-moteur &lt;br /&gt;
  |descr=Contrôler des servo moteur en Micro Python. Quelques commandes pour positionner un axe sur un angle donné.&lt;br /&gt;
  |img=tlogo-moteur-servo.jpg&lt;br /&gt;
  |link=MicroPython-Hack-servo&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Luminosité d'une LED &lt;br /&gt;
  |descr=Contrôler la luminosité d'une LED ou la faire pulser avec un signal PWM.&lt;br /&gt;
  |img=tlogo-micropython-fading.jpg&lt;br /&gt;
  |link=MicroPython-Hack-fading&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Déparasitage entrée &lt;br /&gt;
  |descr=Comment déparasiter une entrée.&lt;br /&gt;
  |img=tlogo-micropython-deparasitage.jpg&lt;br /&gt;
  |link=MicroPython-Hack-deparasitage&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Lecture Analogique &lt;br /&gt;
  |descr=Réaliser une lecture analogique sur le PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-analogique.png&lt;br /&gt;
  |link=MicroPython-Hack-Analogique&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=TMP36 = °C &lt;br /&gt;
  |descr=Lire la température avec TMP36 un senseur de température analogique.&lt;br /&gt;
  |img=tlogo-micropython-tmp36.png&lt;br /&gt;
  |link=MicroPython-Hack-TMP36&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Photo-résistance&lt;br /&gt;
  |descr=Utiliser une photorésistance, Ldr, Cds et une entrée analogique pour détecter la présence de la lumière.&lt;br /&gt;
  |img=tlogo-micropython-LDR.png&lt;br /&gt;
  |link=MicroPython-Hack-LDR&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Moteur&lt;br /&gt;
  |descr=Utiliser un transistor pour commander un moteur.&lt;br /&gt;
  |img=tlogo-micropython-moteur.png&lt;br /&gt;
  |link=MicroPython-Hack-moteur&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Relais&lt;br /&gt;
  |descr=Commander des charges plus importantes à l'aide d'un relais.&lt;br /&gt;
  |img=tlogo-micropython-relais.png&lt;br /&gt;
  |link=MicroPython-Hack-relais&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=LED RGB&lt;br /&gt;
  |descr=Contrôler une LED Rouge,Vert,Bleu pour créer n'importe quelle couleur &lt;br /&gt;
  |img=tlogo-micropython-LedRGB.png&lt;br /&gt;
  |link=MicroPython-Hack-led-RGB&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Piezo&lt;br /&gt;
  |descr=Utiliser un piezo buzzer pour faire de la musique &lt;br /&gt;
  |img=tlogo-micropython-Piezo.png&lt;br /&gt;
  |link=MicroPython-Hack-piezo&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Déboguer &lt;br /&gt;
  |descr=Quelques petits trucs pour vous aider à déboguer vos programmes.&lt;br /&gt;
  |img=tlogo-micropython-Debugger.jpg&lt;br /&gt;
  |link=MicroPython-Hack-Debug&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Outil dev&lt;br /&gt;
  |descr=Quelques outils pour aider vos développement PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-Debugger.jpg&lt;br /&gt;
  |link=MicroPython-Hack-Outil&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=USB &amp;lt;-&amp;gt; UART &lt;br /&gt;
  |descr=Envoyer les données de l'UART vers USB (et vice-versa).&lt;br /&gt;
  |img=tlogo-micropython-USB-UART.jpg&lt;br /&gt;
  |link=MicroPython-Hack-USB-UART&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
== Extensions Pyboard ==&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Extension LCD &lt;br /&gt;
  |descr=Utiliser l'extension LCD.&lt;br /&gt;
  |img=tlogo-micropython-LCD.jpg&lt;br /&gt;
  |link=MicroPython-LCD&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=TFT 2.8&amp;quot;&lt;br /&gt;
  |descr=Utiliser un TFT 2.8 avec contrôleur ILI9341 sur un PyBoard&lt;br /&gt;
  |img=tlogo-micropython-ILI9341.jpg&lt;br /&gt;
  |link=MicroPython-ILI9341&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Maîtriser I2C&lt;br /&gt;
  |descr=Utiliser et maîtriser les bus I2C sous MicroPython.&lt;br /&gt;
  |img=tlogo-micropython-I2C.jpg&lt;br /&gt;
  |link=MicroPython-I2C&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Ultrason HC-SR04&lt;br /&gt;
  |descr=Evaluer une distance de 2cm à 4m avec le HC-SR04. Il fonctionne comme un sonar.&lt;br /&gt;
  |img=tlogo-HC-SR04.jpg&lt;br /&gt;
  |link=MicroPython-HC-SR04&lt;br /&gt;
}}&lt;br /&gt;
 &lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pont-H L293D&lt;br /&gt;
  |descr=Double Pont-H pour contrôler deux moteurs (basse puissance)&lt;br /&gt;
  |img=tlogo-micropython-l293.jpg&lt;br /&gt;
  |link=hack-micropython-L293D&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Afficheur 4x7 I2C&lt;br /&gt;
  |descr=Utilisation d'afficheur 4x7 segment sur le bus I2C de la PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-4x7.jpg&lt;br /&gt;
  |link=MicroPython-4x7&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Contrôleur PWM&lt;br /&gt;
  |descr=Utilisation du controleur PWM 16 canaux avec la PyBoard.&lt;br /&gt;
  |img=tlogo-adf-pwm.jpg&lt;br /&gt;
  |link=MicroPython-PWM-DRIVER&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Mosfet &lt;br /&gt;
  |descr=Commander un MOSFET de puissance à partie d'un microcontrôleur 3.3V.&lt;br /&gt;
  |img=tlogo-micropython-Mosfet.png&lt;br /&gt;
  |link=MicroPython-Hack-Mosfet&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Bluetooth &amp;amp; REPL&lt;br /&gt;
  |descr=Utiliser un module Bluetooth série avec PyBoard. Dupliquer REPL sur Bluetooth.&lt;br /&gt;
  |img=tlogo-micropython-bluetooth.jpg&lt;br /&gt;
  |link=MicroPython-bluetooth&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=HAT-SENSE&lt;br /&gt;
  |descr=Utiliser le Hat-Sense avec votre Pyboard&lt;br /&gt;
  |img=tlogo-micropython-hat-sense.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/esp8266-upy/tree/master/hat-sense&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=PYBD Butterfly&lt;br /&gt;
  |descr=Assembler le Pyboard-D Butterfly&lt;br /&gt;
  |img=tlogo-pybd-butterfly.jpg&lt;br /&gt;
  |link=PYBD-Butterfly&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Afficheur matrice 8x8&lt;br /&gt;
  |descr=Utilisation d'afficheur 8x8 à matrice sur le bus I2C de la PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-8x8.jpg&lt;br /&gt;
  |link=MicroPython-8x8&lt;br /&gt;
  |traduction=1&lt;br /&gt;
}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
== PyBoard Robotique ==&lt;br /&gt;
&lt;br /&gt;
Voici quelques tutoriels pour réaliser une plateforme robotique à base de MicroPython PyBoard.&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Robot 2 Roues&lt;br /&gt;
  |descr=Commander un robot 2 roues maison avec MicroPython PyBoard et un L293D&lt;br /&gt;
  |img=tlogo-micropython-Robot2Wheel.jpg&lt;br /&gt;
  |link=hack-micropython-Robot2Wheel&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Robot Ultrason&lt;br /&gt;
  |descr=Piloter le robot 2 roues avec un senseur Ultrason HC-SR04&lt;br /&gt;
  |img=tlogo-micropython-Robot2Wheel-HC-SR04.jpg&lt;br /&gt;
  |link=hack-micropython-Robot2Wheel-HC-SR04&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Motor-Skin&lt;br /&gt;
  |descr=Contrôler facilement une plateforme robotique à deux moteurs avec le Motor-Skin pour PyBoard.&lt;br /&gt;
  |img=tlogo-motorskin-00.jpg&lt;br /&gt;
  |link=hack-MotorSkin&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=ENG: Motor-Skin&lt;br /&gt;
  |descr=Take the control of a 2 motors robotic plateform with the PyBoard's Motor-Skin.&lt;br /&gt;
  |img=tlogo-motorskin-00.jpg&lt;br /&gt;
  |link=hack-ENG-MotorSkin&lt;br /&gt;
  |traduction=1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Servo Robots&lt;br /&gt;
  |descr=Apprenez à réaliser DOGGY et prendre le contrôle de Robots utilisant des servos moteurs pour se déplacer.&lt;br /&gt;
  |img=tlogo-micropython-ServoRobot.jpg&lt;br /&gt;
  |link=hack-micropython-ServoRobot&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Moteur DFRobot&lt;br /&gt;
  |descr=Apprenez à contrôler les moteurs continu DFRobot avec un signal servo. Trop classe!&lt;br /&gt;
  |img=tlogo-micropython-dfrobot-motor.jpg&lt;br /&gt;
  |link=hack-micropython-dfrobot-motor&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
= Autres =&lt;br /&gt;
== ESP8266 en MicroPython ==&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;360px&amp;quot; | [[Fichier:MicroPython-ESP8266.jpg|320px]]&lt;br /&gt;
| align=&amp;quot;Left&amp;quot; width=&amp;quot;350px&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;padding:10px&amp;quot; | &lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; padding: 15px 0px; border-radius: 10px 10px 10px 10px; border: 1px solid #cccccc;&amp;quot;&amp;gt;'''MicroPython sur ESP8266'''. Reflasher un {{pl|846|Feather ESP8266}}, un {{deadpl|1221|Wemos D1 Mini}}, {{pl|668|ESP8266-EVB}} ou NodeMCU pour qu'il supporte MicroPython afin de réaliser des senseurs connectés à prix imbattable! Un minimum de savoir faire est cependant requis.&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Cette section est dévolue à la plateforme {{pl|846|Feather ESP8266 Huzza}}, {{deadpl|1221|Wemos ESP8266}}, NodeMCU reflashé pour MicroPython et extension comme {{cl|87|FeatherWing}}, {{cl|123|Wemos Extension}} (extension).&lt;br /&gt;
&lt;br /&gt;
Cette section est assortie du [https://github.com/mchobby/esp8266-upy GitHub ESP8266-upy contenant des sources et exemples].&lt;br /&gt;
&lt;br /&gt;
=== Généralités ===&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Feather ESP8266&lt;br /&gt;
  |descr=Découvrir le Feather ESP8266, son Brochage, Alimentation, Schéma, FAQ.&lt;br /&gt;
  |img=tlogo-feather-esp8266.jpg&lt;br /&gt;
  |link=FEATHER-ESP8266&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=ESP8266-EVB&lt;br /&gt;
  |descr=Découvrir l'ESP8266-EVB (evaluation board) et ESP8266-DEV (module ESP), son Brochage, Alimentation, Port UEXT, Schéma, FAQ.&lt;br /&gt;
  |img=tlogo-esp8266-dev.jpg&lt;br /&gt;
  |link=ESP8266-DEV&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=ESP32-EVB&lt;br /&gt;
  |descr=Commander les éléments de la carte '''ESP32'''-DEV d'Olimex.&lt;br /&gt;
  |img=tlogo-esp32-evb.png&lt;br /&gt;
  |link=MicroPython-esp32-evb&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Charger MicroPython&lt;br /&gt;
  |descr=Apprenez comment charger le Firmware MicroPython sur une carte Pyboard, ESP32/ESP8266 (Feather, Wemos, NodeMcu), etc.&lt;br /&gt;
  |img=tlogo-feather-load-upy.jpg&lt;br /&gt;
  |link=FEATHER-CHARGER-MICROPYTHON&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Téléverser &amp;amp; Exécuter&lt;br /&gt;
  |descr=Téléverser des fichiers et exécuter du code. Un flux simple de développement.&lt;br /&gt;
  |img=tlogo-feather-load-file.jpg&lt;br /&gt;
  |link=FEATHER-CHARGER-FICHIER-MICROPYTHON&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=ESP8266 WebRepl&lt;br /&gt;
  |descr=Accéder à la console Python via la connexion WiFi d'un ESP8266.&lt;br /&gt;
  |img=tlogo-feather-WebRepl.jpg&lt;br /&gt;
  |link=FEATHER-WEBREPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Charger un module&lt;br /&gt;
  |descr=Charger des modules Python pour ajouter de nouvelle fonctionnalités à votre carte.&lt;br /&gt;
  |img=tlogo-feather-charger-module.jpg&lt;br /&gt;
  |link=FEATHER-CHARGER-MODULE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=RShell&lt;br /&gt;
  |descr=Transférez des fichiers et contrôlez votre carte depuis une simple connexion série. ESP8266 compatible.&lt;br /&gt;
  |img=tlogo-micropython-RShell.jpg&lt;br /&gt;
  |link=MicroPython-Hack-RShell&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=upip&lt;br /&gt;
  |descr=Télécharger une bibliothèque MicroPython en utilisant le ''Python Index Package''.&lt;br /&gt;
  |img=tlogo-micropython-upip.jpg&lt;br /&gt;
  |link=MicroPython-Hack-upip&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
=== Hacking électronique ===&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Entrée Analogique&lt;br /&gt;
  |descr=Utilisation de l'entrée analogique du Feather ESP8266 sous MicroPython.&lt;br /&gt;
  |img=tlogo-micropython-analogique.png&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-ADC&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=AM2315 - Humidité&lt;br /&gt;
  |descr=Mesure de '''température''' et '''humidité''' {{underline|en extérieur}} avec AM2315&lt;br /&gt;
  |img=tlogo-feather-upy-am2315.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-AM2315&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=DHT11 - Humidité&lt;br /&gt;
  |descr=Mesure d' '''humidité''' et '''température''' avec le très économique DHT11.&lt;br /&gt;
  |img=tlogo-feather-upy-dht11.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-DHT11&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=TSL2561 - Luminosité&lt;br /&gt;
  |descr=Mesure de la luminosité en Lux.&lt;br /&gt;
  |img=tlogo-feather-upy-TSL2561.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-TSL2561&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=BMP180 - pression&lt;br /&gt;
  |descr=Mesurer la pression atmosphérique et normalisez là.&lt;br /&gt;
  |img=tlogo-feather-upy-BMP180.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-BMP180&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=BMP280 / BME280&lt;br /&gt;
  |descr=Mesurer la pression atmosphérique, température avec BMP280 + humidité avec BME280.&lt;br /&gt;
  |img=tlogo-feather-upy-BME280.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-BME280&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=ADS1x15&lt;br /&gt;
  |descr=Mesurer précisément une tension analogique avec un ADS1115 ou ADS1015.&lt;br /&gt;
  |img=tlogo-feather-upy-ADS1115.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-ADS1115&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=NeoPixel&lt;br /&gt;
  |descr=Utiliser des NeoPixel (WS2812, SK6812) sur ESP avec MicroPython. Comment passer de 3.3V à 5V.&lt;br /&gt;
  |img=tlogo-feather-upy-neopixel.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-NEOPIXEL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=GPIO Expander&lt;br /&gt;
  |descr=Utiliser le MCP23017 pour ajouter des entrées/sorties sur ESP8266.&lt;br /&gt;
  |img=tlogo-feather-upy-MCP23017.png&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-MCP23017&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=OLED&lt;br /&gt;
  |descr=Utiliser un écran OLED en MicroPython (ESP8266).&lt;br /&gt;
  |img=tlogo-feather-upy-oled.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-OLED&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-OLED [UEXT]&lt;br /&gt;
  |descr=Un écran OLED 128x64 (I2C) utilisé sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-oled.png&lt;br /&gt;
  |link=MICROPYTHON-MOD-OLED&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-IO [UEXT]&lt;br /&gt;
  |descr=Utiliser le module I2C '''MOD-IO''' sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-io.png&lt;br /&gt;
  |link=MICROPYTHON-MOD-IO&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-IO2 [UEXT]&lt;br /&gt;
  |descr=Utiliser le module I2C '''MOD-IO2''' sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-io2.jpg&lt;br /&gt;
  |link=MICROPYTHON-MOD-IO2&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-RGB [UEXT]&lt;br /&gt;
  |descr=Contrôler des rubans LEDs RGB / RVB avec le module I2C '''MOD-RGB''' sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-rgb.png&lt;br /&gt;
  |link=MICROPYTHON-MOD-RGB&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-LCD1x9 [UEXT]&lt;br /&gt;
  |descr=Contrôler l'afficheur Alphanumérique à cristaux liquide avec le module I2C '''MOD-LCD1x9''' sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-lcd1x9.png&lt;br /&gt;
  |link=MICROPYTHON-MOD-LCD1x9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-MAG3110 [UEXT]&lt;br /&gt;
  |descr=Un magnétomètre 3 axes '''MAG3110''' de NXP avec le module I2C '''MOD-MAG3110''' sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-mag3110.png&lt;br /&gt;
  |link=MICROPYTHON-MOD-MAG3110&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-LTR501ALS [UEXT]&lt;br /&gt;
  |descr=Senseur de luminosité et de proximité '''LTR-501ALS'''. Exploiter le module I2C sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-ltr501als.png&lt;br /&gt;
  |link=MICROPYTHON-MOD-LTR501ALS&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-Wii-Chuck [UEXT]&lt;br /&gt;
  |descr=Contrôleur de jeu I2C Wii Nunchuck. Exploiter le sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-wii-nunchuck.png&lt;br /&gt;
  |url=https://github.com/mchobby/esp8266-upy/tree/master/modwii&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=DFR-Anemometer&lt;br /&gt;
  |descr=Utiliser un anémomètre (SEN0170) à sortie analogique avec un ESP32 sous MicroPython.&lt;br /&gt;
  |img=tlogo-anemometer.png&lt;br /&gt;
  |link=MICROPYTHON-ANEMOMETER&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=DFR-Girouette&lt;br /&gt;
  |descr=Utiliser une Girouette un anémomètre RS485 (SEN0482) sous MicroPython avec l'aide d'un module MOD-RS485-ISO.&lt;br /&gt;
  |img=tlogo-grouette.png&lt;br /&gt;
  |url=https://github.com/mchobby/esp8266-upy/tree/master/modrs485iso&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
== SAMD21 en MicroPython ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;360px&amp;quot; | [[Fichier:MicroPython-SAMD21.jpg|320px]]&lt;br /&gt;
| align=&amp;quot;Left&amp;quot; width=&amp;quot;350px&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;padding:10px&amp;quot; | &lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; padding: 15px 0px; border-radius: 10px 10px 10px 10px; border: 1px solid #cccccc;&amp;quot;&amp;gt;'''MicroPython sur SAMD21'''. Reflasher un {{sl|M0|Feather M0}} ou {{sl|zero|Arduino Zero}} pour qu'il supporte MicroPython! Un minimum de savoir faire est cependant requis.&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Cette section est dévolue aux plateforme SAMD21 comme le {{sl|M0|Feather M0}} ou {{sl|zero|Arduino Zero}} reflashé pour MicroPython.&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Compiler et charger MicroPython&lt;br /&gt;
  |descr=Comment compiler MicroPython et le charger sur une carte SAMD21.&lt;br /&gt;
  |img=tlogo-samd21-charger-micropython.jpg&lt;br /&gt;
  |link=SAMD21-CHARGER-MICROPYTHON&lt;br /&gt;
  |traduction=1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Feather M0 Express&lt;br /&gt;
  |descr=Carte Feather conçue pour Arduino IDE et CircuitPython (MicroPython)&lt;br /&gt;
  |img=tlogo-feather-m0-express.jpg&lt;br /&gt;
  |link=FEATHER-M0-EXPRESS&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
== WiPy ==&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;360px&amp;quot; | [[Fichier:MicroPython-WiPy.jpg|320px]]&lt;br /&gt;
| align=&amp;quot;Left&amp;quot; width=&amp;quot;350px&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;padding:10px&amp;quot; | &lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; padding: 15px 0px; border-radius: 10px 10px 10px 10px; border: 1px solid #cccccc;&amp;quot;&amp;gt; '''WiPy''' est une plateforme de développement &amp;quot;Internet des Objets&amp;quot; qui fonctionne sous Python. WiPy à moins de GPIO, est moins rapide que la PyBoard MAIS inclus le support WiFi.  la {{cl|68|gamme WiPy disponible}} chez [http://shop.mchobby.be MCHobby].&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Cette section est dévolue à la plateforme {{pl|737|MicroPython WiPy}}.&lt;br /&gt;
&lt;br /&gt;
=== Découvrir WiPy ===&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Généralités WiPy&lt;br /&gt;
  |descr=Informations générales '''mais importantes''' à propos de WiPy.&lt;br /&gt;
  |img=tlogo-micropython-pyboard-Info.jpg&lt;br /&gt;
  |link=hack-wipy-generalite&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=WiPy intro&lt;br /&gt;
  |descr=Introduction à WiPy, en prendre soin, la carte d'extension et &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;les tensions d'alimentation&amp;lt;/font&amp;gt;&lt;br /&gt;
  |img=tlogo-wipy-intro.jpg&lt;br /&gt;
  |link=hack-wipy-introduction&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Brochage WiPy&lt;br /&gt;
  |descr=Le brochage du WiPy et les informations utiles sur les broches.&lt;br /&gt;
  |img=tlogo-wipy-pinout.jpg&lt;br /&gt;
  |link=hack-wipy-pinout&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=WiPy REPL&lt;br /&gt;
  |descr=Votre WiPy en ligne de commande avec le REPL. Envoyez des ordres à votre WiPy depuis votre réseau WiFi.&lt;br /&gt;
  |img=Tlogo-micropython-REPL.jpg&lt;br /&gt;
  |link=hack-wipy-repl&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=WiPy et Blynk&lt;br /&gt;
  |descr=Utilisez votre WiPy depuis votre smartphone à l'aide de Blynk&lt;br /&gt;
  |img=tlogo-wipy-blynk.jpg&lt;br /&gt;
  |link=hack-wipy-blynk&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Config WiFi/WLAN&lt;br /&gt;
  |descr=Configuration de la connexion WiFi/WLAN de votre WiPy étape par étape.&lt;br /&gt;
  |img=tlogo-wipy-intro.jpg&lt;br /&gt;
  |link=hack-wipy-wlan&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Boot/Reset&lt;br /&gt;
  |descr=Réinitialisation (Reset) et mode de démarrage (boot mode) de votre WiPy. Ne restez jamais bloqué avec votre WiPy.&lt;br /&gt;
  |img=Tlogo-micropython-safemode.jpg&lt;br /&gt;
  |link=hack-wipy-boot-mode&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Mise-à-jour&lt;br /&gt;
  |descr=Comment réaliser la mise-à-jour du firmware.&lt;br /&gt;
  |img=tlogo-micropython-update.jpg&lt;br /&gt;
  |link=hack-wipy-upgrade-firmware&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Références&lt;br /&gt;
  |descr=Liens, références et ressources concernant WiPy, LoPy.&lt;br /&gt;
  |img=tlogo-micropython-reference.jpg&lt;br /&gt;
  |link=hack-wipy-reference&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
=== Hacking electronic avec WiPy ===&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Controler HeartBeat&lt;br /&gt;
  |descr=Prenez le contrôle de votre première LED, la LED HeartBeat présent sur la carte.&lt;br /&gt;
  |img=tlogo-hack-wipy-heatbeat.jpg&lt;br /&gt;
  |link=hack-wipy-heartbeat&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=LED Externe&lt;br /&gt;
  |descr=Brancher et contrôler une LED. Apprenez ce que signifie ''Current Sink'' et et ''Current Source''&lt;br /&gt;
  |img=Tlogo-micropython-1led.png&lt;br /&gt;
  |link=hack-wipy-led&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Bouton&lt;br /&gt;
  |descr=Utiliser une entrée pour lire l'état d'un bouton. Apprenez ce que signifie ''Résistance Pull Up'' et utiliser les '''interruptions''' et fonction '''callback'''.&lt;br /&gt;
  |img=Tlogo-wipy-button.jpg&lt;br /&gt;
  |link=hack-wipy-button&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Relais&lt;br /&gt;
  |descr=Commandez un Relais avec votre WiPy.&lt;br /&gt;
  |img=Tlogo-wipy-relais.png&lt;br /&gt;
  |link=hack-wipy-Relais&lt;br /&gt;
  |traduction=1&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Timer&lt;br /&gt;
  |descr=Utiliser un Timer pour appeler régulièrement du code sur votre WiPy.&lt;br /&gt;
  |img=Tlogo-wipy-timer.png&lt;br /&gt;
  |link=hack-wipy-Timer&lt;br /&gt;
  |traduction=1&lt;br /&gt;
}} &lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
== LoPy &amp;amp; WiPy 2 ==&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;360px&amp;quot; | [[Fichier:MicroPython-Lopy.jpg|320px]]&lt;br /&gt;
| align=&amp;quot;Left&amp;quot; width=&amp;quot;350px&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;padding:10px&amp;quot; | &lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; padding: 15px 0px; border-radius: 10px 10px 10px 10px; border: 1px solid #cccccc;&amp;quot;&amp;gt; '''LoPy''' est une plateforme de développement &amp;quot;Internet des Objets&amp;quot; qui fonctionne sous Python. LoPy supporte 3 types de réseau sans fil: LoRa, WiFi et Bluetooth.  la {{cl|68|gamme WiPy/Lopy est disponible}} chez [http://shop.mchobby.be MCHobby].&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Cette section est dévolue à la plateforme {{pl|737|MicroPython LoPy}}, {{pl|1039|MicroPython WiPy 2}} et la {{pl|1011|carte d'extension WiPy/LoPy}}. Les plateformes WiPy 2 et Lopy sont toutes deux basées sur un ESP_32, ce qui fait que cette section convient pour les deux plateformes.&lt;br /&gt;
&lt;br /&gt;
{{ambox|text=19/02/2017: Le FirmWare du Lopy/Wipy est activement développé, des nouvelles et/ou firmwares sont disponibles toutes les semaines.&lt;br /&gt;
&lt;br /&gt;
Tenez vous au courant en suivant les [https://forum.pycom.io/category/1/announcements-news annonces du forum Pycom.io] pour être tenu au courant.}}&lt;br /&gt;
 &lt;br /&gt;
=== Découvrir LoPy / WiPy 2 ===&lt;br /&gt;
&lt;br /&gt;
LoPy et WiPy 2 sont tous les deux basés sur une plateforme ESP_32, de ce fait, les guides ci-dessous conviennent pour les deux plateformes. &lt;br /&gt;
&lt;br /&gt;
Vous pouvez également vous inspirer des montages et exemples du WiPy 1 pour faire du prototypage électronique. &lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Démarrer&lt;br /&gt;
  |descr=Démarrer rapidement avec LoPy ou WiPy 2 (plateforme ESP_32 de PyCom)&lt;br /&gt;
  |img=tlogo-lopy-intro.jpg&lt;br /&gt;
  |link=hack-pycom-esp_32&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Brochage WiPy2&lt;br /&gt;
  |descr=Brochage du WiPy 2&lt;br /&gt;
  |img=tlogo-wipy2-pinout.jpg&lt;br /&gt;
  |link=hack-pycom-wipy2-pinout&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Brochage LoPy&lt;br /&gt;
  |descr=Brochage du LoPy&lt;br /&gt;
  |img=tlogo-lopy-pinout.jpg&lt;br /&gt;
  |link=hack-pycom-lopy-pinout&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=FTP/Telnet&lt;br /&gt;
  |descr=Se connecter en FTP ou telnet sur le Lopy&lt;br /&gt;
  |img=tlogo-lopy-ftp.jpg&lt;br /&gt;
  |link=hack-pycom-lopy-ftp&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pymakr IDE&lt;br /&gt;
  |descr=Un éditeur qui se connecte en Telnet ou port série. Utiliser la LED du RGB du WiPy.&lt;br /&gt;
  |img=tlogo-lopy-ide.jpg&lt;br /&gt;
  |link=Hack-pycom-lopy-Pymakr&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Boîte à outils&lt;br /&gt;
  |descr=Les modules, REPL, FTP, '''Boot mode''', Interruption... tout ce qu'il faut savoir &lt;br /&gt;
  |img=tlogo-lopy-toolbix.jpg&lt;br /&gt;
  |link=Hack-pycom-lopy-toolbox&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=RShell&lt;br /&gt;
  |descr=Transférez des fichiers et contrôlez votre carte depuis une simple connexion série. WiPy et ESP8266 compatible.&lt;br /&gt;
  |img=tlogo-micropython-RShell.jpg&lt;br /&gt;
  |link=MicroPython-Hack-RShell&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=MicroPython-Accueil&amp;diff=34502</id>
		<title>MicroPython-Accueil</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=MicroPython-Accueil&amp;diff=34502"/>
		<updated>2026-01-06T23:22:51Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Hacking électronique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{device-links}}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;360px&amp;quot; | [[Fichier:powered-by-micropython.png|320px]]&lt;br /&gt;
| align=&amp;quot;Left&amp;quot; width=&amp;quot;350px&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;padding:10px&amp;quot; | &lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; padding: 15px 0px; border-radius: 10px 10px 10px 10px; border: 1px solid #cccccc;&amp;quot;&amp;gt; '''Micro Python''' est une version optimisée et allégée de Python 3 pour système embarqué.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''PyBoard, Pico, ESP32, etc sont des cartes microcontrôleurs supportant MicroPython'''. Ces cartes électroniques exécutnt MicroPython en ''[http://en.wikipedia.org/wiki/Bare_machine bare metal]'' et vous offre un système d'exploitation Python de bas niveau permettant de contrôler toute sorte de projets électroniques. Trop fort... I Love It!!!&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;La {{cl|56|gamme Micro Python est maintenant disponible}} chez [http://shop.mchobby.be MCHobby].&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Pico / Pico2 (Raspberry-Pi) =&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;360px&amp;quot; | [[Fichier:MicroPython-pico.jpg|320px]]&lt;br /&gt;
| align=&amp;quot;Left&amp;quot; width=&amp;quot;350px&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;padding:10px&amp;quot; | &lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; padding: 15px 0px; border-radius: 10px 10px 10px 10px; border: 1px solid #cccccc;&amp;quot;&amp;gt;'''MicroPython sur Raspberry-Pi Pico''' et '''Pico Wireless'''. Reflasher un {{pl|2025|Pico}}, un {{pl|2036|Pico Header}} pour qu'il supporte MicroPython afin de réaliser des objets intelligents à prix imbattable!&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Cette section est dévolue à la plateforme {{pl|2025|Pico}} reflashé avec MicroPython.&lt;br /&gt;
&lt;br /&gt;
Cette section est assortie:&lt;br /&gt;
* du [https://github.com/mchobby/esp8266-upy GitHub ESP8266-upy contenant des sources et exemples pour cartes MicroPython].&lt;br /&gt;
* du [https://github.com/mchobby/pyboard-driver/tree/master/Pico GitHub Pyboard-Driver contenant des ressource pour la carte Pico]&lt;br /&gt;
&lt;br /&gt;
== Généralités ==&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Python_SDK_FR&lt;br /&gt;
  |descr=Un PDF pour découvrir le Raspberry-Pi Pico, son Brochage, Alimentation, Schéma, FAQ.&lt;br /&gt;
  |img=tlogo-pico-python-sdk.jpg&lt;br /&gt;
  |url=http://df.mchobby.be/RASPBERRY-PICO/Python_SDK_FR.pdf&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Brochage&lt;br /&gt;
  |descr=Le brochage de référence du Pico sous MicroPython.&lt;br /&gt;
  |img=tlogo-pico-pinout.jpg&lt;br /&gt;
  |url=https://raw.githubusercontent.com/mchobby/pyboard-driver/master/Pico/docs/_static/Pico.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Thonny IDE&lt;br /&gt;
  |descr=Utiliser Thonny IDE avec Pico et carte RP2040&lt;br /&gt;
  |img=tlogo-thonny.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/01/micromod-rp2040-pico-utiliser-thonny.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico et Thonny&lt;br /&gt;
  |descr=Utiliser l'IDE Thonny (recommandé par la fondation) avec votre Pico. Un bel article de Framboise314.&lt;br /&gt;
  |img=tlogo-pico-thonny.jpg&lt;br /&gt;
  |url=https://www.framboise314.fr/utiliser-le-raspberry-pi-pico-avec-thonny/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Ressources&lt;br /&gt;
  |descr=Diverses ressources pour le Pico sous MicroPython. Y Compris un Pico annoté&lt;br /&gt;
  |img=tlogo-Github.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/pyboard-driver/tree/master/Pico&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Reset btn&lt;br /&gt;
  |descr=Ajouter un bouton Reset à votre Pico.&lt;br /&gt;
  |img=tlogo-pico-reset.jpg&lt;br /&gt;
  |link=PICO-RESET-BUTTON&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico-W Intro &lt;br /&gt;
  |descr=Découvrir le Raspberry-Pi Pico WIRELESS - WiFi et Bluetooth sur le Pico &lt;br /&gt;
  |img=tlogo-pico-wireless.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/06/raspberry-pi-pico-wireless-wifi-et.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico-W et MicroPython&lt;br /&gt;
  |descr=Pico Wireless : installer le firmware MicroPython &lt;br /&gt;
  |img=tlogo-pico-wireless.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/06/pico-wireless-installer-le-firmware.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico-W et WiFi&lt;br /&gt;
  |descr=Pico Wireless : MicroPython et le WiFi &lt;br /&gt;
  |img=tlogo-pico-wireless.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/07/pico-wireless-micropython-et-le-wifi.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico-W WebREPL&lt;br /&gt;
  |descr=Pico Wireless: Comment utiliser WEBRepl &lt;br /&gt;
  |img=tlogo-pico-wireless.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/08/pico-wireless-comment-utiliser-webrepl.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico LED utilisateur&lt;br /&gt;
  |descr=Pico Wireless: MicroPython et la LED utilisateur &lt;br /&gt;
  |img=tlogo-pico-wireless.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/07/pico-wireless-micropython-et-la-led.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=TrinKey QT2040&lt;br /&gt;
  |descr=Utiliser le TrinKey QT2040 (RP2040) avec MicroPython&lt;br /&gt;
  |img=tlogo-pico-trinkey-QT2040.png&lt;br /&gt;
  |link=TrinKey-QT2040&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Adafruit SeeSaw&lt;br /&gt;
  |descr=Utiliser le SeeSaw (multi-interface via I2) avec MicroPython (et Pico)&lt;br /&gt;
  |img=tlogo-seesaw.png&lt;br /&gt;
  |url=https://github.com/mchobby/micropython-seesaw&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
== Hacking électronique ==&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico CanSat&lt;br /&gt;
  |descr=Control a CANSAT with MicroPython and Raspberry-Pi Pico &lt;br /&gt;
  |img=tlogo-cansat-pico.jpg&lt;br /&gt;
  |link=ENG-CANSAT-PICO-BELGIUM&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico-2-Explorer&lt;br /&gt;
  |descr=Découvrir MicroPython avec le Raspberry-Pi Pico 2. Entrées/sorties, analogique, PWM, etc&lt;br /&gt;
  |img=tlogo-pico-2-explorer.jpg&lt;br /&gt;
  |link=Pico-2-Explorer-FR&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Shield Moteur&lt;br /&gt;
  |descr=Utiliser un MotorShield ou Motor FeatherWing avec le Pico.&lt;br /&gt;
  |img=tlogo-pico-motorshield.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/esp8266-upy/tree/master/adfmotors&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Afficheur TFT ILI934x&lt;br /&gt;
  |descr=Utiliser un TFT 2.4&amp;quot; FeatherWing (ILI9341) avec le Pico&lt;br /&gt;
  |img=tlogo-pico-ili934x.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/esp8266-upy/tree/master/ili934x&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=HAT-SENSE&lt;br /&gt;
  |descr=Utiliser le Hat-Sense avec votre Pico&lt;br /&gt;
  |img=tlogo-micropython-hat-sense.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/esp8266-upy/tree/master/hat-sense&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=HAT-PiFace&lt;br /&gt;
  |descr=Utiliser le PiFace Digital avec votre Pico&lt;br /&gt;
  |img=tlogo-micropython-hat-piface.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/esp8266-upy/tree/master/hat-sense&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pulse-In&lt;br /&gt;
  |descr=Mesurer la longueur d'une impulsion Servo sur un récepteur RC&lt;br /&gt;
  |img=tlogo-pico-pulse-in.jpg&lt;br /&gt;
  |link=PICO-PULSE-IN-MICROPYTHON&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico&amp;lt;-&amp;gt;Minitel&lt;br /&gt;
  |descr=Brancher un Pico sur un Minitel, recevoir et envoyer des caractères&lt;br /&gt;
  |img=tlogo-Minitel.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/04/minitel-branche-sur-mon-raspberry-pi.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico, Zumo Robot et MicroPython&lt;br /&gt;
  |descr='''Ebook''' pour apprendre a utiliser votre Zumo Robot pour Arduino avec MicroPython.&lt;br /&gt;
  |img=tlogo-Pico-Zumo-Robot-et-MicroPython.jpg&lt;br /&gt;
  |link=Pico-Zumo-Robot-et-MicroPython&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Zumo Robot en Python&lt;br /&gt;
  |descr='''GitHub''' Robot Zumo sous MicroPython avec le Pico ou la Pyboard&lt;br /&gt;
  |img=tlogo-zumo-pico.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/micropython-zumo-robot&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MyDin&lt;br /&gt;
  |descr=DIN Automation with MicroPython &lt;br /&gt;
  |img=tlogo-mydin.jpg&lt;br /&gt;
  |link=MyDin&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=UniPi en Python&lt;br /&gt;
  |descr=Créer un automate programmable avec UniPi et MicroPython&lt;br /&gt;
  |img=tlogo-unipi-pico.jpg&lt;br /&gt;
  |bad_url=https://github.com/mchobby/micropython-zumo-robot&lt;br /&gt;
  |traduction=1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico Buggy&lt;br /&gt;
  |descr=Contôler le Buggy Kitronik avec MicroPython (traduction MCHobby)&lt;br /&gt;
  |img=tlogo-pico-buggy.jpg&lt;br /&gt;
  |url=https://github.com/KitronikLtd/Kitronik-Pico-Autonomous-Robotics-Platform-MicroPython/blob/main/README_FR.md&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Smart Air Quality&lt;br /&gt;
  |descr=Mesurer la qualité d'air avec un Pico (traduction MCHobby)&lt;br /&gt;
  |img=tlogo-pico-air-quality.jpg&lt;br /&gt;
  |url=https://github.com/KitronikLtd/Kitronik-Pico-Smart-Air-Quality-Board-MicroPython/blob/main/README_FR.md&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico Contrôle Robotique&lt;br /&gt;
  |descr=Carte de contrôle robotique pour Pico (traduction MCHobby)&lt;br /&gt;
  |img=tlogo-pico-motor.jpg&lt;br /&gt;
  |url=https://github.com/KitronikLtd/Kitronik-Pico-Robotics-Board-MicroPython/blob/main/README_FR.md&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico Contrôle Moteur&lt;br /&gt;
  |descr=Carte de contrôle moteur pour Pico (traduction MCHobby)&lt;br /&gt;
  |img=tlogo-pico-motor2.jpg&lt;br /&gt;
  |url=https://github.com/KitronikLtd/Kitronik-Pico-Motor-Driver-Board-MicroPython&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=Wifi-4-Relay&lt;br /&gt;
 |descr=Commander un module 4 relais avec via Page WEB ou API REST.&lt;br /&gt;
 |img=tlogo-wifi-4-relay.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/micropython-wifi-4-relais&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ArdBase&lt;br /&gt;
 |descr=Découvrir le hacking électronique pour avec Kit ArdBase et MicroPython&lt;br /&gt;
 |img=tlogo-pico-ardbase-micropython.png&lt;br /&gt;
 |url=https://github.com/mchobby/KIT-SOUDURE-ARDBASE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=Tamagotchi&lt;br /&gt;
 |descr=Créer un Tamagotchi sous MicroPython avec Raspberry-Pi Pico&lt;br /&gt;
 |img=tlogo-pico-tamagotchi.jpg&lt;br /&gt;
 |link=Pico-Tamagotchi-Intro&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Adafruit NeoTrellis&lt;br /&gt;
  |descr=Utiliser un NeoTrellis d'Adafruit avec Raspberry-Pi Pico/Pico2.&lt;br /&gt;
  |img=tlogo-micropython-neotrellis.png&lt;br /&gt;
  |link=micropython-neotrellis-pico&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=RoboEyes&lt;br /&gt;
  |descr=Donnez de la personnalité à vos robot avec l'implémentation de RoboEyes pour MicroPython.&lt;br /&gt;
  |img=tlogo-micropython-roboeyes.png&lt;br /&gt;
  |url=https://github.com/mchobby/micropython-roboeyes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Capteur Alarme&lt;br /&gt;
  |descr=Comment utiliser des capteurs d'alarme PIR avec un microcontroleur&lt;br /&gt;
  |img=tlogo-PIR-alarm.png&lt;br /&gt;
  |link=micropython-PIR-alarm&lt;br /&gt;
  |traduction=1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
= EDI pour MicroPython =&lt;br /&gt;
Les outils et editeurs pouvant être utilisés avec MicroPython.&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Thonny IDE&lt;br /&gt;
  |descr=Utiliser Thonny IDE avec Pico et carte RP2040&lt;br /&gt;
  |img=tlogo-thonny.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2022/01/micromod-rp2040-pico-utiliser-thonny.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pico et Thonny&lt;br /&gt;
  |descr=Utiliser l'IDE Thonny (recommandé par la fondation) avec votre Pico. Un bel article de Framboise314.&lt;br /&gt;
  |img=tlogo-pico-thonny.jpg&lt;br /&gt;
  |url=https://www.framboise314.fr/utiliser-le-raspberry-pi-pico-avec-thonny/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=MPRemote&lt;br /&gt;
 |descr='''MicroPython Remote Control''' outil en ligne de commande qu'il ne faut surtout pas râter.&lt;br /&gt;
 |img=tlogo-MPRemote.png&lt;br /&gt;
 |url=https://github.com/mchobby/micropython-minishell&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=MIP&lt;br /&gt;
 |descr='''MicroPython Install Package''' une commande MPRemote pour installer facilement des bibliothèques&lt;br /&gt;
 |img=tlogo-MPRemote-MIP.png&lt;br /&gt;
 |url=https://arduino103.blogspot.com/2023/05/micropython-1200-mip-micropython.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=MiniShell&lt;br /&gt;
 |descr=MiniShell est un Shell type Linux pour MicroPython. Très pratique pour manipuler des fichiers via REPL.&lt;br /&gt;
 |img=tlogo-minishell.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/micropython-minishell&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=RShell&lt;br /&gt;
  |descr=Transférez des fichiers et contrôlez votre carte depuis une simple connexion série. WiPy et ESP8266 compatible.&lt;br /&gt;
  |img=tlogo-micropython-RShell.jpg&lt;br /&gt;
  |link=MicroPython-Hack-RShell&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Ampy&lt;br /&gt;
  |descr=Outil simplifié de transfert de fichiers et de contrôlez de carte depuis une connexion série. ESP8266 compatible.&lt;br /&gt;
  |img=tlogo-micropython-Debugger.jpg&lt;br /&gt;
  |link=FEATHER-CHARGER-FICHIER-MICROPYTHON&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=mem_info()&lt;br /&gt;
  |descr=Surveiller la consommation RAM de vos script sous MicroPython&lt;br /&gt;
  |img=tlogo-mem-info.jpg&lt;br /&gt;
  |url=https://arduino103.blogspot.com/2023/03/micropython-surveiller-la-ram-avec.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
= Pilotes MicroPython =&lt;br /&gt;
Les pilotes MicroPythons sont des bibliothèques utilisées pour interagir avec des composants électroniques ou cartes breakouts. &lt;br /&gt;
&lt;br /&gt;
Chez MC Hobby, nous développons des pilotes &amp;quot;Plateform Agnostic&amp;quot;. Cela signifie que les bibliothèques s'appuient sur l'API {{fname|machine}} et peuvent être utilisés sur toutes les plateformes MicroPython.&lt;br /&gt;
&lt;br /&gt;
Enfin, nous produisons une documentation aussi complète que possible (français/anglais) + scripts d'exemples. Tous cela stocké sur un dépôt en ligne.&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ad9833&lt;br /&gt;
 |descr=Créer un générateur de signal à l'aide de l AD9833.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ad9833&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=adfmotors&lt;br /&gt;
 |descr=Contrôler des moteurs continu, pas-à-pas ou servo-moteur avec le shield moteur Arduino d'Adafruit. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/adfmotors&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ads1015-ads1115&lt;br /&gt;
 |descr=Convertisseur ADC (Analogique vers Digital) 4 canaux pour réaliser des lectures analogiques et lectures différentielles.&amp;lt;br /&amp;gt;L'ADS1115 dispose d'un amplificateur interne programmable, ce qui permet de lire des tensions très faibles. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ads1015-ads1115&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=am2315&lt;br /&gt;
 |descr=Capteur de &amp;lt;strong&amp;gt;température et humidité&amp;lt;/strong&amp;gt; relative (0 à 100%) pour relevés en extérieur. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/am2315&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=bme280-bmp280&lt;br /&gt;
 |descr=Le BMP280 est un capteur de &amp;lt;strong&amp;gt;pression et température&amp;lt;/strong&amp;gt; très populaire.&amp;lt;br /&amp;gt;Le BME280 est un capteur de &amp;lt;strong&amp;gt;pression, température et HUMIDITÉ&amp;lt;/strong&amp;gt; relative. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/bme280-bmp280&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=bmp180&lt;br /&gt;
 |descr=Le BMP180 est un senseur de &amp;lt;strong&amp;gt;pression et température&amp;lt;/strong&amp;gt; aujourd'hui remplacé par le BMP280. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/bmp180&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=cardkb&lt;br /&gt;
 |descr=CardKB - Mini-clavier QWERTY en I2C. M5STACK.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/cardkb&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ccs811&lt;br /&gt;
 |descr=CCS811 - Capteur qualité d'air - COV et eCO2 avec MicroPython. ADAFRUIT,OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ccs811&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=COLORS&lt;br /&gt;
 |descr=Bibliothèque de gestion de couleurs (et outils).&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/COLORS&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=dht11&lt;br /&gt;
 |descr=Le DHT11 est un senseur d'&amp;lt;strong&amp;gt;humidité&amp;lt;/strong&amp;gt; (20 à 80%) et température très bon marché. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/dht11&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=dotstar&lt;br /&gt;
 |descr=Les &amp;lt;strong&amp;gt;DotStar / APA102&amp;lt;/strong&amp;gt; sont des LEDs digitales intelligentes pouvant être contrôlées indépendamment les unes des autres. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/dotstar&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=drv8830&lt;br /&gt;
 |descr=Le Mini I2C motor driver permet de contrôler 2 moteurs 5V par l'intermédiaire d'une interface I2C. SEEEDSTUDIO.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/drv8830&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ds18b20&lt;br /&gt;
 |descr=Le DS18B20 est un senseur de &amp;lt;strong&amp;gt;température&amp;lt;/strong&amp;gt; digital très populaire. Il utilise le bus 1-Wire permettant de brancher plusieurs senseurs 1-Wire sur un même bus. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ds18b20&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=eeprom&lt;br /&gt;
 |descr=Utiliser des EEPROM I2C pour stocker des informations. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/eeprom&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=gps-ultimate&lt;br /&gt;
 |descr=Pouvoir obtenir ou suivre votre position actuelle à l'aide d'un module GPS. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/gps-ultimate&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=hat-joy-bonnet&lt;br /&gt;
 |descr=Utiliser le HAT Joy Bonnet avec MicroPython NADHAT PYB405. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/hat-joy-bonnet&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=hat-piface&lt;br /&gt;
 |descr=Utiliser le PiFace Digital avec MicroPython Pyboard, PYBStick.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/hat-piface&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=hat-sense&lt;br /&gt;
 |descr=Utiliser le Sense HAT avec MicroPython Pyboard, PYBStick, PYB405.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/hat-sense&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=FBGFX&lt;br /&gt;
 |descr=Bibliothèque graphique pour FrameBuffer.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/FBGFX&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=grove-5-way-switch&lt;br /&gt;
 |descr=Joystick 5 directions (et carte 6 DIP) via I2C - sous MicroPython. SEEEDSTUDIO.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/grove-5-way-switch&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ht0740-switch&lt;br /&gt;
 |descr=HT0740 - 40V / 10A MosFet controlable via I2C - sous MicroPython. PIMORONI.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ht0740-switch&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ili934x&lt;br /&gt;
 |descr=ILI934x - contrôleur afficheur TFT couleur 16 bits - sous MicroPython. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ili934x&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=is31fl&lt;br /&gt;
 |descr=IS31FL3731 - contrôleur CharliePlexing via I2C - sous MicroPython. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/is31fl&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=lcdi2c&lt;br /&gt;
 |descr=Afficheur à cristaux liquides (LCD) commandé via le bus I2C. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/lcdi2c&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=lcdmtrx&lt;br /&gt;
 |descr=Afficheur LCD 2 lignes, 16 caractères, Arrière plan RGB. Interface USB + Série. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/lcdmtrx&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=lcdspi-lcd12864&lt;br /&gt;
 |descr=Afficheur LCD graphique 128 x 64 pixels. Interface SPI (3 fils). DFROBOT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/lcdspi-lcd12864&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=lsm303&lt;br /&gt;
 |descr=Utiliser une boussole et accéléromètre LSM303D avec MicroPython. POLOLU.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/lsm303&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=m5stack-u087&lt;br /&gt;
 |descr=Module Voltmetre I2C. M5STACK.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/m5stack-u087&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=m5stack-u097&lt;br /&gt;
 |descr=Module 4 relais I2C. M5STACK.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/m5stack-u097&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=m5stack-u105&lt;br /&gt;
 |descr=I2C DDS unit (Direct Digital Synthesis, AD9833, ), Grove. M5STACK.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/m5stack-u105&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=max6675&lt;br /&gt;
 |descr=MAX6675 Amplificateur Thermocouple Type-K - MOD-TC - sous MicroPython. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/max6675&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=max31855&lt;br /&gt;
 |descr=ThermoCouple Type-K + amplificateur MAX31855 - sous MicroPython. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/max31855&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=mcp230xx&lt;br /&gt;
 |descr=Le MCP23017 (et MCP2308) sont des &amp;lt;strong&amp;gt;GPIO Expander&amp;lt;/strong&amp;gt; sur bus I2C ajoutant des entrées/sorties sur un microcontrôleur. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/mcp230xx&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=mcp23Sxx&lt;br /&gt;
 |descr=Le MCP23S17 est un &amp;lt;strong&amp;gt;GPIO Expander&amp;lt;/strong&amp;gt; sur bus SPI ajoutant des entrées/sorties sur un microcontrôleur. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/mcp23Sxx&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=mcp9808&lt;br /&gt;
 |descr=Le MCP9808 (bus I2C) permettant de faire un relevé de température avec une précision de 0.25°C. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/mcp9808&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=mcp4725&lt;br /&gt;
 |descr=Le MCP4725 (bus I2C) est un DAC -ou- une vraie sortie Analogique 12 bits (0 à 65535). ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/mcp4725&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modenv&lt;br /&gt;
 |descr=Capteur environnementale tout-en-un - BME280 + CCS811 - sous MicroPython. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modenv&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modio&lt;br /&gt;
 |descr=MOD-IO est une carte d'extension I2C avec port de connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt;. Cette carte d'Olimex équipé de relais, d'entrée OptoCoupleur (24V) et entrées analogiques (0-3.3V).&amp;lt;br /&amp;gt;Cette carte est compatible avec le standard industriel en 24V. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modio&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modio2&lt;br /&gt;
 |descr=MOD-IO est une carte d'extension I2C avec port de connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt;. Cette carte d'Olimex équipé de relais, de GPIO aux fonctions multiples (Input, Output, Analog, PWM; 0-3.3V). OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modio2&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modirdaplus&lt;br /&gt;
 |descr=MOD-IRDA+ est un module émetteur/récepteur Infrarouge I2C supportant les protocols RC5 (Philips) et SIRCS (Sony). OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modirdaplus&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modirtemp&lt;br /&gt;
 |descr=Mesure de température -70°C à 380°C Infrarouge sans contact (MXL90164). OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modirtemp&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modlcd1x9&lt;br /&gt;
 |descr=MOD-LCD1x9 est un afficheur 9 caractères alphanumérique I2C avec port de connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt;. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modlcd1x9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modlcd3310&lt;br /&gt;
 |descr=MOD-LCD3310 est l'afficheur LCD du Nokia 3310 offrant 84 x 48 pixels et un port de connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt;. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modlcd3310&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modled8x8&lt;br /&gt;
 |descr=Un afficheur 8x8 LEDs RGB chaînable. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modled8x8&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modltr501&lt;br /&gt;
 |descr=LTR-501ALS permet de faire une lecture de luminosité de 0.01 à 64.000 Lux (64K lux) et détection de proximité (jusqu'à 10cm). Le MOD-LTR-501ALS dispose d'une connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt; facilitant les raccordements. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modltr501&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modmag&lt;br /&gt;
 |descr=Le MAG3110 est un magénomètre digital 3 axes de NXP accessible via I2C. Le MOD-MAG dispose d'une connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt; facilitant les raccordements. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modmag&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modoled128x64&lt;br /&gt;
 |descr=Un afficheur OLED 128x64 / 128x32 / 64x48 avec contrôleur SSD1306 (I2C) et connecteur UEXT, Feather, Qwiic. OLIMEX,ADAFRUIT,SPARKFUN.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modoled128x64&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modrfid&lt;br /&gt;
 |descr=MOD-RFID1356 MIFARE : lecteur NFC / RFID Mifare via port série/usb-série/usb-hid. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modrfid&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modrgb&lt;br /&gt;
 |descr=MOD-RGB est une carte d'extension I2C avec port de connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt;. Cette carte d'Olimex équipé de MosFet de puissance pour commander des rubans LED RGB analogiques via I2C (ou DMX). OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modrgb&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modrs485iso&lt;br /&gt;
 |descr=MOD-RS485-ISO est un adaptateur RS485 Full-Duplex/Half-Duplex avec isolation. La transmission de données se fait via UART (MODE_PASS) ou I2C (MODE_BRIDE). Expose une interface &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt; pour connexion rapide. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modrs485iso&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modtc-mk2&lt;br /&gt;
 |descr=MAX6MOD-TC-MK2 : Amplificateur Thermocouple Type-K (MAX31855) via I2C - sous MicroPython. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modtc-mk2&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=modwii&lt;br /&gt;
 |descr=La Wii NUNCHUCK est une manette de jeu super confortable et s'utilise sur le bus I2C. Ce controleur dispose d'une connexion &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt; facilitant les raccordements. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/modwii&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=mpr121&lt;br /&gt;
 |descr=Créer des pastilles/entrées capacitives (tactiles) avec le MPR121. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/mpr121&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=mpx5700a&lt;br /&gt;
 |descr=Utiliser un capteur de pression ANALOGIQUE MPX5700AP. SEEEDSTUDIO.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/mpx5700a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=NCD&lt;br /&gt;
 |descr=Connecter facilement une __mini carte I2C__ de NCD (National Control Device) sur une carte MicroPython grâce au connecteur &amp;lt;strong&amp;gt;NCD&amp;lt;/strong&amp;gt; qui facilite grandement les raccordements de périphérique I2C. Logique 5V. NCD.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/NCD&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ncd-mpl115a2&lt;br /&gt;
 |descr=Le MPL115A2 est un capteur de pression et température I2C. La &amp;lt;i&amp;gt;mini carte I2C de NCD&amp;lt;/i&amp;gt; propose un connecteur &amp;lt;strong&amp;gt;NCD&amp;lt;/strong&amp;gt; qui facilite grandement les raccordements de périphérique I2C.&amp;lt;br /&amp;gt;Ce senseur est également disponible sous forme de breakout. NCD,ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ncd-mpl115a2&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ncd-si7005&lt;br /&gt;
 |descr=Le SI7005 est un capteur d'humidité relative et température I2C. La &amp;lt;i&amp;gt;mini carte I2C de NCD&amp;lt;/i&amp;gt; propose un connecteur &amp;lt;strong&amp;gt;NCD&amp;lt;/strong&amp;gt; qui facilite grandement les raccordements de périphérique I2C.&amp;lt;br /&amp;gt;Ce senseur est également disponible sous forme de breakout. NCD.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ncd-si7005&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ncd-water-detect&lt;br /&gt;
 |descr=Détecteur de présence d'eau + Buzzer + 2 GPIOs (basé sur un PCA9536). La &amp;lt;i&amp;gt;mini carte I2C de NCD&amp;lt;/i&amp;gt; propose un connecteur &amp;lt;strong&amp;gt;NCD&amp;lt;/strong&amp;gt; qui facilite grandement les raccordements de périphérique I2C.&amp;lt;br /&amp;gt;Ce senseur est également disponible sous forme de breakout. NCD.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ncd-water-detect&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ncd-fet-solenoid&lt;br /&gt;
 |descr=Contrôleur de sortie FET + GPIO (basé sur un MCP23008) pour charge résistive / inductive 12V (valve). La &amp;lt;i&amp;gt;carte I2C de NCD&amp;lt;/i&amp;gt; propose un connecteur &amp;lt;strong&amp;gt;NCD&amp;lt;/strong&amp;gt; qui facilite grandement les raccordements de périphérique I2C.&amp;lt;br /&amp;gt;Ce senseur est également disponible sous forme de breakout. NCD.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ncd-fet-solenoid&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ncd-pecmac&lt;br /&gt;
 |descr=Capteur de courant alternatif sur bus I2C (ou interface IoT). La &amp;lt;i&amp;gt;carte I2C de NCD&amp;lt;/i&amp;gt; propose un connecteur &amp;lt;strong&amp;gt;NCD&amp;lt;/strong&amp;gt; qui facilite grandement les raccordements de périphérique I2C.&amp;lt;br /&amp;gt;Ce senseur est également disponible sous forme de breakout. NCD.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ncd-pecmac&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=ncd-oled&lt;br /&gt;
 |descr=Un afficheur OLED 128x64 avec contrôleur SSD1306 (I2C) et connecteur NCD. NCD.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/ncd-oled&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=neopixel&lt;br /&gt;
 |descr=Les &amp;lt;strong&amp;gt;NéoPixels&amp;lt;/strong&amp;gt; sont des LEDs digitales intelligentes pouvant être contrôlées indépendamment les unes des autres. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/neopixel&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=oled-ssd1306&lt;br /&gt;
 |descr=Le SSD1306 est un contrôleur d'écran OLED. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/oled-ssd1306&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=opt3101-fov&lt;br /&gt;
 |descr=Capteur de distance Time-Of-Flight FoV 3 canaux OPT3101 (POL3412). POLOLU.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/opt3101-fov&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=pca9536&lt;br /&gt;
 |descr=Contrôleur GPIO 4 bits I2C. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/pca9536&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=pca9685&lt;br /&gt;
 |descr=Controleur PWM-Driver à base de PCA9685 de NXP, 16 canaux, résolution 12 bits, pour commande des LEDs ou Servo. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/pca9685&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=pcf8523&lt;br /&gt;
 |descr=Une Horloge temps réel RTC + alarme avec MicroPython. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/pcf8523&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=pm25&lt;br /&gt;
 |descr=Utiliser un capteur de particule fine PM2.5 (PMS5003) avec MicroPython. ADAFRUIT,PIMORONI.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/pm25&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=qwiic-joystick-i2c&lt;br /&gt;
 |descr=Utiliser un joystick analogique I2C (Qwiic) avec MicroPython. SPARKFUN.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/qwiic-joystick-i2c&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=qwiic-keypad-i2c&lt;br /&gt;
 |descr=Utiliser un clavier I2C 12 touches (Qwiic) avec MicroPython. SPARKFUN.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/qwiic-keypad-i2c&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=qwiic-relay-i2c&lt;br /&gt;
 |descr=Utiliser un Relais-Simple/Quad-Relais/Quad-Relais-SSR I2C (qwiic) avec MicroPython. SPARKFUN.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/qwiic-relay-i2c&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=qwiic-vcnl4040-i2c&lt;br /&gt;
 |descr=Utiliser un capteur de proximité VCNL4040 (Qwiic, I2C) avec MicroPython. SPARKFUN.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/qwiic-vcnl4040-i2c&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=rfm69&lt;br /&gt;
 |descr=Utiliser module Packet Radio RFM69HCW (SPI) avec MicroPython. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/rfm69&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=sht3x&lt;br /&gt;
 |descr=Exploiter un capteur d'humidité SHT3x avec MicroPython. DFROBOT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/sht3x&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=st7687s&lt;br /&gt;
 |descr=Exploiter un TFT rond avec MicroPython. DFROBOT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/st7687s&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=stmpe610&lt;br /&gt;
 |descr=Utiliser un capteur tactile résistif avec MicroPython.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/stmpe610&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=tca9554a&lt;br /&gt;
 |descr=Ajouter 8 entrées/sortie avec le TCA9554A.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/tca9554a&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=tcs34725&lt;br /&gt;
 |descr=Capturer la couleur (rgb ou Kelvin) avec un capteur TCS34725 + LED + filtre IR. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/tcs34725&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=trackball&lt;br /&gt;
 |descr=Ajouter un Trackball + LED RGBW sur votre projet MicroPython. PIMORONI.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/trackball&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=tsl2561&lt;br /&gt;
 |descr=Le TSL2561 est un senseur de &amp;lt;strong&amp;gt;luminosité&amp;lt;/strong&amp;gt; en lumière visible ayant un réponse proche de l'oeil humain. Retourne une valeur en LUX. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/tsl2561&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=tsl2591&lt;br /&gt;
 |descr=Le TSL2591 est un capteur de &amp;lt;strong&amp;gt;luminosité&amp;lt;/strong&amp;gt; en lumière visible ayant un réponse proche de l'oeil humain. Retourne une valeur en LUX. ADAFRUIT.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/tsl2591&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=umqtt&lt;br /&gt;
 |descr=Exemples de communication MQTT avec un module ESP8266. NONE.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/umqtt&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
 |label=UEXT&lt;br /&gt;
 |descr=Connecteur &amp;lt;strong&amp;gt;UEXT&amp;lt;/strong&amp;gt; en logique 3.3V est utilisé sur les cartes et capteurs d' Olimex. Il transporte les bus I2C, SPI, UART et alimentation 3.3V. OLIMEX.&lt;br /&gt;
 |img=tlogo-github.jpg&lt;br /&gt;
 |url=https://github.com/mchobby/esp8266-upy/tree/master/UEXT&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
= PyBoard =&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;360px&amp;quot; | [[Fichier:MicroPython-PyBoard.jpg|320px]]&lt;br /&gt;
| align=&amp;quot;Left&amp;quot; width=&amp;quot;350px&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;padding:10px&amp;quot; | &lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; padding: 15px 0px; border-radius: 10px 10px 10px 10px; border: 1px solid #cccccc;&amp;quot;&amp;gt; '''Micro Python''' est une carte Python 3 offrant 30 GPIO, 20 PWM, 1 RTC, des bus I2C, CAN, SPI, un accéléromètre, etc.  la {{cl|56|gamme Micro Python est disponible}} chez [http://shop.mchobby.be MCHobby].&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== MicroPython, PyBoard et PYBStick ==&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Micro Python &amp;amp; PyBoard Kaséko?!?&lt;br /&gt;
  |descr=Venez découvrir le microcontrôleur programmable en Python. Plateforme, Boot, etc.&lt;br /&gt;
  |img=tlogo-micropython-presentation.jpg&lt;br /&gt;
  |link=MicroPython.présentation&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=En vidéo&lt;br /&gt;
  |descr=Quelques vidéos très intéressante.&lt;br /&gt;
  |img=tlogo-micropython-video.jpg&lt;br /&gt;
  |link=MicroPython.vidéo&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Tester en live&lt;br /&gt;
  |descr=Un petit laboratoire avec une carte Micro Python connecté sur Internet pour la tester.&lt;br /&gt;
  |img=tlogo-micropython-net.jpg&lt;br /&gt;
  |link=MicroPython.Live&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Brochage et Schema&lt;br /&gt;
  |descr=La carte Micro Python PyBoard, ses fonctionnalités, son brochage, ses schémas et composant Fritzing.&lt;br /&gt;
  |img=tlogo-micropython-brochage-pyboard.jpg&lt;br /&gt;
  |link=MicroPython.brochage.pyboard&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Généralités PyB&lt;br /&gt;
  |descr=Boot Modes, Code d'erreur, système de fichier et réinitialisation. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;'''A lire avant de se lancer'''&amp;lt;/font&amp;gt;.&lt;br /&gt;
  |img=tlogo-micropython-pyboard-Info.jpg&lt;br /&gt;
  |link=MicroPython.pyboard.généralités&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Références&lt;br /&gt;
  |descr=Liens, références et ressources Micro Python.&lt;br /&gt;
  |img=tlogo-micropython-reference.jpg&lt;br /&gt;
  |link=MicroPython.référence&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Doc officielle&lt;br /&gt;
  |descr=L'excellente documentation officielle en anglais. Une importante source de précieuses informations.&lt;br /&gt;
  |img=tlogo-micropython-docs.jpg&lt;br /&gt;
  |link=MicroPython.r%C3%A9f%C3%A9rence#Documentation_Officielle&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Modèles de PyBoard.&lt;br /&gt;
  |descr=Comparatif des différents modèles de la carte PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-modele.jpg&lt;br /&gt;
  |link=MicroPython.Pyboard.modele&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Mise-à-jour FirmWare&lt;br /&gt;
  |descr=Comment faire une mise-à-jour du Firmware de la Pyboard.&lt;br /&gt;
  |img=tlogo-micropython-update.jpg&lt;br /&gt;
  |link=MicroPython.Pyboard.mise-a-jour&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pyboard Discovery Kit&lt;br /&gt;
  |descr=Un kit et des tutos à thème pour découvrir la carte MicroPython PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-discovery.jpg&lt;br /&gt;
  |link=MicroPython.Pyboard.Discovery&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=upip&lt;br /&gt;
  |descr=Télécharger une bibliothèque MicroPython en utilisant le ''Python Index Package''.&lt;br /&gt;
  |img=tlogo-micropython-upip.jpg&lt;br /&gt;
  |link=MicroPython-Hack-upip&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=PYBStick STD Discovery&lt;br /&gt;
  |descr=Des tutos à thème pour découvrir MicroPython et la PYBStick STD 26.&lt;br /&gt;
  |img=tlogo-pybstick-discovery.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/pyboard-driver/tree/master/PYBStick&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=PYBStick HAT-FACE&lt;br /&gt;
  |descr=Une interface PYBStick vers Raspberry-Pi HAT.&lt;br /&gt;
  |img=tlogo-pybstick-hat-face.jpg&lt;br /&gt;
  |link=MicroPython.PYBStick.hat-face&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
== Hacking électronique avec MicroPython ==&lt;br /&gt;
ces scripts se penchent sur l'utilisation de MicroPython avec la Pyboard, la PYBStick.&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Précautions &amp;amp; alimentations&lt;br /&gt;
  |descr=Précautions d'usage avant de se lancer dans le hacking. Comment alimenter votre PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-prepare.jpg&lt;br /&gt;
  |link=MicroPython-Hack-Prepare&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Premier script&lt;br /&gt;
  |descr=Exécutez votre premier script et allumez une LED sur la carte.&lt;br /&gt;
  |img=tlogo-micropython-firstscript.jpg&lt;br /&gt;
  |link=MicroPython-Hack-first-script&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=L'invite REPL&lt;br /&gt;
  |descr=Obtenir l'invite '''en ligne de commande''' REPL et utilisez PyBoard en mode terminal.&lt;br /&gt;
  |img=tlogo-micropython-REPL.jpg&lt;br /&gt;
  |link=MicroPython-Hack-REPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=LED et concepts&lt;br /&gt;
  |descr=Allumer les LEDs de la carte PyBoard. Les concepts de base.&lt;br /&gt;
  |img=tlogo-micropython-LED.jpg&lt;br /&gt;
  |link=MicroPython-Hack-LED&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=1 LED externe&lt;br /&gt;
  |descr=Branchez votre première LED sur la PyBoard et contrôlez là.&lt;br /&gt;
  |img=Tlogo-micropython-1led.png&lt;br /&gt;
  |link=MicroPython-Hack-1LED&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=8 LEDs&lt;br /&gt;
  |descr=Contrôler plusieurs LEDs.&lt;br /&gt;
  |img=Tlogo-micropython-8leds.png&lt;br /&gt;
  |link=MicroPython-Hack-8LEDS&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Bouton&lt;br /&gt;
  |descr=Bouton, '''callback''' et '''interruption'''.&lt;br /&gt;
  |img=tlogo-micropython-button.jpg&lt;br /&gt;
  |link=MicroPython-Hack-button&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=L'accéléromètre &lt;br /&gt;
  |descr=Utiliser l'accéléromètre de la carte.&lt;br /&gt;
  |img=tlogo-micropython-accelerometre.jpg&lt;br /&gt;
  |link=MicroPython-Hack-accelerometre&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Safe Mode &amp;amp; réinitialisation &lt;br /&gt;
  |descr=Safe Mode et réinitialisation d'usine. Reprenez le contrôle de votre PyBoard&lt;br /&gt;
  |img=tlogo-micropython-safemode.jpg&lt;br /&gt;
  |link=MicroPython-Hack-safemode&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=PyBoard = souris &lt;br /&gt;
  |descr=Faire agir la PyBoard comme une souris. Réalisez vos propres interface homme-machine.&lt;br /&gt;
  |img=tlogo-micropython-souris.jpg&lt;br /&gt;
  |link=MicroPython-Hack-souris&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Les timers &lt;br /&gt;
  |descr=Mesurer des durées, réaliser des synchronisations ou exécuter du code à intervalle régulier. Exploitez les 14 timers de votre PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-timer.jpg&lt;br /&gt;
  |link=MicroPython-Hack-timers&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Assembleurs &lt;br /&gt;
  |descr=Utiliser l'assembleur inline. Ajouter du code assembleur ARM au sein même de vos programmes.&lt;br /&gt;
  |img=tlogo-micropython-assembleur.jpg&lt;br /&gt;
  |link=MicroPython-Hack-assembleur&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Contrôle de puissance &lt;br /&gt;
  |descr=Contrôler la consommation de votre PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-power.jpg&lt;br /&gt;
  |link=MicroPython-Hack-power&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Servo-moteur &lt;br /&gt;
  |descr=Contrôler des servo moteur en Micro Python. Quelques commandes pour positionner un axe sur un angle donné.&lt;br /&gt;
  |img=tlogo-moteur-servo.jpg&lt;br /&gt;
  |link=MicroPython-Hack-servo&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Luminosité d'une LED &lt;br /&gt;
  |descr=Contrôler la luminosité d'une LED ou la faire pulser avec un signal PWM.&lt;br /&gt;
  |img=tlogo-micropython-fading.jpg&lt;br /&gt;
  |link=MicroPython-Hack-fading&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Déparasitage entrée &lt;br /&gt;
  |descr=Comment déparasiter une entrée.&lt;br /&gt;
  |img=tlogo-micropython-deparasitage.jpg&lt;br /&gt;
  |link=MicroPython-Hack-deparasitage&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Lecture Analogique &lt;br /&gt;
  |descr=Réaliser une lecture analogique sur le PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-analogique.png&lt;br /&gt;
  |link=MicroPython-Hack-Analogique&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=TMP36 = °C &lt;br /&gt;
  |descr=Lire la température avec TMP36 un senseur de température analogique.&lt;br /&gt;
  |img=tlogo-micropython-tmp36.png&lt;br /&gt;
  |link=MicroPython-Hack-TMP36&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Photo-résistance&lt;br /&gt;
  |descr=Utiliser une photorésistance, Ldr, Cds et une entrée analogique pour détecter la présence de la lumière.&lt;br /&gt;
  |img=tlogo-micropython-LDR.png&lt;br /&gt;
  |link=MicroPython-Hack-LDR&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Moteur&lt;br /&gt;
  |descr=Utiliser un transistor pour commander un moteur.&lt;br /&gt;
  |img=tlogo-micropython-moteur.png&lt;br /&gt;
  |link=MicroPython-Hack-moteur&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Relais&lt;br /&gt;
  |descr=Commander des charges plus importantes à l'aide d'un relais.&lt;br /&gt;
  |img=tlogo-micropython-relais.png&lt;br /&gt;
  |link=MicroPython-Hack-relais&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=LED RGB&lt;br /&gt;
  |descr=Contrôler une LED Rouge,Vert,Bleu pour créer n'importe quelle couleur &lt;br /&gt;
  |img=tlogo-micropython-LedRGB.png&lt;br /&gt;
  |link=MicroPython-Hack-led-RGB&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Piezo&lt;br /&gt;
  |descr=Utiliser un piezo buzzer pour faire de la musique &lt;br /&gt;
  |img=tlogo-micropython-Piezo.png&lt;br /&gt;
  |link=MicroPython-Hack-piezo&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Déboguer &lt;br /&gt;
  |descr=Quelques petits trucs pour vous aider à déboguer vos programmes.&lt;br /&gt;
  |img=tlogo-micropython-Debugger.jpg&lt;br /&gt;
  |link=MicroPython-Hack-Debug&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Outil dev&lt;br /&gt;
  |descr=Quelques outils pour aider vos développement PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-Debugger.jpg&lt;br /&gt;
  |link=MicroPython-Hack-Outil&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=USB &amp;lt;-&amp;gt; UART &lt;br /&gt;
  |descr=Envoyer les données de l'UART vers USB (et vice-versa).&lt;br /&gt;
  |img=tlogo-micropython-USB-UART.jpg&lt;br /&gt;
  |link=MicroPython-Hack-USB-UART&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
== Extensions Pyboard ==&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Extension LCD &lt;br /&gt;
  |descr=Utiliser l'extension LCD.&lt;br /&gt;
  |img=tlogo-micropython-LCD.jpg&lt;br /&gt;
  |link=MicroPython-LCD&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=TFT 2.8&amp;quot;&lt;br /&gt;
  |descr=Utiliser un TFT 2.8 avec contrôleur ILI9341 sur un PyBoard&lt;br /&gt;
  |img=tlogo-micropython-ILI9341.jpg&lt;br /&gt;
  |link=MicroPython-ILI9341&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Maîtriser I2C&lt;br /&gt;
  |descr=Utiliser et maîtriser les bus I2C sous MicroPython.&lt;br /&gt;
  |img=tlogo-micropython-I2C.jpg&lt;br /&gt;
  |link=MicroPython-I2C&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Ultrason HC-SR04&lt;br /&gt;
  |descr=Evaluer une distance de 2cm à 4m avec le HC-SR04. Il fonctionne comme un sonar.&lt;br /&gt;
  |img=tlogo-HC-SR04.jpg&lt;br /&gt;
  |link=MicroPython-HC-SR04&lt;br /&gt;
}}&lt;br /&gt;
 &lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pont-H L293D&lt;br /&gt;
  |descr=Double Pont-H pour contrôler deux moteurs (basse puissance)&lt;br /&gt;
  |img=tlogo-micropython-l293.jpg&lt;br /&gt;
  |link=hack-micropython-L293D&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Afficheur 4x7 I2C&lt;br /&gt;
  |descr=Utilisation d'afficheur 4x7 segment sur le bus I2C de la PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-4x7.jpg&lt;br /&gt;
  |link=MicroPython-4x7&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Contrôleur PWM&lt;br /&gt;
  |descr=Utilisation du controleur PWM 16 canaux avec la PyBoard.&lt;br /&gt;
  |img=tlogo-adf-pwm.jpg&lt;br /&gt;
  |link=MicroPython-PWM-DRIVER&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Mosfet &lt;br /&gt;
  |descr=Commander un MOSFET de puissance à partie d'un microcontrôleur 3.3V.&lt;br /&gt;
  |img=tlogo-micropython-Mosfet.png&lt;br /&gt;
  |link=MicroPython-Hack-Mosfet&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Bluetooth &amp;amp; REPL&lt;br /&gt;
  |descr=Utiliser un module Bluetooth série avec PyBoard. Dupliquer REPL sur Bluetooth.&lt;br /&gt;
  |img=tlogo-micropython-bluetooth.jpg&lt;br /&gt;
  |link=MicroPython-bluetooth&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=HAT-SENSE&lt;br /&gt;
  |descr=Utiliser le Hat-Sense avec votre Pyboard&lt;br /&gt;
  |img=tlogo-micropython-hat-sense.jpg&lt;br /&gt;
  |url=https://github.com/mchobby/esp8266-upy/tree/master/hat-sense&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=PYBD Butterfly&lt;br /&gt;
  |descr=Assembler le Pyboard-D Butterfly&lt;br /&gt;
  |img=tlogo-pybd-butterfly.jpg&lt;br /&gt;
  |link=PYBD-Butterfly&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Afficheur matrice 8x8&lt;br /&gt;
  |descr=Utilisation d'afficheur 8x8 à matrice sur le bus I2C de la PyBoard.&lt;br /&gt;
  |img=tlogo-micropython-8x8.jpg&lt;br /&gt;
  |link=MicroPython-8x8&lt;br /&gt;
  |traduction=1&lt;br /&gt;
}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
== PyBoard Robotique ==&lt;br /&gt;
&lt;br /&gt;
Voici quelques tutoriels pour réaliser une plateforme robotique à base de MicroPython PyBoard.&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Robot 2 Roues&lt;br /&gt;
  |descr=Commander un robot 2 roues maison avec MicroPython PyBoard et un L293D&lt;br /&gt;
  |img=tlogo-micropython-Robot2Wheel.jpg&lt;br /&gt;
  |link=hack-micropython-Robot2Wheel&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Robot Ultrason&lt;br /&gt;
  |descr=Piloter le robot 2 roues avec un senseur Ultrason HC-SR04&lt;br /&gt;
  |img=tlogo-micropython-Robot2Wheel-HC-SR04.jpg&lt;br /&gt;
  |link=hack-micropython-Robot2Wheel-HC-SR04&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Motor-Skin&lt;br /&gt;
  |descr=Contrôler facilement une plateforme robotique à deux moteurs avec le Motor-Skin pour PyBoard.&lt;br /&gt;
  |img=tlogo-motorskin-00.jpg&lt;br /&gt;
  |link=hack-MotorSkin&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=ENG: Motor-Skin&lt;br /&gt;
  |descr=Take the control of a 2 motors robotic plateform with the PyBoard's Motor-Skin.&lt;br /&gt;
  |img=tlogo-motorskin-00.jpg&lt;br /&gt;
  |link=hack-ENG-MotorSkin&lt;br /&gt;
  |traduction=1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Servo Robots&lt;br /&gt;
  |descr=Apprenez à réaliser DOGGY et prendre le contrôle de Robots utilisant des servos moteurs pour se déplacer.&lt;br /&gt;
  |img=tlogo-micropython-ServoRobot.jpg&lt;br /&gt;
  |link=hack-micropython-ServoRobot&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Moteur DFRobot&lt;br /&gt;
  |descr=Apprenez à contrôler les moteurs continu DFRobot avec un signal servo. Trop classe!&lt;br /&gt;
  |img=tlogo-micropython-dfrobot-motor.jpg&lt;br /&gt;
  |link=hack-micropython-dfrobot-motor&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
= Autres =&lt;br /&gt;
== ESP8266 en MicroPython ==&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;360px&amp;quot; | [[Fichier:MicroPython-ESP8266.jpg|320px]]&lt;br /&gt;
| align=&amp;quot;Left&amp;quot; width=&amp;quot;350px&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;padding:10px&amp;quot; | &lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; padding: 15px 0px; border-radius: 10px 10px 10px 10px; border: 1px solid #cccccc;&amp;quot;&amp;gt;'''MicroPython sur ESP8266'''. Reflasher un {{pl|846|Feather ESP8266}}, un {{deadpl|1221|Wemos D1 Mini}}, {{pl|668|ESP8266-EVB}} ou NodeMCU pour qu'il supporte MicroPython afin de réaliser des senseurs connectés à prix imbattable! Un minimum de savoir faire est cependant requis.&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Cette section est dévolue à la plateforme {{pl|846|Feather ESP8266 Huzza}}, {{deadpl|1221|Wemos ESP8266}}, NodeMCU reflashé pour MicroPython et extension comme {{cl|87|FeatherWing}}, {{cl|123|Wemos Extension}} (extension).&lt;br /&gt;
&lt;br /&gt;
Cette section est assortie du [https://github.com/mchobby/esp8266-upy GitHub ESP8266-upy contenant des sources et exemples].&lt;br /&gt;
&lt;br /&gt;
=== Généralités ===&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Feather ESP8266&lt;br /&gt;
  |descr=Découvrir le Feather ESP8266, son Brochage, Alimentation, Schéma, FAQ.&lt;br /&gt;
  |img=tlogo-feather-esp8266.jpg&lt;br /&gt;
  |link=FEATHER-ESP8266&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=ESP8266-EVB&lt;br /&gt;
  |descr=Découvrir l'ESP8266-EVB (evaluation board) et ESP8266-DEV (module ESP), son Brochage, Alimentation, Port UEXT, Schéma, FAQ.&lt;br /&gt;
  |img=tlogo-esp8266-dev.jpg&lt;br /&gt;
  |link=ESP8266-DEV&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=ESP32-EVB&lt;br /&gt;
  |descr=Commander les éléments de la carte '''ESP32'''-DEV d'Olimex.&lt;br /&gt;
  |img=tlogo-esp32-evb.png&lt;br /&gt;
  |link=MicroPython-esp32-evb&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Charger MicroPython&lt;br /&gt;
  |descr=Apprenez comment charger le Firmware MicroPython sur une carte Pyboard, ESP32/ESP8266 (Feather, Wemos, NodeMcu), etc.&lt;br /&gt;
  |img=tlogo-feather-load-upy.jpg&lt;br /&gt;
  |link=FEATHER-CHARGER-MICROPYTHON&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Téléverser &amp;amp; Exécuter&lt;br /&gt;
  |descr=Téléverser des fichiers et exécuter du code. Un flux simple de développement.&lt;br /&gt;
  |img=tlogo-feather-load-file.jpg&lt;br /&gt;
  |link=FEATHER-CHARGER-FICHIER-MICROPYTHON&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=ESP8266 WebRepl&lt;br /&gt;
  |descr=Accéder à la console Python via la connexion WiFi d'un ESP8266.&lt;br /&gt;
  |img=tlogo-feather-WebRepl.jpg&lt;br /&gt;
  |link=FEATHER-WEBREPL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Charger un module&lt;br /&gt;
  |descr=Charger des modules Python pour ajouter de nouvelle fonctionnalités à votre carte.&lt;br /&gt;
  |img=tlogo-feather-charger-module.jpg&lt;br /&gt;
  |link=FEATHER-CHARGER-MODULE&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=RShell&lt;br /&gt;
  |descr=Transférez des fichiers et contrôlez votre carte depuis une simple connexion série. ESP8266 compatible.&lt;br /&gt;
  |img=tlogo-micropython-RShell.jpg&lt;br /&gt;
  |link=MicroPython-Hack-RShell&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=upip&lt;br /&gt;
  |descr=Télécharger une bibliothèque MicroPython en utilisant le ''Python Index Package''.&lt;br /&gt;
  |img=tlogo-micropython-upip.jpg&lt;br /&gt;
  |link=MicroPython-Hack-upip&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
=== Hacking électronique ===&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Entrée Analogique&lt;br /&gt;
  |descr=Utilisation de l'entrée analogique du Feather ESP8266 sous MicroPython.&lt;br /&gt;
  |img=tlogo-micropython-analogique.png&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-ADC&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=AM2315 - Humidité&lt;br /&gt;
  |descr=Mesure de '''température''' et '''humidité''' {{underline|en extérieur}} avec AM2315&lt;br /&gt;
  |img=tlogo-feather-upy-am2315.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-AM2315&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=DHT11 - Humidité&lt;br /&gt;
  |descr=Mesure d' '''humidité''' et '''température''' avec le très économique DHT11.&lt;br /&gt;
  |img=tlogo-feather-upy-dht11.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-DHT11&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=TSL2561 - Luminosité&lt;br /&gt;
  |descr=Mesure de la luminosité en Lux.&lt;br /&gt;
  |img=tlogo-feather-upy-TSL2561.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-TSL2561&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=BMP180 - pression&lt;br /&gt;
  |descr=Mesurer la pression atmosphérique et normalisez là.&lt;br /&gt;
  |img=tlogo-feather-upy-BMP180.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-BMP180&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=BMP280 / BME280&lt;br /&gt;
  |descr=Mesurer la pression atmosphérique, température avec BMP280 + humidité avec BME280.&lt;br /&gt;
  |img=tlogo-feather-upy-BME280.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-BME280&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=ADS1x15&lt;br /&gt;
  |descr=Mesurer précisément une tension analogique avec un ADS1115 ou ADS1015.&lt;br /&gt;
  |img=tlogo-feather-upy-ADS1115.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-ADS1115&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=NeoPixel&lt;br /&gt;
  |descr=Utiliser des NeoPixel (WS2812, SK6812) sur ESP avec MicroPython. Comment passer de 3.3V à 5V.&lt;br /&gt;
  |img=tlogo-feather-upy-neopixel.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-NEOPIXEL&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=GPIO Expander&lt;br /&gt;
  |descr=Utiliser le MCP23017 pour ajouter des entrées/sorties sur ESP8266.&lt;br /&gt;
  |img=tlogo-feather-upy-MCP23017.png&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-MCP23017&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=OLED&lt;br /&gt;
  |descr=Utiliser un écran OLED en MicroPython (ESP8266).&lt;br /&gt;
  |img=tlogo-feather-upy-oled.jpg&lt;br /&gt;
  |link=FEATHER-MICROPYTHON-OLED&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-OLED [UEXT]&lt;br /&gt;
  |descr=Un écran OLED 128x64 (I2C) utilisé sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-oled.png&lt;br /&gt;
  |link=MICROPYTHON-MOD-OLED&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-IO [UEXT]&lt;br /&gt;
  |descr=Utiliser le module I2C '''MOD-IO''' sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-io.png&lt;br /&gt;
  |link=MICROPYTHON-MOD-IO&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-IO2 [UEXT]&lt;br /&gt;
  |descr=Utiliser le module I2C '''MOD-IO2''' sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-io2.jpg&lt;br /&gt;
  |link=MICROPYTHON-MOD-IO2&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-RGB [UEXT]&lt;br /&gt;
  |descr=Contrôler des rubans LEDs RGB / RVB avec le module I2C '''MOD-RGB''' sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-rgb.png&lt;br /&gt;
  |link=MICROPYTHON-MOD-RGB&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-LCD1x9 [UEXT]&lt;br /&gt;
  |descr=Contrôler l'afficheur Alphanumérique à cristaux liquide avec le module I2C '''MOD-LCD1x9''' sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-lcd1x9.png&lt;br /&gt;
  |link=MICROPYTHON-MOD-LCD1x9&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-MAG3110 [UEXT]&lt;br /&gt;
  |descr=Un magnétomètre 3 axes '''MAG3110''' de NXP avec le module I2C '''MOD-MAG3110''' sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-mag3110.png&lt;br /&gt;
  |link=MICROPYTHON-MOD-MAG3110&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-LTR501ALS [UEXT]&lt;br /&gt;
  |descr=Senseur de luminosité et de proximité '''LTR-501ALS'''. Exploiter le module I2C sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-ltr501als.png&lt;br /&gt;
  |link=MICROPYTHON-MOD-LTR501ALS&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=MOD-Wii-Chuck [UEXT]&lt;br /&gt;
  |descr=Contrôleur de jeu I2C Wii Nunchuck. Exploiter le sous MicroPython (via port UEXT).&lt;br /&gt;
  |img=tlogo-mod-wii-nunchuck.png&lt;br /&gt;
  |url=https://github.com/mchobby/esp8266-upy/tree/master/modwii&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=DFR-Anemometer&lt;br /&gt;
  |descr=Utiliser un anémomètre (SEN0170) à sortie analogique avec un ESP32 sous MicroPython.&lt;br /&gt;
  |img=tlogo-anemometer.png&lt;br /&gt;
  |link=MICROPYTHON-ANEMOMETER&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=DFR-Girouette&lt;br /&gt;
  |descr=Utiliser une Girouette un anémomètre RS485 (SEN0482) sous MicroPython avec l'aide d'un module MOD-RS485-ISO.&lt;br /&gt;
  |img=tlogo-grouette.png&lt;br /&gt;
  |url=https://github.com/mchobby/esp8266-upy/tree/master/modrs485iso&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
== SAMD21 en MicroPython ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;360px&amp;quot; | [[Fichier:MicroPython-SAMD21.jpg|320px]]&lt;br /&gt;
| align=&amp;quot;Left&amp;quot; width=&amp;quot;350px&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;padding:10px&amp;quot; | &lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; padding: 15px 0px; border-radius: 10px 10px 10px 10px; border: 1px solid #cccccc;&amp;quot;&amp;gt;'''MicroPython sur SAMD21'''. Reflasher un {{sl|M0|Feather M0}} ou {{sl|zero|Arduino Zero}} pour qu'il supporte MicroPython! Un minimum de savoir faire est cependant requis.&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Cette section est dévolue aux plateforme SAMD21 comme le {{sl|M0|Feather M0}} ou {{sl|zero|Arduino Zero}} reflashé pour MicroPython.&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Compiler et charger MicroPython&lt;br /&gt;
  |descr=Comment compiler MicroPython et le charger sur une carte SAMD21.&lt;br /&gt;
  |img=tlogo-samd21-charger-micropython.jpg&lt;br /&gt;
  |link=SAMD21-CHARGER-MICROPYTHON&lt;br /&gt;
  |traduction=1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Feather M0 Express&lt;br /&gt;
  |descr=Carte Feather conçue pour Arduino IDE et CircuitPython (MicroPython)&lt;br /&gt;
  |img=tlogo-feather-m0-express.jpg&lt;br /&gt;
  |link=FEATHER-M0-EXPRESS&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
== WiPy ==&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;360px&amp;quot; | [[Fichier:MicroPython-WiPy.jpg|320px]]&lt;br /&gt;
| align=&amp;quot;Left&amp;quot; width=&amp;quot;350px&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;padding:10px&amp;quot; | &lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; padding: 15px 0px; border-radius: 10px 10px 10px 10px; border: 1px solid #cccccc;&amp;quot;&amp;gt; '''WiPy''' est une plateforme de développement &amp;quot;Internet des Objets&amp;quot; qui fonctionne sous Python. WiPy à moins de GPIO, est moins rapide que la PyBoard MAIS inclus le support WiFi.  la {{cl|68|gamme WiPy disponible}} chez [http://shop.mchobby.be MCHobby].&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Cette section est dévolue à la plateforme {{pl|737|MicroPython WiPy}}.&lt;br /&gt;
&lt;br /&gt;
=== Découvrir WiPy ===&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Généralités WiPy&lt;br /&gt;
  |descr=Informations générales '''mais importantes''' à propos de WiPy.&lt;br /&gt;
  |img=tlogo-micropython-pyboard-Info.jpg&lt;br /&gt;
  |link=hack-wipy-generalite&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=WiPy intro&lt;br /&gt;
  |descr=Introduction à WiPy, en prendre soin, la carte d'extension et &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;les tensions d'alimentation&amp;lt;/font&amp;gt;&lt;br /&gt;
  |img=tlogo-wipy-intro.jpg&lt;br /&gt;
  |link=hack-wipy-introduction&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Brochage WiPy&lt;br /&gt;
  |descr=Le brochage du WiPy et les informations utiles sur les broches.&lt;br /&gt;
  |img=tlogo-wipy-pinout.jpg&lt;br /&gt;
  |link=hack-wipy-pinout&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=WiPy REPL&lt;br /&gt;
  |descr=Votre WiPy en ligne de commande avec le REPL. Envoyez des ordres à votre WiPy depuis votre réseau WiFi.&lt;br /&gt;
  |img=Tlogo-micropython-REPL.jpg&lt;br /&gt;
  |link=hack-wipy-repl&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=WiPy et Blynk&lt;br /&gt;
  |descr=Utilisez votre WiPy depuis votre smartphone à l'aide de Blynk&lt;br /&gt;
  |img=tlogo-wipy-blynk.jpg&lt;br /&gt;
  |link=hack-wipy-blynk&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Config WiFi/WLAN&lt;br /&gt;
  |descr=Configuration de la connexion WiFi/WLAN de votre WiPy étape par étape.&lt;br /&gt;
  |img=tlogo-wipy-intro.jpg&lt;br /&gt;
  |link=hack-wipy-wlan&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Boot/Reset&lt;br /&gt;
  |descr=Réinitialisation (Reset) et mode de démarrage (boot mode) de votre WiPy. Ne restez jamais bloqué avec votre WiPy.&lt;br /&gt;
  |img=Tlogo-micropython-safemode.jpg&lt;br /&gt;
  |link=hack-wipy-boot-mode&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Mise-à-jour&lt;br /&gt;
  |descr=Comment réaliser la mise-à-jour du firmware.&lt;br /&gt;
  |img=tlogo-micropython-update.jpg&lt;br /&gt;
  |link=hack-wipy-upgrade-firmware&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Références&lt;br /&gt;
  |descr=Liens, références et ressources concernant WiPy, LoPy.&lt;br /&gt;
  |img=tlogo-micropython-reference.jpg&lt;br /&gt;
  |link=hack-wipy-reference&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
=== Hacking electronic avec WiPy ===&lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Controler HeartBeat&lt;br /&gt;
  |descr=Prenez le contrôle de votre première LED, la LED HeartBeat présent sur la carte.&lt;br /&gt;
  |img=tlogo-hack-wipy-heatbeat.jpg&lt;br /&gt;
  |link=hack-wipy-heartbeat&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=LED Externe&lt;br /&gt;
  |descr=Brancher et contrôler une LED. Apprenez ce que signifie ''Current Sink'' et et ''Current Source''&lt;br /&gt;
  |img=Tlogo-micropython-1led.png&lt;br /&gt;
  |link=hack-wipy-led&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Bouton&lt;br /&gt;
  |descr=Utiliser une entrée pour lire l'état d'un bouton. Apprenez ce que signifie ''Résistance Pull Up'' et utiliser les '''interruptions''' et fonction '''callback'''.&lt;br /&gt;
  |img=Tlogo-wipy-button.jpg&lt;br /&gt;
  |link=hack-wipy-button&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Relais&lt;br /&gt;
  |descr=Commandez un Relais avec votre WiPy.&lt;br /&gt;
  |img=Tlogo-wipy-relais.png&lt;br /&gt;
  |link=hack-wipy-Relais&lt;br /&gt;
  |traduction=1&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Timer&lt;br /&gt;
  |descr=Utiliser un Timer pour appeler régulièrement du code sur votre WiPy.&lt;br /&gt;
  |img=Tlogo-wipy-timer.png&lt;br /&gt;
  |link=hack-wipy-Timer&lt;br /&gt;
  |traduction=1&lt;br /&gt;
}} &lt;br /&gt;
{{ttuto-end}}&lt;br /&gt;
&lt;br /&gt;
== LoPy &amp;amp; WiPy 2 ==&lt;br /&gt;
{| border=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; width=&amp;quot;360px&amp;quot; | [[Fichier:MicroPython-Lopy.jpg|320px]]&lt;br /&gt;
| align=&amp;quot;Left&amp;quot; width=&amp;quot;350px&amp;quot; valign=&amp;quot;top&amp;quot; style=&amp;quot;padding:10px&amp;quot; | &lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align: center; padding: 15px 0px; border-radius: 10px 10px 10px 10px; border: 1px solid #cccccc;&amp;quot;&amp;gt; '''LoPy''' est une plateforme de développement &amp;quot;Internet des Objets&amp;quot; qui fonctionne sous Python. LoPy supporte 3 types de réseau sans fil: LoRa, WiFi et Bluetooth.  la {{cl|68|gamme WiPy/Lopy est disponible}} chez [http://shop.mchobby.be MCHobby].&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Cette section est dévolue à la plateforme {{pl|737|MicroPython LoPy}}, {{pl|1039|MicroPython WiPy 2}} et la {{pl|1011|carte d'extension WiPy/LoPy}}. Les plateformes WiPy 2 et Lopy sont toutes deux basées sur un ESP_32, ce qui fait que cette section convient pour les deux plateformes.&lt;br /&gt;
&lt;br /&gt;
{{ambox|text=19/02/2017: Le FirmWare du Lopy/Wipy est activement développé, des nouvelles et/ou firmwares sont disponibles toutes les semaines.&lt;br /&gt;
&lt;br /&gt;
Tenez vous au courant en suivant les [https://forum.pycom.io/category/1/announcements-news annonces du forum Pycom.io] pour être tenu au courant.}}&lt;br /&gt;
 &lt;br /&gt;
=== Découvrir LoPy / WiPy 2 ===&lt;br /&gt;
&lt;br /&gt;
LoPy et WiPy 2 sont tous les deux basés sur une plateforme ESP_32, de ce fait, les guides ci-dessous conviennent pour les deux plateformes. &lt;br /&gt;
&lt;br /&gt;
Vous pouvez également vous inspirer des montages et exemples du WiPy 1 pour faire du prototypage électronique. &lt;br /&gt;
&lt;br /&gt;
{{ttuto-begin}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Démarrer&lt;br /&gt;
  |descr=Démarrer rapidement avec LoPy ou WiPy 2 (plateforme ESP_32 de PyCom)&lt;br /&gt;
  |img=tlogo-lopy-intro.jpg&lt;br /&gt;
  |link=hack-pycom-esp_32&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Brochage WiPy2&lt;br /&gt;
  |descr=Brochage du WiPy 2&lt;br /&gt;
  |img=tlogo-wipy2-pinout.jpg&lt;br /&gt;
  |link=hack-pycom-wipy2-pinout&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Brochage LoPy&lt;br /&gt;
  |descr=Brochage du LoPy&lt;br /&gt;
  |img=tlogo-lopy-pinout.jpg&lt;br /&gt;
  |link=hack-pycom-lopy-pinout&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=FTP/Telnet&lt;br /&gt;
  |descr=Se connecter en FTP ou telnet sur le Lopy&lt;br /&gt;
  |img=tlogo-lopy-ftp.jpg&lt;br /&gt;
  |link=hack-pycom-lopy-ftp&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Pymakr IDE&lt;br /&gt;
  |descr=Un éditeur qui se connecte en Telnet ou port série. Utiliser la LED du RGB du WiPy.&lt;br /&gt;
  |img=tlogo-lopy-ide.jpg&lt;br /&gt;
  |link=Hack-pycom-lopy-Pymakr&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=Boîte à outils&lt;br /&gt;
  |descr=Les modules, REPL, FTP, '''Boot mode''', Interruption... tout ce qu'il faut savoir &lt;br /&gt;
  |img=tlogo-lopy-toolbix.jpg&lt;br /&gt;
  |link=Hack-pycom-lopy-toolbox&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{ttuto&lt;br /&gt;
  |label=RShell&lt;br /&gt;
  |descr=Transférez des fichiers et contrôlez votre carte depuis une simple connexion série. WiPy et ESP8266 compatible.&lt;br /&gt;
  |img=tlogo-micropython-RShell.jpg&lt;br /&gt;
  |link=MicroPython-Hack-RShell&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ttuto-end}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Fichier:Micropython-PIR-alarm-30b.jpg&amp;diff=34501</id>
		<title>Fichier:Micropython-PIR-alarm-30b.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Fichier:Micropython-PIR-alarm-30b.jpg&amp;diff=34501"/>
		<updated>2026-01-06T22:19:05Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Fichier:Micropython-PIR-alarm-30a.jpg&amp;diff=34500</id>
		<title>Fichier:Micropython-PIR-alarm-30a.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Fichier:Micropython-PIR-alarm-30a.jpg&amp;diff=34500"/>
		<updated>2026-01-06T22:18:41Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34499</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34499"/>
		<updated>2026-01-06T22:18:10Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Augmenter la tension */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (c'est donc une gestion par &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas d'identifier le capteur impliqué dans la détection.&lt;br /&gt;
&lt;br /&gt;
J'ai d'abord pensé qu'une utilisation intelligente de résistances en pont diviseur de tension pourrait permettre l'identification du capteur. &lt;br /&gt;
&lt;br /&gt;
Malheureusement, même avec 4 capteurs, il existe des cas il faut identifier une différence de 200mV. Ce qui n'est pas une situation fiable sur une installation filaire.&lt;br /&gt;
&lt;br /&gt;
=== Augmenter la tension ===&lt;br /&gt;
&lt;br /&gt;
Elever la tension du signal est une bonne façon de limiter l'impact des interférences sur ce même signal. &lt;br /&gt;
&lt;br /&gt;
Cependant, cela implique une interface électronique du côté du microcontrôleur afin de ne pas dépasser la tension maximale autorisée sur les entrées.&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessous, la tension d'alimentation des capteurs (9V) est également utilisée comme tension de signal. Un optocoupleur est utilisé côté microcontrôleur pour réduire le signal à 3.3V max.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
Dans le cas présent:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Ouvert&amp;quot; =&amp;gt; GP2 = LOW&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Fermé =&amp;gt; GP2 = HIGH&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30a.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30b.jpg|960px]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34498</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34498"/>
		<updated>2026-01-06T22:07:23Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Augmenter la tension */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (c'est donc une gestion par &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas d'identifier le capteur impliqué dans la détection.&lt;br /&gt;
&lt;br /&gt;
J'ai d'abord pensé qu'une utilisation intelligente de résistances en pont diviseur de tension pourrait permettre l'identification du capteur. &lt;br /&gt;
&lt;br /&gt;
Malheureusement, même avec 4 capteurs, il existe des cas il faut identifier une différence de 200mV. Ce qui n'est pas une situation fiable sur une installation filaire.&lt;br /&gt;
&lt;br /&gt;
=== Augmenter la tension ===&lt;br /&gt;
&lt;br /&gt;
Elever la tension du signal est une bonne façon de limiter l'impact des interférences sur ce même signal. &lt;br /&gt;
&lt;br /&gt;
Cependant, cela implique une interface électronique du côté du microcontrôleur afin de ne pas dépasser la tension maximale autorisée sur les entrées.&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessous, la tension d'alimentation des capteurs (9V) est également utilisée comme tension de signal. Un optocoupleur est utilisé côté microcontrôleur pour réduire le signal à 3.3V max.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
Dans le cas présent:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Ouvert&amp;quot; =&amp;gt; GP2 = LOW&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot; =&amp;gt; Opto-coupleur microcontroleur &amp;quot;Fermé =&amp;gt; GP2 = HIGH&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34497</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34497"/>
		<updated>2026-01-06T22:03:06Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Augmenter la tension */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (c'est donc une gestion par &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas d'identifier le capteur impliqué dans la détection.&lt;br /&gt;
&lt;br /&gt;
J'ai d'abord pensé qu'une utilisation intelligente de résistances en pont diviseur de tension pourrait permettre l'identification du capteur. &lt;br /&gt;
&lt;br /&gt;
Malheureusement, même avec 4 capteurs, il existe des cas il faut identifier une différence de 200mV. Ce qui n'est pas une situation fiable sur une installation filaire.&lt;br /&gt;
&lt;br /&gt;
=== Augmenter la tension ===&lt;br /&gt;
&lt;br /&gt;
Elever la tension du signal est une bonne façon de limiter l'impact des interférences sur ce même signal. &lt;br /&gt;
&lt;br /&gt;
Cependant, cela implique une interface électronique du côté du microcontrôleur afin de ne pas dépasser la tension maximale autorisée sur les entrées.&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessous, la tension d'alimentation des capteurs (9V) est également utilisée comme tension de signal. Un optocoupleur est utilisé côté microcontrôleur pour réduire le signal à 3.3V max.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30.jpg|960px]]&lt;br /&gt;
&lt;br /&gt;
Dans le cas présent&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Fichier:Micropython-PIR-alarm-30.jpg&amp;diff=34496</id>
		<title>Fichier:Micropython-PIR-alarm-30.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Fichier:Micropython-PIR-alarm-30.jpg&amp;diff=34496"/>
		<updated>2026-01-06T22:01:31Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34495</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34495"/>
		<updated>2026-01-06T21:59:26Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Augmenter la tension */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (c'est donc une gestion par &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas d'identifier le capteur impliqué dans la détection.&lt;br /&gt;
&lt;br /&gt;
J'ai d'abord pensé qu'une utilisation intelligente de résistances en pont diviseur de tension pourrait permettre l'identification du capteur. &lt;br /&gt;
&lt;br /&gt;
Malheureusement, même avec 4 capteurs, il existe des cas il faut identifier une différence de 200mV. Ce qui n'est pas une situation fiable sur une installation filaire.&lt;br /&gt;
&lt;br /&gt;
=== Augmenter la tension ===&lt;br /&gt;
&lt;br /&gt;
Elever la tension du signal est une bonne façon de limiter l'impact des interférences sur ce même signal. &lt;br /&gt;
&lt;br /&gt;
Cependant, cela implique une interface électronique du côté du microcontrôleur afin de ne pas dépasser la tension maximale autorisée sur les entrées.&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessous, la tension d'alimentation des capteurs (9V) est également utilisée comme tension de signal. Un optocoupleur est utilisé côté microcontrôleur pour réduire le signal à 3.3V max.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30.jpg|960px]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34494</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34494"/>
		<updated>2026-01-06T21:10:58Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Augmenter la tension */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (c'est donc une gestion par &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas d'identifier le capteur impliqué dans la détection.&lt;br /&gt;
&lt;br /&gt;
J'ai d'abord pensé qu'une utilisation intelligente de résistances en pont diviseur de tension pourrait permettre l'identification du capteur. &lt;br /&gt;
&lt;br /&gt;
Malheureusement, même avec 4 capteurs, il existe des cas il faut identifier une différence de 200mV. Ce qui n'est pas une situation fiable sur une installation filaire.&lt;br /&gt;
&lt;br /&gt;
=== Augmenter la tension ===&lt;br /&gt;
&lt;br /&gt;
Elever la tension du signal est une bonne façon de limiter l'impact des interférences sur le signal. &lt;br /&gt;
&lt;br /&gt;
Dans ce cas, il faut prévoir une interface électronique du côté du microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30.jpg|800px]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34493</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34493"/>
		<updated>2026-01-06T21:10:49Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Augmenter la tension */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (c'est donc une gestion par &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas d'identifier le capteur impliqué dans la détection.&lt;br /&gt;
&lt;br /&gt;
J'ai d'abord pensé qu'une utilisation intelligente de résistances en pont diviseur de tension pourrait permettre l'identification du capteur. &lt;br /&gt;
&lt;br /&gt;
Malheureusement, même avec 4 capteurs, il existe des cas il faut identifier une différence de 200mV. Ce qui n'est pas une situation fiable sur une installation filaire.&lt;br /&gt;
&lt;br /&gt;
=== Augmenter la tension ===&lt;br /&gt;
&lt;br /&gt;
Elever la tension du signal est une bonne façon de limiter l'impact des interférences sur le signal. &lt;br /&gt;
&lt;br /&gt;
Dans ce cas, il faut prévoir une interface électronique du côté du microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-30.jpg|800px]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34492</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34492"/>
		<updated>2026-01-06T21:10:35Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Raccordement analogique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (c'est donc une gestion par &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas d'identifier le capteur impliqué dans la détection.&lt;br /&gt;
&lt;br /&gt;
J'ai d'abord pensé qu'une utilisation intelligente de résistances en pont diviseur de tension pourrait permettre l'identification du capteur. &lt;br /&gt;
&lt;br /&gt;
Malheureusement, même avec 4 capteurs, il existe des cas il faut identifier une différence de 200mV. Ce qui n'est pas une situation fiable sur une installation filaire.&lt;br /&gt;
&lt;br /&gt;
=== Augmenter la tension ===&lt;br /&gt;
&lt;br /&gt;
Elever la tension du signal est une bonne façon de limiter l'impact des interférences sur le signal. &lt;br /&gt;
&lt;br /&gt;
Dans ce cas, il faut prévoir une interface électronique du côté du microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34491</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34491"/>
		<updated>2026-01-06T00:50:26Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Raccordement analogique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (c'est donc une gestion par &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas d'identifier le capteur impliqué dans la détection.&lt;br /&gt;
&lt;br /&gt;
J'ai d'abord pensé qu'une utilisation intelligente de résistances en pont diviseur de tension pourrait permettre l'identification du capteur. &lt;br /&gt;
&lt;br /&gt;
Malheureusement, même avec 4 capteurs, il existe des cas il faut identifier une différence de 200mV. Ce qui n'est pas une situation fiable sur une installation filaire.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34490</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34490"/>
		<updated>2026-01-06T00:02:59Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Raccordement analogique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (c'est donc une gestion par &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas d'identifier le capteur impliqué dans la détection.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34489</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34489"/>
		<updated>2026-01-05T22:24:39Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Raccordement en cascade */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (c'est donc une gestion par &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas de détecter le capteur impliqué.&lt;br /&gt;
&lt;br /&gt;
En retournant le problème dans tous les sens, j'ai fini par trouver un configuration permettant d'exploiter une entrée analogique pour détecter la capteur ayant déclenché l'alarme sur un montage de type cascade.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34488</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34488"/>
		<updated>2026-01-05T22:24:18Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Raccordement en cascade */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (ce sont donc des &amp;quot;zones&amp;quot;). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement analogique ===&lt;br /&gt;
Le raccordement en cascade ne permet pas de détecter le capteur impliqué.&lt;br /&gt;
&lt;br /&gt;
En retournant le problème dans tous les sens, j'ai fini par trouver un configuration permettant d'exploiter une entrée analogique pour détecter la capteur ayant déclenché l'alarme sur un montage de type cascade.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34487</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34487"/>
		<updated>2026-01-05T21:04:12Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Raccordement en cascade */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = L'inconvénient de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (ce sont donc des &amp;quot;zones&amp;quot;). }}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Fichier:Micropython-PIR-alarm-20.jpg&amp;diff=34486</id>
		<title>Fichier:Micropython-PIR-alarm-20.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Fichier:Micropython-PIR-alarm-20.jpg&amp;diff=34486"/>
		<updated>2026-01-05T19:52:22Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34485</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34485"/>
		<updated>2026-01-05T19:50:56Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Raccordement en cascade */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-20.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le seule  problème de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (dans ce cas, on parle souvent de &amp;quot;zone&amp;quot;).&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34484</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34484"/>
		<updated>2026-01-05T19:50:41Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Raccordement Simple */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;br /&gt;
&lt;br /&gt;
=== Raccordement en cascade ===&lt;br /&gt;
Il est possible de brancher plusieurs capteurs sur une seule ligne en les branchant en série.&lt;br /&gt;
&lt;br /&gt;
L'alarme est donc déclenchée lorsqu'un des capteurs détecte un mouvement.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le seule  problème de cette configuration est qu'il n'est pas possible de savoir lequel des capteurs à provoqué le déclenchement de l'alarme (dans ce cas, on parle souvent de &amp;quot;zone&amp;quot;).&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34483</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34483"/>
		<updated>2026-01-04T20:48:43Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Raccordement Simple */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tmbox | type = speedy | text = Une tension de 3.3V est parfaite pour transporter le signal sur une courte distance.&amp;lt;br /&amp;gt;Cette tension reste cependant trop faible pour propager le signal d'alarme fiablement sur une longue distance (&amp;gt;1m). }}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34482</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34482"/>
		<updated>2026-01-04T20:43:20Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Raccordement Simple */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
{{dbox-gray| Le signal d'alarme passe par un opto-coupleur il est possible de dissocier la masse des capteurs de la masse du MicroControleur. C'est l'option employée dans la raccordement ci-dessous.}}&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34481</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34481"/>
		<updated>2026-01-04T20:37:28Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Connexion sur MicroContrôleur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
=== Raccordement Simple ===&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34480</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34480"/>
		<updated>2026-01-04T20:36:08Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Connexion sur MicroContrôleur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34479</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34479"/>
		<updated>2026-01-04T20:35:30Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Connexion sur MicroContrôleur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Le script pour lire l'état de l'entrée est relativement simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
from machine import Pin&lt;br /&gt;
p = Pin( 2, Pin.IN )&lt;br /&gt;
while True:&lt;br /&gt;
    print( &amp;quot;ALARM&amp;quot; if p.value() else &amp;quot;---&amp;quot; )&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34478</id>
		<title>Micropython-PIR-alarm</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Micropython-PIR-alarm&amp;diff=34478"/>
		<updated>2026-01-04T20:26:08Z</updated>

		<summary type="html">&lt;p&gt;Admin : /* Connexion sur MicroContrôleur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Je ne sais pas pour vous? Mais personnellement, je me suis toujours demandé comment interfacer capteur d'alarme sur un projet microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
En tant que Maker, nous avons tous eu l'occasion de tester l'un ou l'autre capteur PIR... mais qu'en est il une fois que l'on est confronté à un modèle plus &amp;quot;professionnel&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
Cet article concerne quelques un de ces capteurs.&lt;br /&gt;
&lt;br /&gt;
== Capteur PIR-476 standard ==&lt;br /&gt;
&lt;br /&gt;
Voici le capteur le plus commun, destiné à un usage en intérieur.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-01.jpg|250px]] [[Fichier:Micropython-PIR-alarm-02.jpg|250px]]&lt;br /&gt;
&lt;br /&gt;
Ce capteur PIR (Passive Infra Res) est utilisé en intérieur pour couvrir une surface de 10m x 10m avec un angle de détection de l'ordre de 90° (de 88° à 110°)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Caractéristique&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Valeur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Application&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Intérieur&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Couverture&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 10m x 10m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Angle de détection&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | ~90°&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Hauteur installation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 2.0 à 2.7m&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Alimentation&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 9 à 16V DC (31mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Sortie&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | OptoCoupleur (NC=Normally Closed), 20V DC max, 100mA)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Température&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -10°C à 50°C&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Dimensions&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 52mm x 60mm (Haut: 92mm)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Poids&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | 80 gr&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Autre&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | * Compensation de la température&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fonctionnement de la sortie:&lt;br /&gt;
* Detection = LED Allumé = OptoCoupleur &amp;quot;Ouvert&amp;quot;&lt;br /&gt;
* Non detection = LED Eteinte = OptoCoupleur &amp;quot;Fermé&amp;quot;&lt;br /&gt;
&lt;br /&gt;
De la sorte, si quelqu'un coupe le fil vers le détecteur alors le circuit s'ouvre, ce qui revient à une détection d'alarme.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-05.png]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Contact&lt;br /&gt;
! Description&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | +&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': 9 à 16V DC.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | -&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Alimentation''': masse/GND.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | com&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Commun (son &amp;quot;émetteur&amp;quot;)&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | '''Optocoupleur''': Contact normalement fermé (''Normally Closed'') lorsque le capteur ne détecte rien.&amp;lt;br /&amp;gt;&amp;quot;Collecteur&amp;quot; de l'optocoupleur.&lt;br /&gt;
|- style=&amp;quot;font-size: 90%&amp;quot;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Tamper&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | Contacts de l'anti-sabotage (si présent).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Connexion sur MicroContrôleur ==&lt;br /&gt;
&lt;br /&gt;
L'exemple ci-dessous indique comment brancher le capteur sur un microcontrôleur 3.3V (comme Raspberry-Pi Pico).&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 reste au niveau bas si rien n'est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-10.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
L'entrée GP2 passe au niveau haut lorsqu'un mouvement est détecté.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Micropython-PIR-alarm-11.jpg|800px]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Fichier:Micropython-PIR-alarm-11.jpg&amp;diff=34477</id>
		<title>Fichier:Micropython-PIR-alarm-11.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Fichier:Micropython-PIR-alarm-11.jpg&amp;diff=34477"/>
		<updated>2026-01-04T20:24:25Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Fichier:Micropython-PIR-alarm-10.jpg&amp;diff=34476</id>
		<title>Fichier:Micropython-PIR-alarm-10.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Fichier:Micropython-PIR-alarm-10.jpg&amp;diff=34476"/>
		<updated>2026-01-04T20:24:03Z</updated>

		<summary type="html">&lt;p&gt;Admin : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>