Salut tout le monde
Je suis nouveau dans ce forum, et comme le titre l'indique, je cherche a savoir quel serait le System le mieux adapté pour transformé une carte mère de PC en une carte microcontrôleur qui pourra gérer un afficheur VGA ou autre, des événement sonores, et une interface entré sortie via USB, merci d'avance pour votre aide
# Je ne suis pas sûr de comprendre la question
Posté par aiolos . Évalué à 2.
Mais si ce que tu veux, c'est un contrôle de bas niveau, Linux te permet de faire ça. Donc tu met un Linux minimaliste, éventuellement avec buildroot ou yocto, comme c'est fait en embarqué. Par contre, je ne fais pas ce genre d'embarqué, donc je ne sais pas si ce sera adapté à une carte complexe comme une carte mère de PC…
# C'est tout con, mais...
Posté par Graveen . Évalué à 3.
…une carte mère de PC n'héberge par un microcontroleur mais un microprocesseur.
Si tu as besoin de puissance tu peux te tourner vers des Raspiberry Pi, qui ont la ressource necessaire pour gérer un écran et des périphériques USB en plus des GPIOs..
Si tu as besoin d'entrées /sorties pilotable tout en restant sur une architecture x86, tu as des cartes PCI ou USB qui font ça, ou tu peux également rajouter directement une carte Arduino ou Raspiberry que tu pilotes via des interfaces standard de ton OS.
# Linux MAIS
Posté par NeoX . Évalué à 4.
AUCUN systeme ne permettra de transformer un PC en carte microcontrolleur
comme son nom l'indique un micro-controlleur est un "mini PC" qui consomme très peu
et va proposer des entrées/sorties pour "contrôler" d'autres appareils.
donc rien de plus que ce que fait un PC standard,
donc là, n'importe quel OS fera l'affaire,
comme tu es ici sur linuxfr je dirais bien que LINUX est un bon candidat.
Ensuite tu vas avoir des linux orientés "temps reels" pour la musique par exemple
# Un RTOS minimaliste ?
Posté par totof2000 . Évalué à 2. Dernière modification le 21 juin 2021 à 19:07.
https://fr.wikipedia.org/wiki/FreeRTOS
https://fr.wikipedia.org/wiki/RTEMS
https://github.com/develersrl/bertos
https://fr.wikipedia.org/wiki/ChibiOS/RT
Et si tu veux faire des trucs simples mono-utilisateurs, il y a aussi freedos :
https://www.freedos.org/
[^] # Re: Un RTOS minimaliste ?
Posté par cg . Évalué à 1.
Dans le même esprit, un linux configuré pour le temps réel permet de faire des machines-outil de précision, en contrôlant des cartes d'IO en PCI (exemple) ou les ports série/parallèle, voir http://linuxcnc.org/docs/2.8/html/getting-started/system-requirements.html
Mais comme déjà dit, si l'objectif est de piloter des broches d'IO tout en ayant une carte son/un affichage, par exemple pour une installation, tu peux coupler un PC avec une Arduino, ou simplement utiliser une Raspi ou une Beagleboard.
[^] # Re: Un RTOS minimaliste ?
Posté par mineralman . Évalué à 1.
Merci pour vos réponses,
Pour être plus précis, je souhaite faire un flipper moderne ( pinball machine) en chair et en os et non virtuel pour vous donner globalement les performances que doit avoir la bête, avec la gestion des animations et du score, etc, en suivant vos conseilles l'option raseberry pi me semble la plus adéquate, mais je doit choisir le meilleur systeme linux pour gagner en efficacité, alors d’après vous quel serait l'élu?
[^] # Re: Un RTOS minimaliste ?
Posté par totof2000 . Évalué à 4. Dernière modification le 21 juin 2021 à 20:13.
A mon avis, si tu dois gérer du 'temps réel', je dirais qu'un rpi avec une extension RT pourrait faire l'affaire. Sinon tu découpes les parties de ton flipper en modules bas-niveau (pour la gestion temps réel) par exemple avec un pico-pi, ety tu charges le raspberry pi de l'orchestration de l'ensemble.
https://www.blaess.fr/christophe/files/Raspberry-Pi-et-temps-reel.pdf
https://lemariva.com/blog/2019/09/raspberry-pi-4b-preempt-rt-kernel-419y-performance-test
[^] # Re: Un RTOS minimaliste ?
Posté par papap . Évalué à 2.
Bien pour un Rasberry, il n'y en a pas 36 : essaye Rasbian
[^] # Re: Un RTOS minimaliste ?
Posté par totof2000 . Évalué à 2.
Euh … Bah non ….
https://www.raspberrypi-france.fr/systemes-dexploitation-linux-unix-optimises-raspberry-pi/
https://www.ionos.fr/digitalguide/serveur/know-how/systeme-exploitation-raspberry-pi/
[^] # Re: Un RTOS minimaliste ?
Posté par mineralman . Évalué à 1.
Merci pour vos conseils et pour tout les liens, ca me permettra de partir du bon pied pour mon projet.
[^] # Re: Un RTOS minimaliste ?
Posté par totof2000 . Évalué à 1.
Sinon pour ton projet …. essaie de modulariser … Pas forcément en terme de matériel (si ça ne se justifie pas), mais en terme de "fonctionnalités". Ca sera beaucoup plus maintenable à long terme. Quand je parle de fonctionnalités, ça peut être des fonctionnalités techniques (allumage de lampes sur le plateau, déterminer que la boule a actionné tel capteur), mais aussi en terme de fonctionnalité "jeu" (gestion de rampe, gestion dee groupes de capteurs pour obtenir telle ou telle progression pour l'obtention de bonus, etc …).
[^] # Re: Un RTOS minimaliste ?
Posté par ptit_poulet . Évalué à 3.
Le youtuber Henri Hihacks vient de sortir une vidéo dans laquelle il fabrique un flipper avec un arduino pour tout piloter.
[^] # Re: Un RTOS minimaliste ?
Posté par Mali (site web personnel) . Évalué à 1.
Dans un autre style, moins mécanique et plus software
la démo rzr pinball
La mini debconf qui présente le projet
# Alors, Linux ou microcontroleur ?
Posté par gUI (Mastodon) . Évalué à 5. Dernière modification le 22 juin 2021 à 07:42.
En y réfléchissant, dans ton cas (flipper) c'est pas si évident de trancher. Pour s'aider on peut faire une liste de POUR/CONTRE
Linux (PC ou RPi)
POUR :
CONTRE :
Microcontrôleur
POUR :
CONTRE :
Donc selon ce que tu sais, ce que tu veux apprendre, et ce que tu veux faire au final, je te laisse juger. J'ai sûrement oublié des points, je laisse les commentaires enrichir la liste.
Après perso si tu pars sur un Linux, j'aurais tendance à dire que la distribution à choisir c'est celle qui aura la meilleure documentation pour l'adapter à ton besoin : patches temps réel notamment.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Alors, Linux ou microcontroleur ?
Posté par Anthony Jaguenaud . Évalué à 4.
Pour pouvoir parler de « Temps Réel », il faut déjà poser une contrainte de temps.
Le temps réel, ce n’est pas aller vite, mais arriver à temps tout le temps.
Un noyaux Linux standard fera très bien l’affaire pour une précision de l’ordre de la milliseconde, alors pour un flipper…
[^] # Re: Alors, Linux ou microcontroleur ?
Posté par totof2000 . Évalué à 3. Dernière modification le 22 juin 2021 à 19:07.
Ca doit aussi dépendre de ce que tu fais faire à ton flipper.
Perso je ferais un truc hybride et modulaire : une partie basée sur microcontroleur pour gérer directement le hardware, et les loupiottes sur le plateau de jeuet une partie basée sur Linux pour ordonnancer le tout et gérer l'affichage des points et des animations . Pour la communication entre modules je verrais bien un bus CAN (a moins que ça soit Overkill ?).
[^] # Re: Alors, Linux ou microcontroleur ?
Posté par gUI (Mastodon) . Évalué à 3. Dernière modification le 22 juin 2021 à 20:38.
Oui bien sûr. Un système d'arrosage de plante verte reste un système temps réel, et pourtant tu peux mettre 10mn à prendre une décision si tu veux, sans pour autant faire crever la plante.
J'avoue que je ne sais pas trop niveau feeling ce que demande le flipper, mais dans l'ordre d'idée de la ms ça devrait être largement suffisant en effet (quand je joue sur ma PS4 à 60Hz j'ai une image toutes les 16ms, donc quoi que je fasse ne réagira pas en moins de 16ms et ça ne me dérange pas).
Après, tenir la ms sur le kernel sans patch, ça n'a pas l'air systématique non plus (mais on reste sous les 16ms dont je parle ci-dessus donc pourquoi pas).
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Alors, Linux ou microcontroleur ?
Posté par Anthony Jaguenaud . Évalué à 4.
Tu as
sched_setscheduler
qui permet de passer ton processus en mode temps réel avec le paramètreSCHED_FIFO
ouSCHED_RR
. Sans noyau temps réel, la seule chose plus prioritaire restera le noyau de l’OS. Ce qui dans 95% des cas est suffisant (de mon point de vu)Alors oui, on peut avoir un très léger décalage au démarrage. Mais l’objectif c’est que le temps entre l’entrée (touché d’un bumper) et la réaction (allumage d’une loupiote) tu es moins de x ms.
En utilisant un timer (
setitimer
), je n’ai jamais été réveillé avec du décalage pourri.Tu peux aussi faire un
sched_setaffinity
qui va permettre d’éviter les migrations entre cœur. En plus, naturellement, l’OS utilisera les autres cœurs pour s’exécuter et exécuter les tâches applicatives.# The Ben Heck Show, Teensy, etc
Posté par max22 . Évalué à 2. Dernière modification le 23 juin 2021 à 23:26.
Tu peux aller voir les anciens épisodes de The Ben Heck Show parlant de flipper, pour y trouver de l'inspiration (il y en a pas mal si je me souviens bien).
Si c'était à moi de le faire, je choisirais un Teensy car il a une très bonne librairie audio, simple et puissante. le dernier (4.1) a énormément de broches pour gérer plein de trucs.
Pour la sortie son, tu peux utiliser le module audio qui va avec la carte, sinon un PCM5102 (moins cher) fera très bien l'affaire.
Si un écran 2.8 pouces te suffit, un ILI9341 marchera très bien avec le teensy et tu trouveras de la doc pour l'utiliser, et la librairie qu'il te faut. Petite vidéo sur youtube.
Et si ça ne te suffit pas, tu prends un raspberry pi zero pour gérer la partie graphique.
Mais un raspberry pi seul, pour gérer des moteurs, des solénoides et tout le bazar dont tu auras besoin c'est possible, mais tu vas galérer. Par exemple il n'y a que 2 sorties PWM si je ne me trompe pas, donc tu ne peux gérer que 2 servo-moteurs. (Et adieu la carte son car elle utilise les mêmes broches…).
Et à ta place je ne partirais pas dans le "linux temps réel". Ce sera beaucoup plus difficile, surtout si tu débutes. Ne garde l'ordinateur que pour ce qui est impossible à faire par un microcontrôleur.
C'est ce que moi je ferais, mais je ne suis pas toi ;)
[^] # Re: The Ben Heck Show, Teensy, etc
Posté par mineralman . Évalué à 2. Dernière modification le 24 juin 2021 à 06:09.
Merci tout le monde,
Je trouve ce foisonnement d'idées très enrichissant, je sent que je suis entre de bonne mains, au final ca me permettra de peser les pour et les contres question , budget, difficulté, optimisation des ressources, la voie a prendre tout simplement, ca me fera beaucoup de lecture tous ca, et tant mieux, oui Je suis un fan de The Ben Heck Show, il a même publier un projet sur https://github.com/LonghornEngineer/Pinheck_Pinball_System, et il s'agit d'une carte tout en un basé sur un PIC32MX795F512L, je suis en train d'explorer toute les possibilités, même si mon idées de départ est intéressante, elle reste plus lourde a mettre en oeuvre en m'appuyant sur ce projet universitaire que je viens de découvrir , https://www.researchgate.net/profile/Daniel-Wong55/publication/252341764_Programming_Pinball_Machines_for_Fun_and_Education/links/56272fab08aed3d3f138af3b/Programming-Pinball-Machines-for-Fun-and-Education.pdf
```
[^] # Re: The Ben Heck Show, Teensy, etc
Posté par max22 . Évalué à 1.
Une vidéo de Henri Hihacks qui vient de sortir sur youtube
il a utilisé un arduino mega
# tu peux garder le PC pour ...
Posté par NeoX . Évalué à 2.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.