Digi-Comp 1

Présentez-nous vos créations...
Avatar de l’utilisateur
Nico71
Level 14
Level 14
 
Messages: 9618
Âge: 35 ans
expertgbbexpertsoft3dexperttrialtruckmoceurtechnicexpertvainqueurconcours3

Messagepar Nico71 » Mar Juil 24, 2012 7:23 pm

/!\ Attention : contenu théorique informatique rébarbatif ! /!\

Me voila avec un nouveau projet, terminé ! Un digicomp 1. Est qu'est que c'est dont ? Et ben c'est ça :

Image Image

http://en.wikipedia.org/wiki/Digi-Comp_I

En gros, c'est le premier ordinateur mécanique, commercialisé en 1963 au prix de 5$ en plastique. C'est un jouet pour découvrir l'informatique. Le digicomp est constitué de plusieurs composants qui ont la même fonction que sur un vrai ordinateur, notamment :
  • l'horloge. Qui permet de cadencer l'ordinateur, à chaque SET ou RESET une action est effectuée
  • les bits de donnée, au nombre de trois pouvant stocker une information binaire 0 ou 1
  • le programme qui indique ce que l'ordinateur doit faire en fonction de l'état des bits de données
  • des actionneurs divers, ici pour changer et lire l'état des bits de données

Image

En lego ça ressemble à ça :

Image

Le digicomp peut alors lire des programmes et faire les actions correspondantes qui seront visibles sur les bits de donnée (à 1 ou 0). Il peut par exemple compter de 0 à 7, soustraire, multiplier diviser dans la limite de ses capacités (lol 8 quoi). Mais peut aussi permettre de simuler des fonctionnements de systèmes avec 2 entrées et une sortie par exemple ou des jeux comme celui du Nim. Le champs d'application est vaste mais néanmoins limité par la capacité de l'engin (c'est un jouet !). La vidéo suivante présente le digi-comp comptant jusqu'a 7 :



Concrètement, nous avons 3 variables binaires, soit 6 états différents. A chaque état est associé deux portes logiques pour choisir selon le programme si telle ou telle variable doit passer à 1 ou 0 selon si elle était avant à 1 ou 0. Donc on code le programme au moyen de 18 tests logiques à deux positions soit un programme à 36 valeurs binaires.

Ok, et concrètement comment ça marche ? Vous allez être déçu, je ne vais pas expliquer le fonctionnement interne en détail dans ce post mais dans le prochain quand j'aurais fais des rendus 3D en transparent pour mieux voir. Je vous présente néanmoins comment sont retranscris les composants de l'ordinateur en lego.

Image

Image

  • L'horloge : elle fonctionne au moyen des deux grandes plaques de liftarms rouge qui coulissent l'une par rapport à l'autre. L'intérieur de ces plaques et fait de tel façon à emprisonner les actionneurs à tige et à les mouvoir selon le programme
  • Les variables ou données binaires : ce sont les 3 plaques de liftarms grises au milieu de la structure, selon si elles sont tirées ou poussées, elle affiche leurs états correspondants sur l'afficheur de droite : 0 ou 1.
  • Les actionneurs : au dos de la machine, ce sont les tiges articulées avec des liftarms 1*4 jaune, emprisonnées dans les deux plaques de l'horloge et reliées aux lecteurs de programme par la fourche qui les enserre
  • Le programme : il est codé au moyen des joiners rouge que l'on voit à l'avant plan sur les bits de donnée (les 3 plaques grises). Selon si l'on place le joiner à gauche ou à droite de l'axle pin avec le bush, alors cela veut dire que la variable correspondante (la plaque grise) passera à 1 ou 0 lorsqu'il y aura un tic d'horloge.
  • Les lecteurs de programme : ce sont les tiges articulées avec des liftarms 1*4 gris et maintenu avec des élastiques. En fonctionnement, ils ont tendance à plonger vers l'arrière grâce aux élastiques, mais seulement si il n'y a pas de joiner rouge sur sa route ! Si il y en a un, alors le lecteur ne fait rien. On voit ici que selon comment est codé le programme (selon où est placé le joiner), le lecteur de programme va se déplacer ou non.
Enfin, comme je l'ai dit, le lecteur de programme et relié via la fourche à l'actionneur. Ainsi, si une entrée est sur 0 et que le programme indique qu'elle doit passer à 1 si elle est à 0, alors rien n’empêche le lecteur de programme correspondant de bouger, et en bougeant il force l'actionneur à se déplacer, commutant ainsi la variable de 0 à 1 via le mouvement imposé de l'horloge.

Oui c'est pas simple. :ouch:

J'ai commencé ce projet au retour de fanabriques 2011 (oui il y a 1 an) et ai compris le fonctionnement véritablement en 2012. Sachez que l'unique publication disponible sur le digicomp est celle là en anglais : http://www.eetasia.com/ART_8800354914_4 ... 9f370a.HTM et lorsqu'on arrive au point fatidique d'expliquer le fonctionnement, l'auteur dit :

The next part of the "circuit," I won't even try to draw; it's both complicated and ingenious. This is the real guts of the system. You can get an idea of the way the parts look from the Yahoo group.


Ok, le yahoo group, je n'y ai pas accès alors j'ai contacté un membre pour avoir des explications et je dois dire que je n'ai qu'une réponse évasive m'incitant à acheter un digicomp. Par contre, j'ai fini par découvrir des plans scannés de la réédition en carton du digicomp par un vendeur : http://www.mindsontoys.com/kits.htm?dc1_main.htm J'ai donc tenté de fabriquer le digicomp en carton et me suis rendu compte du fonctionnement. En fait, tout est connecté ensemble et forme une boucle. Je voyais les choses comme une structure de base avec plusieurs actionneurs indépendants mais en fait, tout est relié ce qui rend la compréhension difficile puisque l'action du système peut être la cause de 3 facteurs différents.

Par exemple, le changement d'état d'une variable dépend de :
  • sa valeur à l'instant t
  • le programme
  • l'horloge
Et on a deux pièces intermédiaires dans la boucle, qui ne sert qu'à actionner et lire le changement d'état.

L'attrait de cette ordinateur mécanique est qu'il ne fait pas que additionner ou soustraire comme les machine à calculer qui n'ont pas de programme mais plutôt des modes différents. Ici le digicomp peut vraiment se programmer. Je parlerais de comment on fait un programme quand j'aurais illustré le fonctionnement en détails :)

