Différences entre versions de « MyDin »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
 
(32 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 8 : Ligne 8 :
 
[[Fichier:MyDin-3modules.jpg|640px]]
 
[[Fichier:MyDin-3modules.jpg|640px]]
  
MyDin combines one controler board together with one backplane board (power interface).  
+
{{dbox-orange| MyDin combines '''one controler''' board together with '''one backplane''' board (power interface). }}
  
 
[[Fichier:MyDin-Principle.jpg|800px]]
 
[[Fichier:MyDin-Principle.jpg|800px]]
  
MyDin is propelled by a software solution (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.
  
'''MyDin Features:'''
+
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
 
* Controler board based on Raspberry-Pi Pico 2
 
** Dual Core Cortex M33 @ 150 MHz
 
** Dual Core Cortex M33 @ 150 MHz
Ligne 45 : 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="center" | zzzz
+
| align="left"  | Two relays<br />(opto-isolated)
 +
| align="center" | coming soon
 +
| align="left" | coming soon
 +
 
 
|- style="font-size: 90%"
 
|- style="font-size: 90%"
| align="center" | aaa
+
| 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="left" | aaa
+
| 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 combines one controler board together with one backplane board (power interface).

 

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-MB3PICO
 
  • 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
 
Two relays
(opto-isolated)
coming soon coming soon
4 modules
 
to do to to to do to do to do to do
6 modules
 
to do to to to do to do to do to do

Learning

Async or not

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

Modules & classes

Cross table of boards vs python classes.

Bases classes

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

Advanced coding

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

Pico3Mod class

The very first MyDin controler board

TwoRelay3Mod C.

The very first MyDin backplane board

 

Resources and use-cases

Code Repository

MicroPython code repository with examples, tests and usecase scripts.

Thermostat

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

 

Modèle:MyDin-TRAILER