Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » Les circuits
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Les circuits

Posté le 22/10/2018 13:47

Slt, je cherche à créer un petit programme qui simule le fonctionnement de circuits électriques qu'il serait possible de créer au préalable. Ma question est donc, comment ou plutôt comment fonctionne l'algo qui permet de faire progresser un signal dans les câbles et surtout comment gérer les ramifications du circuit: diviser le signal et faire qu'il poursuive sa route dans deux câbles différents ou plus si possible. Si vous avez une piste pour m'aider
Merci et a+ sur PC


1, 2, 3 Suivante
Hackcell Hors ligne Maître du Puzzle Points: 1532 Défis: 11 Message

Citer : Posté le 22/10/2018 14:37 | #


Il semblerait qu'il y ait plusieurs techniques et méthodes, tu peux commencer à te renseigner ici
Leno Hors ligne Membre Points: 282 Défis: 0 Message

Citer : Posté le 22/10/2018 20:50 | #


Hey,
Je trouve ce sujet très interessant et j'aimerai savoir si tu as trouvé une solution Disperseur.
Hackcell Hors ligne Maître du Puzzle Points: 1532 Défis: 11 Message

Citer : Posté le 23/10/2018 10:12 | #


En 7 heures de temps, j'ai des doutes
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 23/10/2018 10:18 | #


Ben faut savoir que la nuit je dors, mais il y pas de mal à demander
Pour répondre, non, je n'ait pas encore trouvé de solution mais si c'est le cas c'est sur ce topic que je le ferait savoir en premier, pas d’inquiétudes à avoir là dessus
Sinon c'est cool que le topic ne serve pas qu'à moi

Ajouté le 23/10/2018 à 11:39 :
Il semble que aucune technique précise ne soit renseignée dans ces documents Hackcell.. Malgré tout, si je ne me trompe pas, faire parcourir un signal dans un câble avec des ramifications en ayant un signal au début et une ou plusieurs sorties revient à trouver la sortie d'un "labyrinthe" (le circuit) en quelque sorte, il ne me reste donc qu'à me renseigner sur les différents algos qui permettent de trouver la sortie de labyrinthe et à l'appliquer sur mon cas, sauf que là il y aura plusieurs sorties au lieu d'une...
Hackcell Hors ligne Maître du Puzzle Points: 1532 Défis: 11 Message

Citer : Posté le 23/10/2018 11:48 | #


Je sais, je les ai lus avant de te les linker
Pas vraiment, déjà pour commencer, un circuit électrique est une boucle (donc pas de sortie), ensuite tu n'as pas à trouver plus sortie, mais emprunter tout les chemins... Donc je ne vois pas comment un algorithme pour sortir d'un labyrinthe pourrait t'aider...
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 23/10/2018 11:49 | #


Ok juste une supposition, merci, je creuse encore
Shadow15510 Hors ligne Administrateur Points: 5504 Défis: 18 Message

Citer : Posté le 23/10/2018 13:01 | #


Tu pourrais voir du côté de la gestion de matrice : 0=rien, 1=câlbe sans courant, 2=câble avec courant qui passe, 3=lampe...
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 23/10/2018 13:57 | #


Ah mais oui, je vien d'avoir une idée . J'explique plis tards.
Lightmare Hors ligne Membre de CreativeCalc Points: 690 Défis: 0 Message

Citer : Posté le 23/10/2018 15:17 | #


j'ai bossé sur un programme qui simule la redstone de minecraft ! par contre il marche avec C.Basic, mais je pense que ca devrait aller. Si ca t'intéresse je te le mettrai en pièce jointe !
"Quand je dis à la cour : "Sautez ! ", tout le monde me demande "jusqu'où ?" "
Dijkstra - The Witcher
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 23/10/2018 16:07 | #


Oui, je veux bien. Mais rassure moi, il fonctionne ?