Si vous avez des questions ou des remarques, n’hésitez pas :)

/!\ Attention : contenu théorique informatique rébarbatif ! /!\


EDIT : La suite ici : post111589.html#p111589

phi
Level 6
Level 6
 
Messages: 245
Localisation: Lyon

Messagepar phi » Mar Juil 24, 2012 7:58 pm

J'admire la réalisation et suis impatient de voir le fonctionnement.

Je suis très admiratif de la conception en 3D de l'engin, par rapport à un truc "plus plat"


Sinon, mode gros chieur on

Nico71 a écrit:Concrètement, nous avons 3 variables binaires, soit 6 états différents.


8 états?
Veuillez regarder ailleurs

comptesuppr082012
Level 4
Level 4
 
Messages: 94

Messagepar comptesuppr082012 » Mar Juil 24, 2012 7:59 pm

Vraiment impressionnant! :homere:

Avatar de l’utilisateur
Nico71
Level 14
Level 14
 
Messages: 9618
Âge: 35 ans
expertgbbexpertsoft3dexperttrialtruckmoceurtechnicexpertvainqueurconcours3

Messagepar Nico71 » Mar Juil 24, 2012 8:09 pm

phi a écrit:8 états?


Non bien 6, chaque bit peut prendre la valeur 0 ou 1, il y a 3 bit donc 6 états.

8 états pourrait se référer la transcription en décimal des 3 bits (le maximum) mais je parle bien du binaire uniquement. La représentation en base dix n'est là que pour montrer qu'on peut compter. Mais si on regarde le fonctionnement du digicomp, il est programmé pour afficher successivement :
0 0 0 = 0
1 0 0 = 1
0 1 0 = 2
1 1 0 = 3
0 0 1 = 4
1 0 1 = 5
0 1 1 = 6
1 1 1 = 7
Rien de plus, la colonne 0 1 2 3 4 5 6 7 n'est qu'une représentation pour compter mais la machine affiche juste la succession de triplet.
Après on peut le programmer bien différemment.

Avatar de l’utilisateur
tango zoulou
Level 7
Level 7
 
Messages: 572
Localisation: Lons (64)
Âge: 28 ans
moceurtechnicjunior

Messagepar tango zoulou » Mar Juil 24, 2012 8:10 pm

:ooo:
C'est énorme !
Mais malgré tes bonnes photos, ça fait vraiment pavé de texte.

Vue que ça à l'air intéressant, je vais lire le tout petit à petit pour comprendre le fonctionnement de la machine.

J'attends avec impatience les images avec transparence.

En tout cas, bravo :clap: .
La plus grosse difficulté dans la création, ce n'est pas de faire quelque chose qui n'existe pas, mais de faire quelque chose qui peut exister.

Mes créations lego

phi
Level 6
Level 6
 
Messages: 245
Localisation: Lyon

Messagepar phi » Mar Juil 24, 2012 8:29 pm

Mode borné on

Hum, je ne comprends pas, si chaque bit peut prendre indifféremment la valeur 0 ou 1, on a bien 2^3 possibilités, non?

Je ne vois pas comment on arrive à 6(à part 2*3)

Mode borné off

Ou alors j'attends les explications
Veuillez regarder ailleurs

Avatar de l’utilisateur
Nico71
Level 14
Level 14
 
Messages: 9618
Âge: 35 ans
expertgbbexpertsoft3dexperttrialtruckmoceurtechnicexpertvainqueurconcours3

Messagepar Nico71 » Mar Juil 24, 2012 8:37 pm

Oui, il y a bien 8 possibilités différentes de codage à la sortie.

Dans les faits, (la mécanique si tu préfères), il n'y a que 6 états au niveau des plaques grises, soit à gauche, soit à droite, ceci pour trois plaques. Ça fait 6 états pour le système de plaque mais 8 combinaisons. On est d'accord ? :)

