Avant de m'aventurer j'aimerai savoir si je peux basculer mon code C sur un future PIC ? :
Mon projet est le suivant :
Par le biais d'un switch (ici ce sera un bouton),je veux basculer 5 entrées vers les 2 sorties OUT ( OUT(1) et OUT(2) ).
Donc par exemple si j'appuie sur le bouton,chaque entrées dans IN iront dans la sortie OUT (1).
Si je rappuie sur le bouton chaque entrées IN iront cette fois-ci sur la sortie OUT (2).
Merci d'avance de votre aide de savoir déjà si c'est possible et par quel biais je peux arriver à mon projet,et ensuite si vous avez déjà des idées du programme je suis preneur
C'est qui tes signaux? Du digital 0-3.3V?, de l'analogique ?, du 230V alternatif?
Il y a un un signal de 3,3v, les 4 autres sont des données,je veux juste que le point 1 sois relié au point 1 OUT..point 2.. point 2 out... etc.. jusqu'au point 5 relié au 5 out,et ça que ça sois pour l'OUT(1) ou l'OUT(2),mais chacun son tour que l'on contrôle avec un bouton,jamais en même temps
Pourquoi tu veux utiliser un micro? Pourquoi tu veux convertir du code C arduino en PIC.
Pour pouvoir le programmer,et en utiliser plusieurs,je me vois mal acheté un arduino a chaque fois que je veux faire ça ^^
Si c'est du digital 3.3V ou de l'analogique bas niveaux il suffit de deux circuits CD4066 et d'une bascule D pour faire ça.
Je viens de voir les 2 circuits,c'est pas mal comme idée,j'aurai préféré l'avoir en un seul PIC (ou circuit).
Vachement précis comme réponse.
Les données ce sont des signaux 10 000 V et de 40 GigaHerz de fréquence d'horloge ?
Pourquoi tu veux utiliser un micro? Pourquoi tu veux convertir du code C arduino en PIC.
Pour pouvoir le programmer,et en utiliser plusieurs,je me vois mal acheté un arduino a chaque fois que je veux faire ça ^^
Je pense que le sens de la question est : pourquoi utiliser un micro, micro étant utilisé en terme générique (pic, ATMega, etc, etc...)..
Ensuite Arduino cela n'a jamais été un microcontrôleur mais plusieurs modèles de cartes équipées de microcontrôleurs différents.
Comparer un arduino à un pic c'est comparer une carpe avec un lapin.
La seule chose que tu peux comparer c'est un pic de référence ? ? ? ? ? ? ? avec un microcontrôleur de référence par exemple AtMega 328p (c'est celui qui équipe les cartes UNO, Nano, Mini-pro).
Rien ne t'empêche d'utiliser des boîtiers microcontrôleur Atmel au lieu des pics.
Si c'est pour une question d'argent on trouve actuellement des cartes Nano complètes (UNO en petit format) autour de 2 €.
Question :
Le code c'est le tien ou c'est un code que tu as trouvé et que tu voudrais convertir pour des pics parce que tu connais les pics, tu ne connais ni les Avr d'Atmel ni les fonctions Arduino et que tu ne souhaites
connaître ni les uns ni les autres.
Mes propos ne sont absolument pas agressifs c'est juste pour que ce soit clair.
En fait il y a des domaines ou je maitrise..et la clairement je ne maitrise pas du tout !!
Du coup quand tu me demandes les signaux etc..ben je nage complétement,moi j'ai comme matériel un VICI VC97,qui me permet de connaître la tension..ampérage..ohms... continuité..mais ça s'arrête la
Pour en revenir à l'arduino,j'ai vu que c'était le codage "simple",et j'ai commencé simple,sois allumer des leds etc...
Aujourd'hui je n'ai aucun "code" je veux l'inventer justement.
Je cherche à traduire ce que j'ai fait en schéma (et vous ai donné en explication) dans une puce.
Je suis habitué à avoir des 12F629 ..16F630.. ou plus gros.. mais je n'ai jamais "codé",j'ai simplement flashé.
Ne connaissant rien,mais déjà fait il y a longtemps du codage en C (en BTS ça remonte..),je me suis dit que j'allais programmer et balancer ce programme dans un PIC.
A partir de la je peux me tromper carrément,comme dis tout au début,je pars de zéro,mais ça ça ne m'a jamais fait peur ^^
Mon topic aujourd'hui est déjà d'avoir une vue d'ensemble,de voir les possibilités qui s'offre à moi entre ce que je veux faire,et ce qu'il est possible de faire,et la oui j'ai besoin de votre aide
T’inquiètes pas pour tes propos si ton but est de m'éclairer je veux bien t'écouter,mais voilà sache que je ne suis pas calé,donc si mes réponses ne te paraissent pas "juste" dis toi que derrière il y a un mec qui début complétement
Ps : Et bien sur oui je cherche un coût de revient minime tant qu'à faire.
moi qui programme sur pic ou atmega, la programmation embarqué reste la meme chose quel que soit le micro...
les fonction peuvent etre quasiment la meme chose..
La ou tu va avoir 60 lignes sur un pic, tu vas avoir 20 ligne sur un atmega car il y a tout l'aspect technique, la configuration interne du micro a configurer( les registres, les entree/sortie ect...)
Alors qu'avec un arduino, tout est "deja" fait, ca reste simple est accessible car c'est fait pour les debutants
Les pics sont des produits fabriqués par Microchip.
Les AtMega sont des produits fabriqués par Atmel.
Dernièrement Microchip a acheté Atmel mais les deux gammes de produits continuent d'exister.
Les cartes basiques arduino (UNO, Nano, mini-Pro, Mega, Leonardo, Micro) utilisent des microcontrôleur Atmel de la famille "avr" et de la sous famille "atmega".
Les micros Microchip et Atmel ne se programment pas de la même façon, même si les différences se trouvent dans le détail.
Mais quand on débute les détails sont importants, après on a tendance a ne plus les voir.
Si tu pars de zéro il me semble que la programmation des cartes Arduino ou clones d'arduino, sera très abordable.
Il existe un excellent tuto : celui d'Eskimon. Tu peux d'ores et déjà le consulter pour voir ce à quoi il faut que tu t'attende.
Le lien pour le télécharger se trouve dans le message de bienvenue.
Les cartes vendues par la société Arduino le sont (a mon avis) à un tarif prohibitif .
Les cartes Arduino sont des copies (avec changement de référence de micro) de cartes déjà openhardware (projet Wiring) elles sont donc à leur tour openhardware.
Les clones (copies) sont donc légaux, ce qui n'est pas légal c'est de faire croire que c'est une carte fabriqué par Arduino alors qu'elle ne l'est pas.
Les cartes dites "officielles" étaient toutes fabriquées en Italie, d'où une réputation de qualité.
Mais c'était avant, actuellement on ne sait plus où elles sont fabriquées ni même s'il en existe encore fabriquées en Italie. Très probablement la majorité proviennent de Chine, mais sur ce sujet c'est silence radio de la part d'Arduino.
Il y a plusieurs sources d'approvisionnement de clones :
revendeurs en France
sociétés de vente par corespondance en France (amazon, price-minister (prix intéressants) , etc....
revendeurs à l'étranger dont directement en Chine par Ebay.
A titre d'exemple une carte Nano (c'est une carte UNO en petit format) est vendue :
20 € par Arduino, auxquels il faut ajouter les frais de port (souvent autour de 5 à 8€).
autour de 2 € rendue dans la boite à lettre par Ebay en Chine. Compter 1 mois de délai (on ne peut pas avoir le beurre et l'argent du beurre).
Ho génial comme réponse ça,merci au moins la je comprends mieux
J'ai appris l'existence des clones lorsque j'ai voulu commander,j'ai vite vu la différence des prix en chine,et lors de l'installation des drivers,avec le fameux "CH340" > CH341SER
Mais tout s'est bien passé pour 3€,et une petite breadbord avec des fils pareil 2€.
Donc résultat j'ai de quoi programmer pour environ 5€,ce qui est vraiment pas mal
Aujourd'hui j'essaye donc d'avoir "le projet" cité en premier message dans un circuit,peut importe microchip ou atmega,le but étant que j'y arrive et toujours a moindre coût.
Ce que je sais c'est qu'il me faudra un composant avec 14 (in-out) + 2 (3,3V-0V) sois 16 Pins.
En détail chaque Pins :
3,3V
0V
IN (1)
IN (2)
IN (3)
IN (4)
OUT-1 (3,3V)
OUT-1 (1)
OUT-1 (2)
OUT-1 (3)
OUT-1 (4)
OUT-2 (3,3V)
OUT-2 (1)
OUT-2 (2)
OUT-2 (3)
OUT-2 (4)
Dans mon détail je ne mets pas le IN (3,3V),car je me dis qu'on peut surement récupérer celui qui va alimenter la puce (atmega ou microchip)
Est-ce que déjà vous voyez mieux que ça.. et ce qu'il est envisageable de faire?
Désolé mais erreur de présentation. Même si c'est comme cela qu'Arduino le présente la réalité est un peu différente.
Le microcontrôleur de la carte UNO possède 20 entrées/sorties digitales.
Parmis ces 20 E/S digitales 6 sont particulières car elles ont une seconde fonction qui est entrée analogique.
Entrée uniquement.
Des fonctions proposées par Arduino permettent pour ces E/S particulières de passer très simplement du mode numérique au mode analogique.
Je crains que si tu ne donnes pas davantage de détail il va être difficile de te conseiller.
J'ai du mal a comprendre, par exemple 3,3V cela veut dire quoi :
détecter du 3,3V
transmettre un signal continu d'amplitude 3,3V
Dans le premier cas la carte UNO étant alimentée en 5V, ses entrée seront à l'état haut dès que la tension dépassera 2,6V/ 2,7V
Dans l'autre cas cela voudrait dire qui faut générer un signal de 3,3V ou transmettre ce signal à l'aide d'un multiplexeur analogique.
Tu vois les solutions sont multiples donc il va te falloir être plus précis.
si je puis me permettre, ça c'était déjà clair. ce qui l'est moins, c'est la nature des signaux qui doivent être transmis, et qui ne l'est toujours pas.
vous donnez des tensions par broche, mais c'est quoi ces tensions ? un maximum ? une tension fixe ? avec quel courant ? c'est très confus, pour le moment
Ce qui serait plus simple ce serait de nous donner la finalité de l'opération, à quoi ça doit servir ce montage ? (juste "faire basculer des signaux" n'est PAS la bonne réponse à la question... il faut savoir pourquoi basculer ces signaux) ça nous permettrait sans doute de proposer quelquechose de fonctionnel
la notion de "basculer des signaux" vous semble sans doute évidente, mais techniquement, elle est loin de l’être et la solution à y apporter dépend profondément de la nature de ces signaux. Et même en ayant tous les détails possible sur les dits signaux, selon la finalité de l'opération la solution sera sans doute différente
La console a un bouton reset,pourquoi ne pas en profiter,il existe pleins de mods dans ce genre,ou on bascule par exemple du 50hz au 60hz avec le bouton reset.
La dans mon cas je ne veux pas "envoyer" une tension,mais envoyer 5 entrées sur un premier composant (OUT 1 > PIF NUS) ou un autre composant (OUT 2 > PIF (P) NUS).
J'aurai du commencer par la,mais je pensais pas que j'arriverai à avoir autant de questions en retour ^^ pour moi c'est simplement passer de switch physique,a un système contrôlé via une puce
En tout cas j'apprécie votre aide à tous,merci encore
alors comme je disais, il y a plusieurs réponses possibles la plus simple serait sans doute d'utiliser ce type d'interrupteur :
encore faudrait-il en trouver un à 5 pôles, je ne sais pas si ça existe.
sinon un comme ça et un de plus pour l'alim, ça n'en fait plus que 2 c'est déja pas mal.
autrement, les signaux entres les puces, là, c'est tout du numérique en 3.3V ou il y a aussi de l'analogique ? Et si c'est du numérique, quelle est la fréquence maxi de commutation ?
Justement je ne veux aucun switch,car oui ta solution est "la bonne" avec un switch physique,.. mais je ne veux aucun trou..ce qu'on appelle le mode "Switchless"
Voici un exemple du code de "Seb",il permet avec son code de choisir avec le bouton reset la région de la console (PAL US ou JAP) et le (50hz 60hz),et lui utilise un 16f630.
Je veux prendre exemple de ceci afin de faire la même chose,sauf que cette fois-ci je ne veux pas basculer une tension,mais rediriger.
Ce que je n'arrive pas à comprendre,et c'est pour ça a mon avis que je vous donne pas les bonnes réponses,c'est pourquoi on s'intéresse aux signaux,a savoir si analogique ou numérique.
Car dans mon cas je veux juste switcher ..en fait juste lui dire d'amener par exemple la Patte 3 (IN-2) vers la patte 8 (OUT-2) quand j'appuie sur le bouton reset..
dragoncity:
Ce que je n'arrive pas à comprendre,et c'est pour ça a mon avis que je vous donne pas les bonnes réponses,c'est pourquoi on s'intéresse aux signaux,a savoir si analogique ou numérique.
Car dans mon cas je veux juste switcher ..en fait juste lui dire d'amener par exemple la Patte 3 (IN-2) vers la patte 8 (OUT-2) quand j'appuie sur le bouton reset..
on s'interesse aux signaux car ils doivent pouvoir circuler d'une puce à l'autre. si tu place un arduino entre les deux, il n'est pas possible physiquement qu'il se comporte comme un interrupteur. un interrupteur, c'est un contact physique, donc quel que soit le sens de passage du courant qui le traverse, peu importe, il se comporte comme un fil. Un arduino, il va devoir lire l'état de la broche coté entrée, et le reproduire sur la proche coté sortie. A condition de savoir dans quelle direction le signal doit passer, et si c'est bi-directionnel, ça va être extrèmement compliqu à faire, voire impossible.
Selon la fréquence à laquelle les signaux varient, il faut également que l'arduino soit assez rapide pour reproduire fidèlement la chose coté sortie, sans décaler les signaux les uns par rapport aux autres, etc etc
Et si ce sont des signaux analogiques, alors ça devient encore plus compliqué...
il faut te diriger vers des composants de type "multiplexeurs" pour effectuer la redirection des signaux, car ils sont conçus précisément pour cette application et leurs circuits internes peuvent se comparer à un switch physique. Et en les commandant éventuellement par un arduino qui capture l'action sur le bouton reset.
Selon ce que tu veux faire et qu'en ce qui me concerne je n'ai toujours pas compris (si j'étais le seul ce ne sera pas grave mais ce n'est visiblement pas le cas) il n'est obligatoire d'utiliser un microcontrôleur.
Un commutateur à galette (voir ce nom et consulter la documentation) et un multiplexeur analogique comme je l'ai déjà proposé pourrait suffire. Mais as tu essayé de chercher de la doc sur ces multiplexeurs analogiques qui peuvent fonctionner avec des signaux aussi bien analogiques que numériques ?
Je pense que tout le monde a bien compris que tu as des difficultés à bien définir la nature des signaux mais tant que cela ne sera pas fait l'aide que l'on pourra apporter sera bien faible.
Si tu donnais les références des émetteurs de signaux et des récepteur il y aurait une possibilité de trouver de la doc.
Tant que tu gardera ces renseignements secrets il sera impossible de continuer.
La carte uno est bien trop grosse pour être inséré n'importe ou..pour ça que j'aurai préféré une puce (microchip ou atmega) si possible..
Tu n'as vraiment pas l'air de te documenter quand on te propose quelque chose.
Je ne t'ai pas parlé de la UNO mais de la carte Nano qui est une UNO en petit format.
La Nano qui fait la même chose que la UNO mesure 45mm x 18 mm.
Quand à la puce tu oublies qu'une puce de microcontroleur nécessite des composants annexes dont au minimum un circuit imprimé.
Certes il n'est pas obligatoire de lui adjoindre un quartz si aucune précision sur la fréquence n'est demandée.
De plus coté prix je ne sais pas combien tu payes un boîtier pic mais un ATMega328p est vendu par 4999 pièces moins de 1 $ et certainement largement moins acheté par quantité de 100 000 ou 500 000 par les gros façonniers.
Le même micro acheté à l'unité reviendra 3 ou 4 fois plus cher rien que du fait de l’emballage individuel.
Je te conseille de regarder la question du prix de plus près.
Déjà merci pour toutes vos réponses,je vais essayer d'oublier personne et de répondre au mieux
hazerty565:
pourquoi ne pas utiliser un composant de ce style la...
pour remplacer tes intreupteurs..
Alors je ne connais pas ce composant,mais est-ce que je peux par le biais d'un bouton reset le contrôler..?
bricofoy:
on s'interesse aux signaux car ils doivent pouvoir circuler d'une puce à l'autre. si tu place un arduino entre les deux, il n'est pas possible physiquement qu'il se comporte comme un interrupteur. un interrupteur, c'est un contact physique, donc quel que soit le sens de passage du courant qui le traverse, peu importe, il se comporte comme un fil. Un arduino, il va devoir lire l'état de la broche coté entrée, et le reproduire sur la proche coté sortie. A condition de savoir dans quelle direction le signal doit passer, et si c'est bi-directionnel, ça va être extrèmement compliqu à faire, voire impossible.
Selon la fréquence à laquelle les signaux varient, il faut également que l'arduino soit assez rapide pour reproduire fidèlement la chose coté sortie, sans décaler les signaux les uns par rapport aux autres, etc etc
Et si ce sont des signaux analogiques, alors ça devient encore plus compliqué...
il faut te diriger vers des composants de type "multiplexeurs" pour effectuer la redirection des signaux, car ils sont conçus précisément pour cette application et leurs circuits internes peuvent se comparer à un switch physique. Et en les commandant éventuellement par un arduino qui capture l'action sur le bouton reset.
Le but ici est de ne pas utiliser un arduino,mais un chip (atmega ou microchip),de façon à l'insérer dans la console (qu'il puisse rentrer en gros),et d'avoir seulement un composant a 19 pattes (le mot seulement.. est peu juste ^^)
Tu as parlé de multiplexeur,j'ai vu un autre schéma,un peu mieux mais toujours avec un switch physique..
Si je tape "MC14551B" je vois bien marqué "multiplexeur" sur google,donc ça doit correspondre à ce que tu me dis.
pepe:
Voici un exemple le schéma de principe d'un montage à base d'inverseurs analogiques ADG733 qui permet d'assurer la commutation d'une alimentation VCC jusqu'à 50 mA et de quatre signaux S1 à S4 quelconques (analogiques ou logiques, entrées ou sorties) rattachés aux circuits à alimenter par VCC.
L'ADG733 doit pour sa part être alimenté par une tension supérieure à toutes les tensions transmises, et comprise entre 1,8V et 5,5V. Avec une alimentation de 5V, la résistance interne des inverseurs est typiquement de 2,5 Ω pour les signaux et 1,25 Ω pour VCC. La bande passante est de 160 MHz sur 50 Ω.
Le niveau logique sur A/B sélectionne la destination de VCC et des signaux.
C'est pas mal comme idée,mais ne peut-on pas simplement avoir un chip (atmega ou microchip) de 19 pattes,et lui dire tout simplement de basculer les IN dans OUT1 ou OUT2..avec le bouton reset...
Un peu comme le code de seb cité plus haut.
68tjs:
Selon ce que tu veux faire et qu'en ce qui me concerne je n'ai toujours pas compris (si j'étais le seul ce ne sera pas grave mais ce n'est visiblement pas le cas) il n'est obligatoire d'utiliser un microcontrôleur.
Un commutateur à galette (voir ce nom et consulter la documentation) et un multiplexeur analogique comme je l'ai déjà proposé pourrait suffire. Mais as tu essayé de chercher de la doc sur ces multiplexeurs analogiques qui peuvent fonctionner avec des signaux aussi bien analogiques que numériques ?
Je pense que tout le monde a bien compris que tu as des difficultés à bien définir la nature des signaux mais tant que cela ne sera pas fait l'aide que l'on pourra apporter sera bien faible.
Si tu donnais les références des émetteurs de signaux et des récepteur il y aurait une possibilité de trouver de la doc.
Tant que tu gardera ces renseignements secrets il sera impossible de continuer.
Tu n'as vraiment pas l'air de te documenter quand on te propose quelque chose.
Je ne t'ai pas parlé de la UNO mais de la carte Nano qui est une UNO en petit format.
La Nano qui fait la même chose que la UNO mesure 45mm x 18 mm.
Quand à la puce tu oublies qu'une puce de microcontroleur nécessite des composants annexes dont au minimum un circuit imprimé.
Certes il n'est pas obligatoire de lui adjoindre un quartz si aucune précision sur la fréquence n'est demandée.
De plus coté prix je ne sais pas combien tu payes un boîtier pic mais un ATMega328p est vendu par 4999 pièces moins de 1 $ et certainement largement moins acheté par quantité de 100 000 ou 500 000 par les gros façonniers.
Le même micro acheté à l'unité reviendra 3 ou 4 fois plus cher rien que du fait de l’emballage individuel.
Je te conseille de regarder la question du prix de plus près.
Effectivement tu n'as pas tort,je suis resté sur la carte UNO,c'est vrai que la dimension de la NANO est vraiment intéressante.
Je viens de regarder l'"ATMega328p",du coup 28 pins..vraiment intéressant...
Serait-il possible de partir directement sur ce composant afin de faire exactement le projet?
A TOUS
Je m'excuse déjà si mes réponses ne sont pas correcte,sachez que je suis à l'écoute de tout le monde,même si j'ai du mal a suivre tous les termes..j'essaye de me documenter à côté mais ça reste difficile de tout comprendre d'un coup
Si je dois tester j'ai seulement à ma disposition le VC97,si ça peut suffire c'est parfait,sinon je pense que je ne pourrai pas tester plus.. o_O