[Programmation] MODULE℠, l'électronique facile pour l'ATmega328P
Discussion fermée
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 41

MODULE℠, l'électronique facile pour l'ATmega328P



  1. #1
    sylvainmahe

    Post MODULE℠, l'électronique facile pour l'ATmega328P


    ------

    Bonjour

    Dans cet article, je vais expliquer ce qu'est mon dernier projet MODULE℠, et vous montrer des exemples pour que vous puissiez tout comme moi réaliser des projets en électronique facilement.

    J'ai programmé en html un blog qui regroupe ce concept global et qui sera agrémenté au fil du temps de nouveaux exemples et explications:


    ###### Lien vers le Blog perso supprimé (charte)
    Comprendre ce qu'est MODULE℠

    MODULE℠ est une suite de classes écrites en C++ pur (sans bibliothèque additionnelle) dédié à la programmation du microcontrôleur ATmega328P, ce dernier monté ici sur l'une de mes cartes modulaires:

    dsc02499.jpg

    Le plan de mise en production de cette carte est disponible en téléchargement dans cet article ou sur mon blog.
    Dans les pages suivantes, j'appelle cette carte l'automate, ne soyez donc pas surpris si vous rencontrez ce terme.
    MODULE℠ est également une suite de cartes électroniques partie commande avec microcontrôleur, affichage avec afficheurs à dels (digits et matrice), et électronique de puissance.

    Historique du projet MODULE℠:
    Le projet MODULE℠ à débuté en Août 2014 et aura demandé jours pour jours 2 ans de travail.


    Depuis longtemps je me suis intéressé à l'électricité, mais l'électronique (embarquée) avant ce projet m'est toujours apparu comme obscure et difficile à appréhender. En Août 2014, j'ai donc décidé d'apprendre avec la meilleure volonté l'électronique, parce que c'était un domaine que je ne connaissais (sans même encore parler de maîtriser ou de pratiquer) absolument pas.

    Sans formation dans le domaine, il aura fallut acharnement pour ainsi progresser (par les échecs, les erreurs, mais aussi les réussites) en lisant pendant des mois des articles sur internet (dans lesquels il convient souvent de trier et de recouper l'information) mais aussi et surtout à force de pratique et d'expériences personnelles.

    La philosophie de MODULE℠:
    MODULE℠ n'est pas programmé en surcouche d'une autre bibliothèque comme l'est la plupart des bibliothèques dont fait partie Arduino™, de fait, le code source C++ est dédié et optimisé pour le microcontrôleur ATmega328P afin d'obtenir le meilleur compromis en C++ en terme de rapidité et d'espace mémoire.


    MODULE℠ est une bonne alternative à Arduino™ pour programmer plus efficacement l'ATmega328P.
    L'idée de MODULE℠ veut qu'aucun code C++ n'ait été recopié d'un livre ou d'internet, tout est une création personnelle unique, ceci dans le seul but de comprendre le fonctionnement des choses, d'optimiser, et de partager une création personnelle tout simplement.

    Aucune bibliothèque couramment admise comme faisant partie du standard du langage C++ n'a été utilisée pour programmer MODULE℠, comme par exemple stdlib.h, stdio.h, ou encore math.h, toujours dans un soucis de compréhension du fonctionnement. Cela m'a permis de par exemple faire un peu de mathématiques (sans math.h) et de construire des fonctions comme sinus, cosinus, ou encore arc tangente que l'on retrouve souvent dans les calculatrices modernes.

    MODULE℠ c'est aussi redonner tout l'intérêt pour ce petit microcontrôleur 8 bits qu'est l'ATmega328P, de plus en plus délaissé au profit de microcontrôleurs 32 bits au fréquences de fonctionnement plus élevées du fait que les bibliothèques concurrentes demandent plus de cycles pour faire les mêmes opérations que MODULE℠.

    Que peut-on faire avec MODULE℠?
    MODULE℠ est comme son non l'indique modulaire, il n'a en soit pas de limite, la seule est notre imagination. Sachez qu'à l'époque de la conquête spatiale, des ingénieurs et techniciens ont envoyés des fusées dans l'espace avec bien moins comme calculateur qu'un ATmega328P !


    Avec MODULE℠ vous pouvez faire fonctionner des gyroscopes, magnétomètres, baromètres, émetteurs/récepteurs 2.4Ghz, faire fonctionner des servos-moteurs et des esc, lire des pwm, créer une interface entre l'utilisateur et l'automate via des boutons, des potentiomètres, des afficheurs, des buzzers et divers haut-parleurs. Il est possible de gérer le temps, l'aléatoire, de filtrer des valeurs, de gérer la veille de l'automate, la communication entre plusieurs microcontrôleurs, ou encore de sauvegarder des valeurs dans la mémoire de l'ATmega328P.

    Libre à vous de programmer d'autres fonctions dans MODULE℠ si vous le souhaitez !
    Photo ci-dessous, un projet de quadri-hélicoptère réalisé avec MODULE℠:

    dsc01905.jpg




    Comment installer MODULE℠

    Installer MODULE℠ est un grand mot, en réalité MODULE℠ ne demande qu'à être téléchargé et décompressé dans le répertoire de votre choix:

    ###### lien supprimé: préférer les pièces jointes
    Dans l'archive module.zip vous trouverez 2 principaux répertoires:
    - cpp, contenant la programmation C++ de MODULE℠.
    - pcb, contenant les plans des cartes électroniques de MODULE℠.


    Le répertoire module du dossier cpp contient toutes les classes du programme MODULE℠, ce qui comprend les fichiers d'en-tête (.h) que vous aurez à inclure dans vos projets si besoin, et les fichiers C++ (.cpp) dans lesquels on trouve les fonctions.

    Vous pouvez modifier le contenu de ce répertoire si vous souhaitez modifier et améliorer MODULE℠ !
    Le répertoire linux du dossier cpp contient les routines linux (bash .sh) pour compiler et envoyer votre programme dans l'automate (l'ATmega328P) via un programmateur. Il contient également un fichier main.cpp, c'est le plus important car c'est dans ce fichier que vous écrirez votre programme en langage C++.

    Même chose pour le répertoire windows du dossier cpp, à ceci prêt qu'il contient cette fois-ci les routines windows (bash .bat).

    En fin, vous trouverez dans le répertoire pcb à la racine de l'archive les différents plans des cartes électroniques prêtes pour une mise en production par vos soins, ou par une usine de fabrication.




    Comment programmer avec MODULE℠

    Pour programmer avec MODULE℠, vous avez à disposition 25 classes organisées par fonctions. Toutes ses classes sont à la fois complètement indépendantes les unes des autres (au niveau du code source C++) et peuvent aussi fonctionner toutes ensembles sans problèmes d'interactions:

    Gestion des entrées/sorties:
    GpioRead.h
    GpioWrite.h
    AnalogRead.h
    InterruptRead.h
    PwmRead.h
    PwmWrite.h
    SoundWrite.h
    Gestion du temps:
    Timer.h
    Delay.h
    Mathématiques, filtres, cycle d'hystérésis, génération de nombres aléatoires:
    Math.h
    Iteration.h
    Average.h
    Filter.h
    Hysteresis.h
    Random.h
    Afficheurs à leds, gyroscopes, magnétomètres, baromètres, communication sans fil:
    Max7219.h
    Mpu6050.h
    Bno055.h
    Hmc5883L.h
    Bmp180.h
    Nrf24L01P.h
    Communication filaire entre les différents automates:
    Network.h
    Sauvegarde de données dans la mémoire interne, gestion de la veille du microcontrôleur, outils de diagnostique:
    Memory.h
    Power.h
    Tool.h
    Pour comprendre comment utiliser les classes de MODULE℠:
    - Vous pouvez lire les exemples sur le blog (qui s'étofferont au fil du temps).
    - Vous pouvez copier le code source des mes projets.
    - Ou bien il est possible de regarder dans le répertoire module dans l'archive de MODULE℠ (téléchargeable dans cet article ou sur mon blog) le contenu des fichiers d'en-tête .h des classes correspondantes, ce qui vous donnera une bonne idée de comment utiliser les fonctions et variables si vous êtes déjà bien familiarisé à la programmation C++.




    -----
    Fichiers attachés Fichiers attachés
    Dernière modification par Jack ; 07/09/2016 à 17h07. Motif: conformité à la charte

  2. #2
    sylvainmahe

    Post Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Les outils complémentaires de MODULE℠

    En programmation C++ pour les microcontrôleurs de marque Atmel comme l'ATmega328P, des outils de compilation et de programmation de la puce performants et standards existent.

    Ces outils sont disponibles pour les systèmes Linux (c'est mon cas), ou Windows. Pour Mac OS il faudra effectuer des recherches car je ne connais pas ce système, mais Mac OS étant une base Unix je pense que cela ne doit pas beaucoup différer de Linux.

    Outils pour Linux:
    Vous devez installer les paquets gcc-avr, avr-libc, binutils et avrdude. J'utilise Linux Ubuntu, voici la ligne de commande à écrire dans le terminal pour télécharger et installer les paquets sur Linux Ubuntu:


    sudo apt-get install gcc-avr && sudo apt-get install avr-libc && sudo apt-get install binutils && sudo apt-get install avrdude
    Outils pour Windows:
    Vous devez télécharger et installer un programme qui se nomme WinAVR, ce programme contient les mêmes outils que sur Linux mais ici en version pour Windows:


    Site internet de WinAVR

    Le programmateur:
    Le programmateur est une petite carte qui fait l'interface entre votre ordinateur personnel et le microcontrôleur ATmega328P (l'automate), ce qui permet d'envoyer votre programme dans cette puce. Vous pouvez fabriquer un programmateur vous même, ou utiliser une carte toute faite. Pour ma part j'ai essayé les deux.


    dsc02494.jpg

    Je vous conseille d'utiliser le programmateur USBasp qui fonctionne à merveille, disponible à l'achat ici:

    Site internet de l'USBasp

    Le programmateur USBasp est comme son nom l'indique équipé d'un port USB, à connecter directement à un port USB de votre ordinateur personnel, et à l'autre bout d'un port SPI, à connecter via une nappe adaptée (fournie) sur le port SPI de l'automate.
    A noter que la programmation par le SPI de l'ATmega328P a plusieurs avantages:
    - Évite de contenir dans la mémoire un bootloader.
    - De ce fait, évite un délai au démarrage du microcontrôleur.
    - Minimise le nombre de composants embarqués sur la carte électronique.


    dsc02461.jpgdsc02460.jpg

    Compiler et téléverser votre programme dans l'automate:

    Pour compiler et téléverser votre programme dans l'automate (l'ATmega328P) via le programmateur USBasp, il vous suffit d'exécuter (de double-cliquer) sur les routines contenues dans l'archive de MODULE℠ (téléchargeable dans cet article ou sur mon blog) nommées ATmega328P compiler.sh pour Linux ou ATmega328P compiler.bat pour Windows.

    Pour que cette opération de compilation mais surtout de téléversement fonctionne, sur Windows il faut installer le pilote de l'USBasp, sur Linux ou Mac OS en revanche il n'y a pas besoin de pilote. Par contre sur Linux Ubuntu que j'utilise il est tout de même nécessaire d'effectuer une petite opération décrite ci-dessous.
    Procédure pour Linux Ubuntu:
    Sur Linux Ubuntu, il convient d'écrire quelques lignes dans le terminal afin d'ouvrir un fichier qui permettra de spécifier quelques paramètres utiles pour l'USBasp:


    sudo gedit /etc/udev/rules.d/99-USBasp.rules
    Cette ligne ouvre l'éditeur de texte Gedit, ensuite il suffit de copier la ligne suivante dans cet éditeur de texte:

    SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", GROUP="plugdev", MODE="0666"
    Une fois ceci effectué, vous enregistrez le fichier, et vous pouvez quitter Gedit.

    Pilote de l'USBasp pour Windows:
    Sur Windows le pilote de l'USBasp n'est pas présent par défaut sur ce système. Par conséquent vous devez le télécharger et l'installer vous même.


    L'auteur de l'USBasp recommande d'utiliser un outil pour Windows qui se nomme Zadig et qui permet de rechercher ce pilote, personnellement je n'ai jamais essayé (ne possédant pas Windows) mais vu la qualité de son travail je pense que cela est de bon conseil:

    Site internet de Zadig

    Les fusibles de l'ATmega328P:

    Quand vous achetez un microcontrôleur ATmega328P, les fusibles qui permettent de définir des paramètres comme la vitesse de téléversement, l'utilisation d'un quartz externe ou encore le verrouillage du SPI, sont définis par défaut par le constructeur de la puce.

    L'opération de téléversement décrite ci-dessus ne fonctionnera pas tant que vous n'aurez pas modifié les valeurs de ses fusibles !
    Pour modifier les valeurs de ses fusibles, vous pouvez exécuter (double-cliquer) sur la routine contenue dans l'archive de MODULE℠ (téléchargeable dans cet article ou sur mon blog) nommée ATmega328P fuse.sh pour Linux ou ATmega328P fuse.bat pour Windows. Les valeurs que j'ai indiqué sont les plus optimisées pour l'automate que j'utilise (dont le plan est également disponible dans l'archive de MODULE℠).

    Cette opération est à effectuer une seule fois dans deux cas précis, lorsque vous recevez un ATmega328P neuf n'aillant jamais été programmé, ou lorsque vous récupérez un ATmega328P qui possiblement dans sa mémoire contient un bootloader, ou des paramètres de fusibles inadaptés.



    Lire l'état d'un bouton avec GpioRead.h

    La classe GpioRead.h permet de lire l'état 0 ou 1 (0V ou 5V) d'une ou plusieurs broches de l'automate avec la possibilité d'utiliser une résistance de rappel interne à l'ATmega328P, et d'avoir un système anti-rebonds bien pratique pour filtrer les rebonds et autres parasites provoquées par les boutons et interrupteurs.

    Code:
    #include "../module/GpioRead.h"
    
    int main()
    {
    	GpioRead myButton = GpioRead (1, true, 20);
    	
    	while (true)
    	{
    		myButton.read();
    		
    		if (myButton.continuous == true)
    		{
    			//allumer une led
    		}
    		else
    		{
    			//éteindre une led
    		}
    		
    		if (myButton.momentary == true)
    		{
    			//allumer une led pendant la durée de ce tour de boucle uniquement
    		}
    	}
    	
    	return 0;
    }
    Dans cet exemple, un objet myButton de type GpioRead est déclaré:
    - Le 1er paramètre indique d'utiliser la broche numéro 1 de l'automate.
    - Le 2ème paramètre permet d'utiliser une résistance de rappel interne.


    Attention, ne connectez pas un bouton sans résistance de rappel externe à une broche de l'automate sans avoir au préalable défini ce paramètre sur vrai afin d'utiliser une résistance de rappel interne, dans le cas contraire vous risquez de griller l'ATmega328P !
    - Le 3ème paramètre est le temps en millisecondes pour filtrer les rebonds.

    A noter que 20ms est une valeur qui fonctionne bien pour filtrer la plupart des boutons. Plus votre bouton ou interrupteur sera d'une qualité médiocre, plus il faudra augmenter cette valeur.
    Plus loin cet objet myButton appelle la fonction read() dans une boucle ce qui permet de lire l'état de la broche concerné.

    Cet état 0 ou 1 est stocké dans deux variables, continuous et momentary:
    - continuous signifie que tant que le bouton est appuyé, cette variable renvoie vrai.
    - momentary signifie que si le bouton est appuyé, la variable renvoie vrai à la première lecture (1er tour de boucle généralement), mais qu'elle renvoie faux aux lectures suivantes (aux tours de boucle suivants), en attendant que le bouton soit relaché puis par la suite appuyé une seconde fois.


    Cet état momentané permet d'appeller des blocs de code une seule fois lorsqu'un bouton est pressé, cela peut être utile pour réaliser des incréments de valeurs par exemple, ou bien encore des signaux sonores lorsqu'on presse des boutons.

    Récapitulatif des fonctions et variables de cette classe:

    Code:
    myButton.read()
    myButton.continuous
    myButton.momentary
    Bien entendu vous pouvez utiliser cette classe pour d'autres applications (lire autre chose que des boutons ou interrupteurs).



  3. #3
    sylvainmahe

    Post Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Allumer une DEL avec GpioWrite.h

    C'est la classe la plus simple à utiliser de MODULE℠ et la première à avoir été créée. Elle permet de mettre à l'état 0 ou 1 (0V ou 5V) une ou plusieurs broches de l'automate.

    Code:
    #include "../module/GpioWrite.h"
    
    int main()
    {
    	GpioWrite myLed = GpioWrite (1);
    	
    	myLed.on();
    	
    	return 0;
    }
    Dans cet exemple, un objet myLed de type GpioWrite est déclaré, en paramètre est indiqué d'utiliser la broche numéro 1 de l'automate, puis cet objet myLed appelle la fonction on() ce qui permet de mettre à l'état 1 la broche concernée. Ainsi une del connectée à cette broche s'allumerait.

    D'autres fonctions existent, off() pour passer la broche à l'état 0, et toggle() pour changer l'état de la broche quel que soit sont état initial (0 ou 1).

    Code:
    myLed.off()
    myLed.on()
    myLed.toggle()
    Attention, l'ATmega328P ne peut pas fournir beaucoup de puissance sur ses broches en sortie !
    Il est donc indispensable de piloter un transistor de puissance pour la partie puissance de votre montage. Néanmoins, si il s'agit de quelques 10ènes de milliampères comme dans le cas d'une del ou d'un buzzer, il n'y aurra aucun problème à l'alimenter de cette façon.




    L'automate à base d'ATmega328P

    L'automate (terme souvent utilisé dans ce blog), est une petite carte de conception personnelle que j'utilise dans tous mes projets:

    dsc02341.jpg

    Le plan de mise en production de cette carte est disponible ici:

    ###### lien supprimé: préférer les pièces jointes
    Cette carte est le coeur des mes montages électroniques (tout gravite autour d'elle), parce qu'elle contient dans le microcontrôleur (l'ATmega328P) le programme binaire écrit à l'origine en language C++ qui permet de gérer toute la logique combinatoire et mathématique du montage.

    Les caractéristiques de la carte:
    - Alimentation de 7V à 20V.
    - Port SPI pour la programmation.
    - 20 entrées/sorties en ligne (partie commande) et 20 positifs et négatifs (partie puissance).
    - Régulateur de tension LM7805 1A 5V.
    - Fréquence de fonctionnement: 16Mhz.
    - Dimensions: 66.04mm x 40.64mm.
    - Entres-axes de fixations: 58.42mm x 33.02mm.
    - Fixations par vis M3 (perçages diamètre 3.2mm).
    - Faible coût (environ 10$ de composants).
    - Plan conforme au datasheet de l'ATmega328P.


    Liste des composants:

    1x Microcontrôleur ATMEGA328P-PU
    1x Régulateur LM7805
    1x Résistance 10kΩ carbone 0.25W
    1x Résistance 220Ω carbone 0.25W
    2x Condensateurs 22pF céramique
    3x Condensateurs 100nF tantale
    1x Condensateur 100nF électrolytique radial
    1x Condensateur 220nF électrolytique radial
    1x Inductance 10μH self axiale
    1x Quartz 16Mhz
    1x Del 3mm
    1x Support PDIP 28 300mil
    68x Broches mâles 0.1"
    Quelques photos du prototype:

    dsc01673.jpg




    L'afficheur à digits MAX7219

    L'afficheur à diodes électroluminescences est le compagnon idéal de l'automate parce qu'il permet de créer une interface visuelle entre l'utilisateur et la machine:

    dsc01928.jpgdsc02464.jpg

    Le plan de mise en production de cette carte est disponible ici:

    ###### lien supprimé: préférer les pièces jointes
    Cet afficheur est très utile pour réaliser des projets demandant un retour d'informations visuelles de la par de l'automate. Il est équipé du très populaire MAX7219, un composant qui communique en SPI avec l'ATmega328P.

    Connections (afficheur sur automate):

    - Broche positive sur broche positive disponible
    - Broche négative sur broche négative disponible
    - Broche SS (slave select) sur PB2 (11) ou toute autre broche d'entrée/sortie disponible (sauf PB4 qui est MISO)
    - Broche MO (mosi) sur PB3 (12)
    - Broche SC (sclk) sur PB5 (14)
    Les caractéristiques de la carte:
    - Alimentation 5V.
    - Port SPI pour la communication.
    - Branchements en cascade.
    - 8 digits pour l'affichage des caractères.
    - Dimensions: 76.2mm x 20.32mm.
    - Entres-axes de fixations: 68.58mm.
    - Fixations par vis M3 (perçages diamètre 3.2mm).
    - Plan conforme au datasheet du MAX7219.


    Liste des composants:

    1x Contrôleur d'affichage MAX7219CNG
    1x Résistance 10kΩ carbone 0.25W
    1x Condensateur 100nF céramique
    1x Condensateur 10μF électrolytique radial
    2x Afficheurs à Digits (2 blocs de 4), 0.36" 7 segments, cathode commune
    1x Support PDIP 24 300mil
    10x Broches mâles 0.1"
    Ci-dessous, 2 exemples d'utilisation de l'affichage à digits:
    - Monté sur un niveau à bulle digital pour connaître l'angle.
    - Scindé en 2 sur une carte de jeu Pong afin de visualiser les scores.


    dsc01871.jpg
    Dernière modification par Jack ; 07/09/2016 à 17h10.

  4. #4
    sylvainmahe

    Post Re : MODULE℠, l'électronique facile pour l'ATmega328P

    dsc02501.jpg




    L'afficheur à matrice MAX7219

    À l'instar de l'afficheur à digits, l'afficheur à matrice 8 x 8 permet un visuel graphique (pixels) et offre l'avantage de pouvoir dessiner des formes ou des symbols:

    dsc02450.jpgdsc02478.jpg

    Le plan de mise en production de cette carte est disponible ici:

    ###### lien supprimé: préférer les pièces jointes
    Cet afficheur est équipé du MAX7219, un composant qui gère le multiplexage des dels, il communique en SPI avec l'ATmega328P.

    La vitesse de communication SPI et le nombre de ports sur l'ATmega328P sont suffisants pour pouvoir réaliser un montage avec 8 x 8 afficheurs, soit 64 matrices de 64 dels chacune (4096 dels au total). Seul l'alimentation 1A de la part de l'automate ne suffira pas (prévoir plusieurs ampères).

    Connections (afficheur sur automate):

    - Broche positive sur broche positive disponible
    - Broche négative sur broche négative disponible
    - Broche SS (slave select) sur PB2 (11) ou toute autre broche d'entrée/sortie disponible (sauf PB4 qui est MISO)
    - Broche MO (mosi) sur PB3 (12)
    - Broche SC (sclk) sur PB5 (14)
    dsc02466.jpg

    Les caractéristiques de la carte:
    - Alimentation 5V.
    - Port SPI pour la communication.
    - Branchements en cascade.
    - 8 x 8 pixels pour l'affichage.
    - Dimensions: 48.26mm x 35.56mm.
    - Entres-axes de fixations: 40.64mm x 27.94mm.
    - Fixations par vis M3 (perçages diamètre 3.2mm).
    - Plan conforme au datasheet du MAX7219.


    Liste des composants:

    1x Contrôleur d'affichage MAX7219CNG
    1x Résistance 10kΩ carbone 0.25W
    1x Condensateur 100nF céramique
    1x Condensateur 10μF électrolytique radial
    1x Afficheur à Matrice 8 x 8, pixels de 3mm, cathode commune
    1x Support PDIP 24 300mil
    10x Broches mâles 0.1"
    Ci-dessous, un effet facile à réaliser avec MODULE℠:

    ###### lien supprimé: préférer les pièces jointes
    Code source de la vidéo ci-dessus:

    Code:
    #include "../module/Max7219.h"
    #include "../module/Random.h"
    #include "../module/Timer.h"
    
    int main()
    {
    	unsigned char line = 1;
    	Max7219 matrix = Max7219 (11, 1);
    	
    	Random::seed (15);
    	
    	while (true)
    	{
    		for (line = 1; line <= 8; line++)
    		{
    			matrix.draw (Random::integer (0, 255), line);
    		}
    		
    		Timer::pause (100);
    	}
    	
    	return 0;
    }



    N'hésitez pas si vous avec des questions ou suggestions à apporter, j'y répondrais volontiers
    Dernière modification par Jack ; 07/09/2016 à 17h11.

  5. A voir en vidéo sur Futura
  6. #5
    DAUDET78

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    je vous rappelle que notre ami sylvainmahe est celui qui ne sait pas qu'il faut deux fils pour fermer un circuit, le signal et le 0V .....
    http://forums.futura-sciences.com/el...encheur.html#2
    Alors, je préfère ne pas regarder le hardware de son automate de peur de faire un infarctus .
    J'aime pas le Grec

  7. #6
    carcan

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Citation Envoyé par DAUDET78 Voir le message
    je vous rappelle que notre ami sylvainmahe est celui qui ne sait pas qu'il faut deux fils pour fermer un circuit, le signal et le 0V .....
    http://forums.futura-sciences.com/el...encheur.html#2
    Alors, je préfère ne pas regarder le hardware de son automate de peur de faire un infarctus .
    Au moins, lui, il a des initiatives constructives sur ce forum ; et je l'en remercie fortement !!!

  8. #7
    DAUDET78

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Citation Envoyé par carcan Voir le message
    Au moins, lui, il a des initiatives constructives sur ce forum
    Au sens d'un promoteur immobilier ? Effectivement, c'est certainement dans un but lucratif .
    J'aime pas le Grec

  9. #8
    Antoane
    Responsable technique

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Bonjour,

    Je pense qu'on peut se passer des jugements rapides, sans justification...

    Y aurait-il moyen que tu nous envoies les fichier de fabrication de tes platines sous format image ? Sa éviterait de devoir démarrer le logiciel de FAO
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  10. #9
    f6bes

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Citation Envoyé par Antoane Voir le message
    Bonjour,

    Je pense qu'on peut se passer des jugements rapides, sans justification...

    Y aurait-il moyen que tu nous envoies les fichier de fabrication de tes platines sous format image ? Sa éviterait de devoir démarrer le logiciel de FAO
    Bsr Antoane,
    Ne vaudrait il pas mieux que cela soit dans une rubrique "réalisation projet" en forum...informatique ?

    Bonne soirée

  11. #10
    Antoane
    Responsable technique

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Bonjour,

    @F6bes : non, la programmation des µC est traitée sur le forum d'électronique.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  12. #11
    sylvainmahe

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Bonjour Antoane, j'ai fait un export en format SVG (pièce jointe), je ne sais pas si cela convient?
    Fichiers attachés Fichiers attachés

  13. #12
    Hubert86

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Au lieu de critiquer comme souvent le Daudet78, tu devrais faire un tour sur son blog, c'est quand même du bon travail d'amateur éclairé, ne t'en déplaise.
    Mais une question sylvainmahe, pourquoi réinventer le fil a couper le beurre? pour le fun? ou ton module comble t'il des lacunes? il est vrai que tes programmes sont du vrai C, mais bon...

  14. #13
    DAUDET78

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Citation Envoyé par Hubert86 Voir le message
    Au lieu de critiquer comme souvent le Daudet78, tu devrais faire un tour sur son blog, c'est quand même du bon travail d'amateur éclairé, ne t'en déplaise.
    Je ne sais pas si c'est à moi que ça s'adresse vu la formulation ... mais j'y avais été.
    Sauf qu'il n'y a rien à voir . Pas un seul schéma visible par le Français Moyen pas doué que je suis. Donc difficile de porter un jugement . Mais le peu que je connaisse de l'auteur par ses questions sur le forum me fait craindre le pire.

    PS : Que ce soit du Fortran , du Cobol ou du C++ , je m'en moque. Moi, je m'intéresse uniquement à la vraie électronique, le HardWare,
    J'aime pas le Grec

  15. #14
    polo974

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Bonjour,
    par curiosité, je viens d'ouvrir le zip.
    première chose: la licence: GPL V3. il faut le dire sur le "blog" (et ici, tant qu'à faire).

    seconde chose: le dossier des pcb: les fichiers sont les sorties d'un kikad+Pcbnew (logiciels libres), c'est sympa, mais il manque le fichier source sauf erreur (c'est pas si grave, le projet n'est pas immense non plus...).

    je n'ai pas lu les sources, donc n'y porte aucun jugement.

    je dirais juste que la façon de présenter ici le dossier est un peu brutale (en gros, c'est un copié/collé du blog).
    il manque un message d'introduction.
    (idem, le "blog" (qui n'en est pas un) est un peu brut de décoffrage, il faudrait y mettre un peu de forme.)
    Jusqu'ici tout va bien...

  16. #15
    sylvainmahe

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Bonjour Hubert86, je fait ceci par passion, pour partager (des schémas de carte et des exemples de programmes), et pour rendre l'électronique plus facile pour mes amis proches qui ont pleins de projets en ce sens (mais qui sont plus des constructeurs que des programmeurs, et qui n'ont pas le temps de s'y pencher), et également pour ceux que cela intéresse sur internet.

    Pour ma part, dans la technique j'aime bien comprendre le fond des choses sinon j'ai un ressenti un peu frustré, de peut être être passé à coté d'une information importante ou d'un apprentissage important qui aurait pu me servir par la suite dans d'autres projets.

    Pour les lacunes dont tu évoques: Je fait aussi cela dans une démarche de me faciliter la programmation (c'est déjà pas mal), et le démarrage d'un nouveau projet, en effet grâce à module, il requiert un nombre très faible de lignes de C++ dans le main pour pouvoir réaliser des choses plus ou moins complexes, sans pour autant avoir de limitations puisque la majorité ou presque des fonctions d'un composant (par exemple un gyro, ou autre) sont disponibles dans la classe concernée (et rien n’empêche au programmeur d'en rajouter si besoin).

    Également parce que je trouve cela aberrant que certaines opérations chez des bibliothèques tierces prennent autant de temps, et l'ajout de bibliothèques diverses en pagaille pour pouvoir réaliser un projet, ainsi que le "bricolage" effectué par les programmeurs aujourd'hui pour corriger/masquer les lacunes/bugs de certaines bibliothèques.


    Après ce n'est qu'une question de point de vue, j'ai décidé cette démarche, mais libre à chacun d'y opposer des arguments contraires.

  17. #16
    sylvainmahe

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Bonjour polo974, ok je vais mettre les fichiers sources en lien, mais je vais aussi devoir mettre ma bibliothèque de composants en vue schéma et pcb de kikad car je n'utilise pas les bibliothèques des logiciels (que je supprime d'office), j'ai créé mes propres vues des composants.

    Pour le blog ok, mais c'est ma façon de présenter, je pense de toute façon que cet article ou mon blog s'adressent à des amateurs un minimum avertis. Une fois, un chef d'entreprise m'a dit que mon cv ressemblait à mes lignes de programme, peut être que tu ressens le même effet ici? (pas assez de forme)
    A priori je ne vais plus y toucher maintenant (parce que déjà beaucoup de boulo pour le programmer et qu'il me plaît, je n'aime pas les fioritures), mise à part rajouter des articles.

  18. #17
    Hubert86

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Oui mais pbl la vraie électronique dont tu parle n'existe plus sauf pour les amateurs et encore, de façon très limité. Les vrai électroniciens sont les concepteurs de circuits intégrés. le Bout du bout, un seul circuit intégré qui fait tout.
    Pour obtenir un résultat, deux logiques, la câblé, ou la programmé.
    La câblé c'est Daudet, une logique figée nécessitant beaucoup de travail, voir refonte total du système pour obtenir des modifs, grosse consommatrice d’énergie, et j'en oublie.
    La programmé beaucoup plus souple on modifie le programme avec des modifs mineurs du hard, moins cher aussi, en un mot plus efficace.
    Fortran, Cobol , même le C, sont des dinosaures plus beaucoup de monde utilise les 2 premiers, plutôt C++, C#, python etc...
    En fait je simplifie, car on trouve plusieurs logiques programmées. Mais Bon....

  19. #18
    DAUDET78

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Citation Envoyé par Hubert86 Voir le message
    La câblé c'est Daudet, une logique figée nécessitant beaucoup de travail, voir refonte total du système pour obtenir des modifs, grosse consommatrice d’énergie, et j'en oublie.
    Sauf que relier un capteur à un système programmé, c'est de l'électronique et pas seulement du soft ! Et quand on y connait rien, on oublie qu'il faut relier les 0V du capteur et du µC
    Sauf que relier un capteur analogique à un système programmé, c'est de l'ampliOP et des problèmes de parasite sur le 0V si on fait n'importe quoi !

    Alors, quand je vois un titre
    l'électronique facile pour l'ATmega328P
    , j'ai de gros doute sur la capacité de notre ami sylvainmahe à faire de la pédagogie sur l'électronique HardWare

    Mais comme on n'a pas accès aux schémas .....
    Dernière modification par DAUDET78 ; 24/08/2016 à 12h42.
    J'aime pas le Grec

  20. #19
    Ashura33

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Bonjour sylvainmahe,

    Je n'ai pas regardé dans le détail, mais ça a l'air d'un beau projet pour quelqu'un qui a débuté l'électronique il y a deux ans. J'aime l'idée d'avoir des fonctions optimisés pour le 328p au lieu des bibliothèques à rallonge et incompréhensibles d'Arduino. A mon avis ce serait pas mal d'inclure dans les sources des cartes un PDF des PCB, pour ceux qui veulent réaliser eux-même la carte directement.

  21. #20
    sylvainmahe

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Bonjour Ashura33, mes schémas sont dans un format standard, le Gerber. Les usines de production fonctionnent avec ce format car il est universel, tu peux les ouvrir avec un logiciel lisant ce format.
    Je vais regarder cela pour les enregistrer en PDF pour toi.

    En attendant en pièce jointe les fichiers kikad que l'on m'a demandé.
    Fichiers attachés Fichiers attachés

  22. #21
    polo974

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Citation Envoyé par Hubert86 Voir le message
    ...
    La câblé c'est Daudet, une logique figée nécessitant beaucoup de travail, voir refonte total du système pour obtenir des modifs, grosse consommatrice d’énergie, et j'en oublie.
    ...
    Sauf que même pour le câblé, il y a des logiciels de conception, compilation, optimisation.
    Et du coup, ça peut aller aussi vite à développer et consommer 10 à 100 fois moins (ordres de grandeurs minimaux).

    Sauf que pour "programmer" une interface entre un ADC et une sonde de pH par exemple, c'est pas possible, il faut aussi des circuits analogiques.

    Sauf encore que pour "programmer" une chaîne de transmission radio, c'est encore moins possible, c'est de radio, et ce n'est pas seulement avec des if et des goto qu'on y arrive.

    Sauf que même pour alimenter un circuit logique, il faut aussi de l'électronique, et quand on monte en puissance, on se cogne à encore d'autre soucis...

    Donc d'un coté, il y aurait les câblés et de l'autre les bâclés ? ? ? ça fait un peu trop caricatural, non?
    (et puis j'ai la fâcheuse tendance à grenouiller un peu partout (et je suis loin d'être le seul)...)
    Jusqu'ici tout va bien...

  23. #22
    Hubert86

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    bah c'est vrai est c'est faux, même la radio est de moins en moins analogique, un capteur n'est pas une logique câblée, dans une logique câblée y a pas de programme, sinon ce n'est pas une logique câblée, mais programmée. Hum beaucoup de confusion et de mélange la.
    La logique câblée ou programmée traite, gère des entrées est des sorties, auquel on adjoint dans certain cas des capteurs et des actionneurs, c'est une grande partie de l’électronique.
    De plus tu m'as fort mal lu,'Donc d'un coté, il y aurait les câblés et de l'autre les bâclés ? ? ? '
    Le programmé est un progrès par rapport au câblé, c'est indéniable, est indiscutable, seul les dinosaures disent le contraire. Bah ils ont le droit, même ont ils raison? les faits me donnent raison.
    En fait y a plusieurs électroniques, avec les mêmes lois de la physique.

  24. #23
    DAUDET78

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Citation Envoyé par Hubert86 Voir le message
    un capteur n'est pas une logique câblée, dans une logique câblée y a pas de programme, sinon ce n'est pas une logique câblée, mais programmée. Hum beaucoup de confusion et de mélange la.
    Tu fais de la sodomisation de diptères sans intérêt !
    Si j'ai un capteur qui me sort du 4-20mA, je ne vais pas me soucier si il y a un 8008 ou un PAL à l'intérieur ?
    Et pourtant c'est de l'analogique en sortie. Et si tu ne connais pas la loi d'ohm et ne sais que pisser de la ligne, bon courage et bonjour les dégâts.
    Le programmé est un progrès par rapport au câblé, c'est indéniable, est indiscutable, seul les dinosaures disent le contraire. Bah ils ont le droit, même ont ils raison? les faits me donnent raison.
    le programmé permet surtout de faire des choses qui étaient impensables en câblè. Mais dire que le circuit programmé (je parle du µC et du µP, pas des FPGA et Cie), c'est de l'électronique est un abus de langage.
    J'aime pas le Grec

  25. #24
    jiherve

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Bonsoir
    Un FPGA c'est de la logique câblée (les fonctions et le routage préexistent) mais c'est tout de même programmé en ce sens que le concepteur effectue un choix parmi toutes les possibilité disponibles; Mais cela n'a strictement rien à voir avec la programmation d'un µC car il faut tout de même avoir plus que des notions d’électronique pour y exceller car malheureusement aux interfaces la physique est de retour et en interne le temps règne en maitre.
    JR
    l'électronique c'est pas du vaudou!

  26. #25
    Hubert86

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Bah pour moi et pas que, le conception de puces processeur et autre c'est de l’électronique, et je vais plus loin, comme je l'ai déjà dit ce sont les concepteurs de ces puces qui sont les électroniciens actuels. Même si l’électronique passé fut nécessaire.
    Pour en revenir à sylvainmahe, bien évidemment que c'est de l’électronique facile, l'important même si cette électronique est nécessaire, c'est la programmation, le hard étant le support.
    Quand a Daudet, ben concentre toi sur ton électronique encore en activité mais nettement plus modeste. Quand je lis fortran, cobol, 8008.
    Sure que la je me dis, il sort d’où le gars, il était en hibernation.Oh réveille toi. mdr

  27. #26
    DAUDET78

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Citation Envoyé par Hubert86 Voir le message
    Quand a Daudet, ben concentre toi sur ton électronique encore en activité mais nettement plus modeste. Quand je lis fortran, cobol, 8008.
    Sure que la je me dis, il sort d’où le gars, il était en hibernation.Oh réveille toi. mdr
    Tu ne me connais pas assez... pour apprécier mon humour au deuxième degré.

    Ce soir, je vais dormir moins con .... je sais maintenant que quand je programme mon GPS , je fais de l'électronique.
    J'aime pas le Grec

  28. #27
    sylvainmahe

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Ashura33 je n'ai pas de sortie possible en PDF, je peux en:
    Gerber
    Postscript
    SVG
    DXF
    HPGL
    Specctra DSN
    GenCAD
    VRML

    Tu veux quel format?

  29. #28
    jiherve

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Bonsoir
    Un peu HS :
    @Huber86: ce n'est pas tout à fait vrai,car la conception des circuits intégrés numériques dédiés se fait par les mêmes outils que pour les FPGA la seule différence c'est que le routage est totalement ouvert et qu'il n'existe plus "d'emballage" de configuration, la preuve en est qu'il est possible de claquer un ASIC à partir du code d'un FPGA, seules les librairies de base changent, plus personne ou presque ne développe au niveau transistor sauf en analogique et pour les mémoires.
    Quant au débat Hard/soft comme je l'ai déjà souvent écrit j'ai connu de nombreux hardeux faisant du soft par contre l'inverse est rarissime, 2 ou 3 en +40 ans de carrière .
    @Sylvainmahe avec quel outil fais tu tes schémas?
    JR
    l'électronique c'est pas du vaudou!

  30. #29
    sylvainmahe

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Bonjour jiherve, avec Kikad sur linux ubuntu.

  31. #30
    jiherve

    Re : MODULE℠, l'électronique facile pour l'ATmega328P

    Re,
    Alors il est bien dommage que les .sch ne soient pas hébergeables ici,il faut faire une image mais la lisibilité va en souffrir.
    JR
    l'électronique c'est pas du vaudou!

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. filtre passe bas (facile pour un pro de l'électronique)
    Par danest dans le forum Électronique
    Réponses: 3
    Dernier message: 17/04/2014, 07h42
  2. Temperatures extremes pour module electronique en fonctionnement
    Par invite39f30799 dans le forum Électronique
    Réponses: 11
    Dernier message: 23/07/2012, 21h18
  3. Electronique facile
    Par invite469d9069 dans le forum Électronique
    Réponses: 12
    Dernier message: 23/06/2010, 12h12
Découvrez nos comparatifs produits sur l'informatique et les technologies.