Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Idée, bugs, propositions .......
Discussion sur la mise en place d'un recueil de bibliothèques
Roger
Avatar de l’utilisateur
Amateur
Amateur
Messages : 122
Enregistré en : mars 2024
Localisation : Région PACA

#1 Message par Roger » jeu. 18 avr. 2024 14:50

Bonjour à tous,

Je voudrais proposer la création d’une nouvelle catégorie pour le forum, qui permettrait de regrouper des « bibliothèques » dédiées au PIC.

Il existe un site, LibStock de chez Mikroe, qui recense de nombreux exemples de programmes, c’est utile, mais pour diverses raisons ces exemples ne sont parfois pas très pratiques/utiles.



L’idée générale :

Mon idée n’est pas de refaire la même chose que LibStock, mais plutôt de proposer des petits bouts de code permettant de réaliser une fonction précise.

J’imagine que la très grande majorité des membres de ce forum ont déjà écrit quelques programmes pour des PIC, et par conséquent, ils pourraient potentiellement aller extraire les quelques lignes de « code intéressant » de leurs programmes pour les proposer.



A quoi cela pourrait-il ressembler :

Il y a 2 façons possibles d’envisager à quoi ces « bouts de code » pourraient ressembler, sachant que l’un n’empêche pas l’autre et que l’on peut très bien faire les 2.

Première approche : le mini programme

Il s’agit dans ce cas de proposer un mini programme dépouillé qui soit fonctionnel en l’état, c’est-à-dire que l’on pourrait le charger tel quel sur le PIC utilisé pour le voir fonctionner.

Ce mini programme devra contenir le minimum possible afin de réaliser la fonctionnalité proposée.
Exemple : on souhaite proposer une solution pour générer un signal de commande pour un servo de modélisme, c’est-à-dire une impulsion entre 0.5 et 2.5ms, avec période de 20ms.
Il existe de nombreux exemples de programmes pour piloter des servos, mais on va en général se retrouver avec un programme très complexe, gérant un afficheur, des BP et/ou un encodeur incrémental pour les menus, la sauvegarde en EEPROM, ….etc., sans parler du code en lui-même avec parfois des noms à coucher dehors pour les variables, les constantes et les procédures.

Dans ma vision des choses, le code serait réduit à sa plus simple expression, et, pour l’exemple, si on propose un code qui fonctionne avec des DELAY, on aurait juste la config minimale pour le PIC, une boucle sans fin (boucle principale), à l’intérieur de laquelle se trouve une boucle For … Next qui contient un petit DELAY de quelques µs. Le changement de la durée d’impulsion se ferait alors en modifiant la valeur numérique (pas de variable) du For … Next
Bien entendu, le programme doit comporter une grande quantité de commentaires

Certes, l’exemple que je donne n’est pas très intéressant, mais il est aussi possible, sur le même principe, de proposer une solution mettant en œuvre le module PWM, ou bien encore mettant en œuvre le Timer0 en 8 bits, ou le Timer1, ou bien encore le Timer2, sachant que ces 3 Timer ne fonctionnent pas de la même manière

Deuxième approche : le module

Dans ce cas, il s’agit de proposer un module, sous forme de fichier indépendant, qui pourrait ainsi être incorporé dans un projet et être utilisé comme une bibliothèque.

Exemple : on propose un module destiné à générer des bips sur un buzzer actif.
Depuis le programme principal, que chacun fera à sa sauce, on pourra « appeler » ce module en lui indiquant le port sur lequel se trouve le buzzer, et le nombre de bips à générer.
Le module fait alors son office, par exemple il active la sortie 200ms, la désactive 400ms, répète l’opération xx fois, puis rend la main.

Chaque module serait proposé dans le langage utilisé par son auteur (Basic, Pascal, C), et comme la plupart des compilateurs permettent de générer de l’ASM, le module pourrait sans effort supplémentaire être également proposé dans ce langage, ce qui permet potentiellement de l’intégrer tel quel dans n’importe quel projet, quel que soit le langage utilisé

Note : en principe l’utilisation du terme ASM dans un post doit déclencher une alerte sonore et lumineuse au domicile de Temps-x :wink:



L’intérêt pour les participants :

Le premier intérêt est bien entendu de permettre à tous de trouver les quelques lignes de code qui leur manque pour pouvoir terminer un projet ... ou donner envie d'en commencer un !

