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

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

En lego ça ressemble à ça :
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.
- 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.
Oui c'est pas simple.

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
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
.gif)
Si vous avez des questions ou des remarques, n’hésitez pas
.gif)
/!\ Attention : contenu théorique informatique rébarbatif ! /!\
EDIT : La suite ici : post111589.html#p111589