Ajouté le 23/10/2018 à 17:19 :
Perso, je pense comme ça:
L'écran texte est composé de 21 colonnes et 7 lignes. Tu crée une matrice de la taille de l'écran donc de 7*21 (ordre de saisie Y,X) et tu y place tes éléments électroniques sous forme de nombres. Par exemple, un câble non alimenté pourrait se noter "10" et un câble alimenté "11" ainsi qu'une lampe éteinte "20" et une lampe allumée "21" etc. De la sorte, on va lire la matrice (toute ses cases) et si une case "câble" valant "10", donc étant non alimentée se trouve à coté d'une case "câble" (ou interrupteur par exemple) valant "11", donc étant alimentée, on alimente la case sur laquelle on se trouve et ainsi de suite. Cette description est assez succincte donc n'hésitez pas à demander des précisions.
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 23/10/2018 19:55 | #


Je ne sais pas si tu veux modéliser des circuits électriques de collège ou de l'électronique, mais dans le second cas tu peux jeter un oeil à VHDL. C'est un langage qui le fait très bien.

En particulier tu as cette notion que sur chaque fil tu as un signal logique ("0", "1", "bruit", et quelques autres cas) et à chaque endroit où plusieurs fils se rejoignent tu « combines » les valeurs. Ton circuit est un graphe (orienté ou pas, à toi de voir les subtilités) et tu le simules en propageant par étapes des données dedans.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 23/10/2018 20:18 | #


J'ai essayé avec des boucles for de lire la matrice dans laquelle je "trace" mon circuit, ça fonctionne mais si je fait le circuit dans l'ordre inverse de la lecture de la martrice (lampe puis bouton) il ne fait rien.. c'est la limite du programme.. faut une autre solution..
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 23/10/2018 21:34 | #


N'allons pas trop vite. Le circuit ce n'est pas tellement un tableau en 2D, c'est plutôt une ligne avec des éléments dessus. Si tu représentais ça et tu parcourais la ligne comme le fait le courant ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 23/10/2018 21:59 | #


Ben c'est faisable, mais pour une ligne, dès que les ramifications arrivent je ne sait plus comment faire... ça se complique.
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 23/10/2018 22:04 | #


Est-ce que tu as quelques connaissances sur les graphes ?

Essentiellement quand ta ligne se sépare, tu peux décider d'envoyer du courant des deux côtés (pas réaliste) et rejoindre plus tard si les deux lignes se rejoignent. L'idée c'est que ton courant « explore » ton circuit.

Tu peux faire cette exploration « à blanc » et ensuite envoyer pour de vrai le courant dans la partie du circuit qui offre le moins de résistance. Ainsi tu pourras simuler sans problème les court-circuits.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 23/10/2018 22:07 | #


Il se fait tards. Jee renseignerait sur les graphes demain avec ron lien. Merci
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 23/10/2018 22:14 | #


Dors bien ! Les graphes sont un sujet très vaste qui a parfaitement sa place dans ton tutoriel d'initiation à l'algorithmique... si jamais ça t'intéresse.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 23/10/2018 22:20 | #


Yes bonne idée. Je médite ça Je me renseigne sur les graphes en premier

Ajouté le 24/10/2018 à 08:23 :
Voila, j'ai lu la page Wikipedia sur les graphes. Mais je ne vois pas trop comment appliquer ça a mon programme..

Ajouté le 24/10/2018 à 08:27 :
En fait je ne me suis jamais penché sur la recherche dans les graphes... "graph founding"...?
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 24/10/2018 16:15 | #


Imagine ton circuit... les piles sont des noeuds, les lampes sont des noeuds, et les intersections sont des noeuds. Les fils, c'est des arêtes. Tu vois comment ça va se passer ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

Citer : Posté le 24/10/2018 17:34 | #


Ben non pas trop, je vois comment je fais parcourir un signal dans un câble: en regardant autour de la position ou je suis et si il trouve un câble ou autre élément il va dessus... mais je vois pas comment, quand j'arrive à un noeud, diviser le signal...
1, 2, 3 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 126 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd