Différences entre versions de « MyDin »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
 
(24 versions intermédiaires par le même utilisateur non affichées)
Ligne 2 : Ligne 2 :
  
 
== Introduction ==
 
== Introduction ==
MyDin is a versatile DIN based prototyping solution running MicroPython.  
+
MyDin is a versatile DIN based prototyping/learning solution running MicroPython.  
  
 
MyDin is designed to create custom automation solutions.
 
MyDin is designed to create custom automation solutions.
Ligne 14 : Ligne 14 :
 
MyDin is propelled by a software solution (Python classes) designed to help writing your own code with MicroPython.
 
MyDin is propelled by a software solution (Python classes) designed to help writing your own code with MicroPython.
  
Thanks to the power of Python, the DIN controler class is ''configured'' with a backplane class making the backplane features automagically injected inside the controler.
+
Thanks to the power of Python, the DIN controler class is '''configured''' with a backplane class making the backplane features automagically injected inside the controler.
  
 
== MyDin Features ==
 
== MyDin Features ==
Ligne 47 : Ligne 47 :
 
| align="center" colspan="2" | Controler
 
| align="center" colspan="2" | Controler
 
| align="center" colspan="2" | Backplane
 
| align="center" colspan="2" | Backplane
| align="center" | Backplane
+
| align="center" colspan="2" | Backplane
 
|- style="font-size: 90%"
 
|- style="font-size: 90%"
 
| align="center" | '''3 modules'''<br />[[fichier:dincase-3modules.png]]
 
| align="center" | '''3 modules'''<br />[[fichier:dincase-3modules.png]]
| align="center" | DINCASE-MB3PICO<br/>[[fichier:dincase-mb3pico.png|250px]]
+
| align="center" | {{pl|2807|DINCASE-MB3PICO}}<br/>[[fichier:dincase-mb3pico.png|250px]]
 
| align="left"  | <ul><li>RTC</li><li>4 User buttons</li><li>Reset button</li><li>4 User LEDs</li><li>Status LED</li><li>Buzzer</li><li>Qwiic/StemmaQt (I2C)</li><li>UEXT conn. (I2C,SPI,UART)</li><li>OneWire conn.</li><li>WiFi/Bt</li><li>micro USB</li></ul>
 
| align="left"  | <ul><li>RTC</li><li>4 User buttons</li><li>Reset button</li><li>4 User LEDs</li><li>Status LED</li><li>Buzzer</li><li>Qwiic/StemmaQt (I2C)</li><li>UEXT conn. (I2C,SPI,UART)</li><li>OneWire conn.</li><li>WiFi/Bt</li><li>micro USB</li></ul>
| align="center" | DINCASE-2R-BP3MOD<br/>[[fichier:dincase-2r-bp3mod.png|250px]]
+
| align="center" | {{pl|2737|DINCASE-2R-BP3MOD}}<br/>[[fichier:dincase-2r-bp3mod.png|250px]]
 
| align="left"  | Two relays<br />(opto-isolated)
 
| align="left"  | Two relays<br />(opto-isolated)
| align="center" | zzzz
+
| align="center" | coming soon
 +
| align="left" | coming soon
 +
 
 
|- style="font-size: 90%"
 
|- style="font-size: 90%"
 
| align="center" | '''4 modules'''<br />[[fichier:dincase-4modules.png]]
 
| align="center" | '''4 modules'''<br />[[fichier:dincase-4modules.png]]
| align="left" | xx
+
| align="center" | to do
| align="left" | yyyy
+
| align="left" | to to
| align="left" | zzzz
+
| align="center" | to do
 +
| align="left"   | to do
 +
| align="center" | to do
 +
| align="left"   | to do
 +
 
 
|- style="font-size: 90%"
 
|- style="font-size: 90%"
 
| align="center" | '''6 modules'''<br />[[fichier:dincase-6modules.png]]
 
| align="center" | '''6 modules'''<br />[[fichier:dincase-6modules.png]]
| align="left" | xx
+
| align="center" | to do
| align="left" | yyyy
+
| align="left" | to to
| align="left" | zzzz
+
| align="center" | to do
 +
| align="left"  | to do
 +
| align="center" | to do
 +
| align="left"   | to do
 
|}
 
|}
 +
 +