phi
Level 6
Level 6
 
Messages: 245
Localisation: Lyon

Messagepar phi » Mar Juil 24, 2012 9:19 pm

Ah... Je comprends ce que tu veux dire par 6 états.

Je devenais fou.



Bon, donc j'attends avec un patience la suite :D
Veuillez regarder ailleurs

Avatar de l’utilisateur
Alban42800
Level 11
Level 11
 
Messages: 2473
Localisation: Loire (42)
Âge: 51 ans
expertgbbexpertnxtvainqueurconcours

Messagepar Alban42800 » Mer Juil 25, 2012 12:16 pm

Mécaniquement c'est intéressant.
Au niveau logique (programmation) il y a un simulateur ici : http://www.scoopsfolks.com/digicomp1/ avec l'aide on fini par comprendre comment on le programme.

Avatar de l’utilisateur
beni
Level 9
Level 9
 
Messages: 1499
Localisation: Limoges
Âge: 40 ans

Messagepar beni » Mer Juil 25, 2012 2:33 pm

Wouhaou, la c'est encore du lourd par mister Nico. ::D:

Ayant fait des études ou j'ai vu tous ce qui est binaires et compagnie, je rejoint l'avis de Phi sur ta phrases ou tu parles de 6 états au lieux de 8. :bizarre:

Je pense que ce qui connaissent et maitrise le binaire ont suivi les explications de cette réalisation, mais que tu as (vas) "embrouiller" ceux qui ne connaissent pas le binaire. ;)
"Le meilleur moyen de résister à la tentation, c'est d'y céder." Oscar Wilde.

-----Mon brickset ----- Ma chaine YouTube -----Mon FaceBook ----- Ma collection, avec dans le 1er post, des liens vers mes MOCs, MODs et notices.

Avatar de l’utilisateur
Alban42800
Level 11
Level 11
 
Messages: 2473
Localisation: Loire (42)
Âge: 51 ans
expertgbbexpertnxtvainqueurconcours

Messagepar Alban42800 » Mer Juil 25, 2012 3:07 pm

En fait la machine ne sait gérer que 6 états mais ce sont des états sur 1, 2 ou 3 bits. Cela semble suffisant pour traiter tous les programmes possibles pour 3 bits de mémoire.

Avatar de l’utilisateur
gmt
Level 6
Level 6
 
Messages: 326
Âge: 47 ans

Messagepar gmt » Mer Juil 25, 2012 5:28 pm

Vraiment impressionnant, cela me rappelle un de mes TP de physique :dent: Cela va être encore un moc difficile à comprendre et visuellement "bizarre" mais passionnant à comprendre. Décidément quand tu as une idée en tête tu ne lâches rien, je me languis de voir la suite.

Avatar de l’utilisateur
Anio
Administrateur
Administrateur
 
Messages: 19493
Âge: 37 ans
revieweurmoceurstarwarsexpertambassadeur

Messagepar Anio » Mer Juil 25, 2012 5:37 pm

gmt a écrit:Décidément quand tu as une idée en tête tu ne lâches rien

C'est la clé, pour avoir un MOC bien abouti.
Think outside the box.

Tout plein de liens utiles dans mon profil ! :P

Avatar de l’utilisateur
Nico71
Level 14
Level 14
 
Messages: 9618
Âge: 35 ans
expertgbbexpertsoft3dexperttrialtruckmoceurtechnicexpertvainqueurconcours3

Messagepar Nico71 » Mer Juil 25, 2012 6:37 pm

Ah j'avoue que c'est pas simple à comprendre et à expliquer. Moi même je comprends pas tout, je fais pas des études d'informatiques !

Avatar de l’utilisateur
beni
Level 9
Level 9
 
Messages: 1499
Localisation: Limoges
Âge: 40 ans

Messagepar beni » Jeu Juil 26, 2012 12:07 pm

Nico71 a écrit:Ah j'avoue que c'est pas simple à comprendre et à expliquer. Moi même je comprends pas tout, je fais pas des études d'informatiques !


Ah, je comprend mieux, ;) .
En fait on parle jamais de cette versions "6 états", comme le disait Phi, le nombre de possibilité est de 2 (états des bit : 0 ou 1)^X (X etant le nombre de bits).
On trouve donc 2^1=2, 2^2=4, 2^3=8....16....32....64....128...256...512...1024...etc

Voila pour ce qui ne savent pas d'où viennent les valeurs de cartes mémoires d'apn par exemple (250Mo, 500Mo etc)

En tout cas je renouvelle mon compliment sur ton MOC, bravo.

Tu penses essayer d'augmenter les capacités u systèmes ? (passer à 4, 5, etc bits)
"Le meilleur moyen de résister à la tentation, c'est d'y céder." Oscar Wilde.

-----Mon brickset ----- Ma chaine YouTube -----Mon FaceBook ----- Ma collection, avec dans le 1er post, des liens vers mes MOCs, MODs et notices.


Retourner vers Vos MOCs Technic

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Google [Bot] et 9 invités