Un autre intérêt peut résider dans le plaisir que l’on prend à partager ses connaissances, surtout pour des débutants qui souvent regarde, avec un peu d’envie, des personnes plus expérimentées proposer des programmes très complexes et très sophistiqués (n’est-ce pas Paulfjujo ? :wink: ), et qui hésitent à se mêler à la discussion tant le niveau est éloigné de leurs connaissances.
Dans ce cas, même les moins expérimentés serait en capacité d’apporter leur pierre à l’édifice, sans avoir peur d’être « ridicule »

Enfin, le dernier intérêt que j’y vois concerne les personnes peu expérimentées :
Pour progresser, en l’occurrence avec les PIC, il y a 3 choses à faire, pratiquer, pratiquer, et pratiquer, ou pour le dire autrement, programmer, pisser du code, et pisser de la ligne !
Pour un débutant, pratiquer veut dire s’embarquer dans la réalisation d’un projet, parce que pisser de la ligne pour pisser de la ligne, ça n’est pas très attrayant et motivant, quant à s’attaquer à un projet ayant une réelle application, ça veut dire réfléchir et travailler sur toute l’électronique, en s’embarquant pour des semaines ou des mois, ce qui n’est pas toujours motivant.
Avec la création de mini programmes ou de modules, ça donnerait un but utile à atteindre, sans forcément s’embarquer dans quelque chose de long et de fastidieux.
Certains de ces « mini projets » pourraient être bouclés en quelques heures, et côté matériel, de nombreux mini projets n’auraient besoin que d’un PIC, d’un PICkit et d’une led !



Quelques exemples :

Ci-dessous, quelques exemples de mini programmes et de modules qui pourraient être proposés.
Il ne s’agit pas des meilleurs exemples, il s’agit juste de présenter quelques possibilités afin d’illustrer mes propos, et afin que chacun puisse s’en faire facilement une représentation.

* Interne au PIC

- Générer un signal PWM sur un 16F18346, avec configuration commentée des divers registres nécessaires

- Numériser une tension avec l’ADC d’un 18F45K22, avec configuration commentée des divers registres nécessaires

- Utiliser un comparateur avec une entrée externe et la référence de tension interne

- …etc.

* Externe au PIC

- Configurer les principaux registres d’un ADS1115 (ADC 16 bits I2C), et récupérer la valeur de la mesure

- Piloter un module TM1637 (afficheur led 7 segments, avec 4 ou 6 digits)

- Lire et écrire dans une EEPROM 24C512

- Lire et écrire dans une mémoire RAM 23A256

- Initialiser un afficheur Oled SSD1306 et allumage d’un pixel spécifique

- …etc.



Voilà !

J'ai quelques idées sur la façon de gérer et de présenter ces mini programmes et ces modules, mais à ce stade se serait prématuré d'en parler.

Bien entendu, cette vision des choses n’est qu’un point de départ, et je ne prétends nullement que tout doit être fait comme je l’ai décrit.

Après, est-ce utopique de présenter une telle idée sachant que l’essentiel de l’activité du forum se fait grâce à 5 ou 6 membres, peut-être, mais on peut aussi se dire que ces « mini projets » ayant une véritable utilité pourraient motiver des personnes qui n’osent pas se lancer dans des choses plus complexes.
Le programme d'un µC fait ce que vous lui demandez de faire, pas ce que vous souhaitez qu'il fasse

Discussion sur la mise en place d'un recueil de bibliothèques
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2719
Enregistré en : juillet 2016
Localisation : Terre

#2 Message par Temps-x » ven. 19 avr. 2024 03:00

Bonsoir Roger,

Roger a écrit :Source du message Note : en principe l’utilisation du terme ASM dans un post doit déclencher une alerte sonore et lumineuse au domicile de Temps-x :wink:


Tout à fait, une sirène à effectivement sonner chez moi... j'ai tout de suite compris qu'il fallait que s'intervienne sur le forum de Fantas-Pic :-D


Roger a écrit :Source du message Je voudrais proposer la création d’une nouvelle catégorie pour le forum, qui permettrait de regrouper des « bibliothèques » dédiées au PIC.


Le problème c'est que tout le monde ne pratique pas le même langage, le seule langage qui est compatible pour tous les langages c'est Asm

Mais beaucoup ne savent même pas l'inclure dans leurs propre langage.... :-D

On a ouvert un post dédié a ce projet ICI qui s'appelle Menu de routines ASM à disposition

Quelque personne on participé à certaine routine, donc je fais partie, malheuresement je n'ai pas le temps pour mon occupé, mais je reviendrais... 8-)