== Learning ==
 +
 +
{{ttuto-begin}}
 +
 +
{{ttuto
 +
  |label=Async or not
 +
  |descr=Controling your myDin with AsyncIO or with procedural code. Learn the basic coding with MicroPython.
 +
  |img=tlogo-mydin-async-or-not.jpg
 +
  |link=mydin-async-or-not
 +
}}
 +
 +
{{ttuto
 +
  |label=Modules & classes
 +
  |descr=Cross table of boards vs python classes.
 +
  |img=tlogo-mydin-modules-and-classes.png
 +
  |link=Mydin-modules-and-classes
 +
}}
 +
 +
{{ttuto
 +
  |label=Bases classes
 +
  |descr=Bases classes diagram and description. Understanding the bases will help you to write efficient code.
 +
  |img=tlogo-mydin-class-diagram.png
 +
  |link=Mydin-classes-diagram
 +
}}
 +
 +
{{ttuto
 +
  |label=Advanced coding
 +
  |descr=Learn advance feature coding with RUN_APP, setup, task creation, etc
 +
  |img=tlogo-mydin-advanced.png
 +
  |link=Mydin-advanced-usage
 +
}}
 +
 +
{{ttuto
 +
  |label=Pico3Mod class
 +
  |descr=The very first MyDin controler board
 +
  |img=tlogo-mydin-Pico3Mod.png
 +
  |link=Mydin-Class-Pico3Mod
 +
}}
 +
 +
{{ttuto
 +
  |label=TwoRelay3Mod C.
 +
  |descr=The very first MyDin backplane board
 +
  |img=tlogo-mydin-Pico3Mod.png
 +
  |link=Mydin-Class-TwoRelay3Mod
 +
}}
 +
 +
{{ttuto-end}}
 +
 +
== Resources and use-cases ==
 +
 +
{{ttuto-begin}}
 +
 +
{{ttuto
 +
  |label=Code Repository
 +
  |descr=MicroPython code repository with examples, tests and usecase scripts.
 +
  |img=tlogo-github.jpg
 +
  |url=https://github.com/mchobby/micropython-mydin
 +
}}
 +
 +
{{ttuto
 +
  |label=Thermostat
 +
  |descr=Implement a basic thermostat with a DS18B20 temperature sensor and a relay
 +
  |img=tlogo-thermostat.png
 +
  |link=Mydin-UseCase-Basic-Thermostat
 +
}}
 +
 +
{{ttuto-end}}
  
 
{{MyDin-TRAILER}}
 
{{MyDin-TRAILER}}

Version actuelle datée du 7 mai 2025 à 17:27

Introduction

MyDin is a versatile DIN based prototyping/learning solution running MicroPython.

MyDin is designed to create custom automation solutions.

MyDin-3modules.jpg

MyDin combines one controler board together with one backplane board (power interface).

MyDin-Principle.jpg

MyDin is propelled by a software solution (Python classes) designed to help writing your own code with MicroPython.

Thanks to the power of Python, the DIN controler class is configured with a backplane class making the backplane features automagically injected inside the controler.

MyDin Features

  • Controler board based on Raspberry-Pi Pico 2
    • Dual Core Cortex M33 @ 150 MHz
    • 512 KB RAM
    • 4 MB Flash
    • WiFi/Bluetooth
  • Watchdog
  • Realtime Clock
  • AsyncIO implementation (cooperative multitasking)
  • setup() / loop() implementation for user code
  • Monitoring task
    • Inner temperature
  • Custom task (for user code)
  • DS18B20 temperature sensor (automatic detection and activation)
  • User Interface (configuration depends on DIN module size)
  • Expansion Interface
    • Qwiic / StemmaQt (I2C)
    • UEXT (I2C, SPI, UART, OneWire)
    • Support for many sensors thank to MicroPython (see esp8266-upy repository)
  • Interchangeable "Power" BackPlane board
    Many power interface combinations...
    • Relay
    • 24V in/out
    • Analog input/output

MyDin Assortments

Din size Controler Backplane Backplane
3 modules
Dincase-3modules.png
DINCASE-MB3PICO
Dincase-mb3pico.png
  • RTC
  • 4 User buttons
  • Reset button
  • 4 User LEDs
  • Status LED
  • Buzzer
  • Qwiic/StemmaQt (I2C)
  • UEXT conn. (I2C,SPI,UART)
  • OneWire conn.
  • WiFi/Bt
  • micro USB
DINCASE-2R-BP3MOD
Dincase-2r-bp3mod.png
Two relays
(opto-isolated)
coming soon coming soon
4 modules
Dincase-4modules.png
to do to to to do to do to do to do
6 modules
Dincase-6modules.png
to do to to to do to do to do to do

Learning

Async or not

Tlogo-mydin-async-or-not.jpg

Controling your myDin with AsyncIO or with procedural code. Learn the basic coding with MicroPython.

Modules & classes

Tlogo-mydin-modules-and-classes.png

Cross table of boards vs python classes.

Bases classes

Tlogo-mydin-class-diagram.png

Bases classes diagram and description. Understanding the bases will help you to write efficient code.

Advanced coding

Tlogo-mydin-advanced.png

Learn advance feature coding with RUN_APP, setup, task creation, etc

Pico3Mod class

Tlogo-mydin-Pico3Mod.png

The very first MyDin controler board

TwoRelay3Mod C.

Tlogo-mydin-Pico3Mod.png

The very first MyDin backplane board

 

Resources and use-cases

Code Repository

Tlogo-github.jpg

MicroPython code repository with examples, tests and usecase scripts.

Thermostat

Tlogo-thermostat.png

Implement a basic thermostat with a DS18B20 temperature sensor and a relay

 

Modèle:MyDin-TRAILER