J'ai aussi beaucoup de macro de faite pour pas mal de chose qui ont déja servie pour pas mal de personne qui son sur le forum.

Elles peuvent à tout moment être utilisé pour y être inclure dans un langage de haut niveau.

Pour l'instant je suis dans les papiers administrative, et c'est bien le pire des langages que je connais, illogique incomprehensible, irrationnelle, injuste... bref la liste est longue, sans compter pendant que je fais ça je fais pas autre chose.. :furieux:

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Discussion sur la mise en place d'un recueil de bibliothèques
Jérémy
Administrateur du site
Administrateur du site
Messages : 2738
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#3 Message par Jérémy » ven. 19 avr. 2024 08:39

Bonjour à tous,

Merci Roger pour cette idée et cette présentation ! Je sais Ô combien c'est chronophage d'écrire des longs messages.

Je pense que cette idée est déjà en œuvre avec la rubrique "TUTORIEL".

Dans le langage C , qui est mon langage de prédilection, je fais pas mal de tuto explicatifs. Cela ma prit un certains temps.
On y retrouve quelques bases et quelques programmes utilisant des accessoires adorés par les passionnés comme le driver SSD1306; les capteur de temperature etc..

La liste ne demande qu'a s'allonger.

Ave la recherche du forum et le référencement Google, il est assez facile de tomber sur le tuto en question. Les tuto ont été vus des dizaines de milliers de fois.
Moi aussi j'aimerais que le forum soit plus dynamique, mais aujourd’hui les gens viennent, lisent , et s'en vont. Quelques rares exceptions remercient et participent. Il faut persévérer dans le contenu c'est un fait, mais cela demande énormément de temps.

Votre serviteur !
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Discussion sur la mise en place d'un recueil de bibliothèques
Roger
Avatar de l’utilisateur
Amateur
Amateur
Messages : 122
Enregistré en : mars 2024
Localisation : Région PACA

#4 Message par Roger » ven. 19 avr. 2024 09:18

Temps-x a écrit :Le problème c'est que tout le monde ne pratique pas le même langage, le seule langage qui est compatible pour tous les langages c'est Asm

Mais beaucoup ne savent même pas l'inclure dans leurs propre langage.... :-D

On a ouvert un post dédié a ce projet ICI qui s'appelle Menu de routines ASM à disposition

Quelque personne on participé à certaine routine, donc je fais partie, malheuresement je n'ai pas le temps pour mon occupé, mais je reviendrais... 8-)

Bonjour Temps-x, Jérémy et tout le forum,

merci Temps-x pour ton retour et pour le lien vers le sujet ASM.

La première remarque que je ferais, c'est que j'ignorais totalement l'existance de ce sujet, pourtant il n'est pas enterré sous une montagne de sujets, il est en 4ème position !!!
De mon avis, si je ne connaissais pas ce sujet, et je pense que je ne suis pas le seul, c'est pour plusieurs raisons :

- Déjà, instinctivement je ne vais pas regarder ce qui se passe dans la catégorie ASM car je n'ai pas les connaissances pour comprendre, et pas le temps et l'intérêt d'apprendre.
Il m'est déjà arrivé de taper quelques lignes de code en ASM dans mes programmes afin de régler un problème de vitesse d'exécution, mais c'est tout.

- Le sujet n'est pas assez mis en avant : même si on passe par la catégorie ASM, le fait que le sujet ne sois pas épinglé en haut, et le fait que son titre n'est pas très représentatif n'incite pas à aller voir ce qu'il y a dedans ... surtout pour quelqu'un qui ne pratique pas (ou quasiment pas) l'ASM, c'est à dire beaucoup de monde



Concernant la remarque sur le fait que tout le monde ne pratique pas le même langage, tu as tout à fait raison, et je l'ai évoqué.
Je ne pense pas que ce soit un gros problème, car si les mini programmes ou les routines sont réduites à leur strict minimum, avec plein de commentaires, quel que soit le langage (Basic, Pascal ou C), la plupart devraient s'y retrouver et devraient pouvoir traduire.

Sinon, il y a la possibilité de passer par l'intégration du code ASM directement dans un programme écrit en langage évolué.
Je suis de ton avis lorsque tu dis que beaucoup ne sauraient pas intégrer une routine en ASM dans leur langage, mais cela peut s'arranger assez facilement, il suffirait de faire un mini tuto avec 1 ou 2 exemples et tout le monde pourrait alors insérer de l'ASM sans forcément avoir besoin d'y comprendre quelque chose.
Chez Mikroe, n'importe où dans le programme, on place l'instruction "ASM", on tape le code en assembleur, et on termine par "END ASM" ... plus simple ça n'est pas possible !



Si jamais une nouvelle catégorie devait être crée, ce sur quoi je suis assez sceptique, il serait alors intéressant d'y déplacer le sujet sur les routines en ASM.
La question que je pose, notamment par rapport à ce que tu dis Jérémy, est-ce que le fait que ce genre de publications se trouve dans une catégorie liées à un langage spécifique n'est pas un frein pour certains ? (moi y compris, je l'avoue)
Tout ce qui est publié dans une catéogrie liée à l'ASM va faire fuir beaucoup de gens, si c'est publié dans une catégorie liée au C, ça ne va pas forcément attirer des gens parlant la Basic ou la Pascal.

N'y aurait-il pas un intérêt à regrouper tous ces mini programmes et ces routines dans une catégorie "multi langages" ?

Dans ce cas, il y faudrait aussi réfléchir à la façon de présenter les choses pour que quelqu'un qui passe par là comprenne aussitôt ce qu'il va pouvoir en retirer, car pour prendre un contre exemple, j'ai probablement dû passer un jour par la catégorie ASM, mais la lecture des titres des sujets et le fait que le sujet dont a parlé Temps-x ne soit pas épinglé et mis en avant, ont fait que je ne me suis pas arrêté.

Mon idée, mais on peut peut-être trouver mieux, ce serait une catégorie de type "Recueil de mini programmes et de routines", avec un sujet épinglé et non modifiable par les membres, qui contiendrait uniquement tous les minis programmes et les routines proposés, et la possibilité de créer des sujets pour discuter d'un mini programme ou d'une routine en particulier

Par rapport à ça, c'est à toi Jérémy de dire ce qu'il est possible et pas trop compliqué de faire, car c'est toi qui est aux manettes.
Il est sûr que pour que ça ait du sens, il faudrait que quelques membres soient intéressés et qu'ils aient le temps d'y participer.
Pour ma part, je suis prêt à fouiller dans quelques uns de mes programmes pour en extraire du code et proposer quelques mini programmes et quelques modules

P.S. : désolé pour le long message, il faut vraiment que j'apprenne à faire plus court oops
Le programme d'un µC fait ce que vous lui demandez de faire, pas ce que vous souhaitez qu'il fasse

Discussion sur la mise en place d'un recueil de bibliothèques
Roger
Avatar de l’utilisateur
Amateur
Amateur
Messages : 122
Enregistré en : mars 2024
Localisation : Région PACA

#5 Message par Roger » ven. 19 avr. 2024 09:36

Jérémy a écrit :Je pense que cette idée est déjà en œuvre avec la rubrique "TUTORIEL".

Dans le langage C , qui est mon langage de prédilection, je fais pas mal de tuto explicatifs. Cela ma prit un certains temps.
On y retrouve quelques bases et quelques programmes utilisant des accessoires adorés par les passionnés comme le driver SSD1306; les capteur de temperature etc..

La liste ne demande qu'a s'allonger.

Re,

je reviens sur ce que tu as dis.
Ce que je propose est un peu différent, en ce sens qu'il ne s'agit pas de faire des tutos, mais de publier des bouts de code les plus dépouillé possibles (mais largement commentés) afin de mettre le pied à l'étrier, et ainsi fournir un point de départ.
L'idée est vraiment de proposer quelque chose de minimaliste, tandis que le but d'un tuto sera de traiter un sujet de manière exhaustive.

L'avantage par rapport à un tutoriel comme ceux qui ont déjà été publiés sur ce forum est double :
- Pour celui qui publie, c'est beaucoup moins chronophage de publier un mini programme plutôt qu'un tutoriel en bonne et due forme
- Pour celui qui consulte, c'est moins intimidant de se retrouver avec quelques lignes, voire quelques dizaines de lignes de code, plutôt qu'avec 2 pages d'explications qui vont détailler le sujet en long, en large, et en travers !
Le programme d'un µC fait ce que vous lui demandez de faire, pas ce que vous souhaitez qu'il fasse

Discussion sur la mise en place d'un recueil de bibliothèques
gwion
Confirmé
Confirmé
Messages : 590
Enregistré en : février 2022

#6 Message par gwion » ven. 19 avr. 2024 18:47

Bonjour au forum,

Cette idée de mini programmes exemples est une excellente idée.

Discussion sur la mise en place d'un recueil de bibliothèques
Roger
Avatar de l’utilisateur
Amateur
Amateur
Messages : 122
Enregistré en : mars 2024
Localisation : Région PACA

#7 Message par Roger » sam. 20 avr. 2024 12:29

gwion a écrit :Cette idée de mini programmes exemples est une excellente idée.

Bonjour à tous,

malheureusement, comme je le pressentais, les PIC ne semblent plus intéresser beaucoup de monde.
Attendons la fin du week-end, mais il est probable que cette idée soit morte dans l'oeuf.


Même si je ne suis pas surpris, je suis quand même un peu déçu, non pas parce que ma proposition ne semble pas intéresser beaucoup de personnes, ça je m'en fiche, mais plutôt parce qu'un sujet de ce type aurait dû faire réagir du monde ... s'il y en avait eu.
Cela semble démontrer qu'il y a en fait que très peu de personnes qui fréquente ce forum, et je soupçonne que la plupart des vues d'un sujet sont en fait des robots d'indexation pour différents moteurs de recherche.

Est-ce que certains ont un avis sur ce dernier point, ou sur comment dynamiser le forum ?
Le programme d'un µC fait ce que vous lui demandez de faire, pas ce que vous souhaitez qu'il fasse

Discussion sur la mise en place d'un recueil de bibliothèques
gwion
Confirmé
Confirmé
Messages : 590
Enregistré en : février 2022

#8 Message par gwion » sam. 20 avr. 2024 13:50

Bonjour à tous,
Il n'y a pas que les PIC qui sont en perte de vitesse, c'est toute l'électronique de loisir. Et ce n'est pas d'aujourd'hui que le mouvement est amorcé.
Il y a tout de même un certain intérêt pour le monde Arduino, car c'est facile de faire des choses en piochant des morceaux un peu partout, mais sans vraiment comprendre comment ça fonctionne.

Discussion sur la mise en place d'un recueil de bibliothèques
Roger
Avatar de l’utilisateur
Amateur
Amateur
Messages : 122
Enregistré en : mars 2024
Localisation : Région PACA

#9 Message par Roger » sam. 20 avr. 2024 14:15

gwion a écrit :Il n'y a pas que les PIC qui sont en perte de vitesse, c'est toute l'électronique de loisir. Et ce n'est pas d'aujourd'hui que le mouvement est amorcé.
Il y a tout de même un certain intérêt pour le monde Arduino, car c'est facile de faire des choses en piochant des morceaux un peu partout, mais sans vraiment comprendre comment ça fonctionne.

Il y a aussi l'ESP32 qui vole un peu la vedette à l'Arduino, sinon que dire de plus, c'est malheureusement très vrai :cry:
Le programme d'un µC fait ce que vous lui demandez de faire, pas ce que vous souhaitez qu'il fasse

Discussion sur la mise en place d'un recueil de bibliothèques
venom
Avatar de l’utilisateur
Expert
Expert
Messages : 1223
Âge : 39
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#10 Message par venom » dim. 21 avr. 2024 08:27

Bonjour a tous.

Perso j'aime beaucoup aussi l'idée. Après pour ce qui est de la réaction des membres, je pense que déjà que l'électronique est un hobby parmi d'autres, donc nous ne sommes pas toujours collé sur le forum fantaspic.
Donc patience. Et oui la communauté du forum est petite mais bon enfants (c'est le principal)
Après les plus calé d'ici on je pense déjà pas mal de bout de code qui les aides. Par exemple le site de paulfjujo regorge d'exemples de code pour beaucoup de projets.

Après j'y vois aussi un "inconvénient" car en gros tu souhaites faire comme Arduino des bibliothèques accessibles à tous.
Hors le peut de forum Arduino ou j'ai traîné, je vois souvent des gens qui télécharge et tests des libs sans dire merci et appel a l'aide car ils ne cherchent pas à voir comment elle fonctionne. (Mais ça c'est un autre sujet). :wink:

Après ça pourrait être cool de faire un logiciel spécial fantaspic qui se connecte a la base de données du site pour récupérer les libs. 8-)

Bref. Je suis quand même ce sujet de prêt


:bravo: <----- pancarte





@++
Mon site web
Mon discord : venom#4888


Retourner vers « Le forum Fantas-PIC »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 7 invités