Faire un ordinateur avec un arduino ?

Il y a quelques mois, j’avais construit un processeur, basé sur des composants logiques de base (AND, OR, …).

J’ai trouvé ça super intéressant, ça m’a remis des choses en tête sur le fonctionnement d’un processeur, et j’ai appris beaucoup de nouvelles choses, comme, par exemple, les notions assez intime (pour un processeur) de micro instructions.

Je me suis demandé quelle suite donner à cette aventure. 

Ben lui a poursuivi, en construisant un ordinateur, à partir d’un processeur 6800.

Je suis parti sur autre chose :

Et si je construisais un ordinateur, à partir d’un Arduino ?

Déjà, c’est quoi un Arduino : 

Pour faire très simple, un Arduino, c’est un circuit électronique, contenant un contrôleur et des entrées sorties.

C’est un ordinateur donc ?

Non, car il n’y a pas de système d’exploitation, pas d’interface (clavier, souris)…

On envoie un programme dans le contrôleur depuis son ordinateur, puis le contrôleur exécute en boucle le programme qu’on a envoyé. 

Donc, mon idée est de partir d’un Arduino, d’ajouter un clavier et un écran, et d’en faire un ordinateur.

Comme clavier, j’ai pris deux matrices 4×4

Une matrice permettra d’entrer les valeurs à saisir, sous forme hexadécimal (de 0 à 15 donc, ou au format hexa : de 0 à F)

L’autre matrice permettra de piloter l’ordinateur : lancer le programme, passer en mode édition, pour modifier le programme, …

Un écran permettra d’afficher ce qu’on veut, j’ai pris cet écran, de 4 x 20 caractères : 

Comme Arduino, j’ai pris un Arduino Mega, pour avoir un peu plus d’espace mémoire. 

Voici le résultat (proto #1) en état de marche : 

L’ordinateur fonctionne, et permet de faire tout ce qu’on fait habituellement avec un ordinateur : 

  • Faire des calculs
  • Demander ou afficher des informations à l’écran

Le langage de programmation est un assembleur « maison ».

L’utilisation est assez simple : 

  • L’ordinateur est soit en mode édition, soit en mode exécution.
  • En mode édition, on peut afficher et éditer le programme.
  • En mode exécution, on peut exécuter le programme, normalement ou en mode pas-à pas.

J’ai trouvé cette expérience là encore très enrichissante. Cela faisait un moment que je me demandais quoi faire d’un Arduino, et là j’ai trouvé un terrain de jeu assez riche :).

Je vais vous proposer, dans les semaines à venir, de décomposer cette aventure. Je ferais ça sur mon temps libre, donc il faudra être patient 😉

Le programme que j’ai créé sera mis en open source, donc vous pourrez l’utiliser.

au fait, tout cela ne coute vraiment pas cher : le circuit Arduino m’a couté 15 €, les claviers 16 €, et l’écran 13 €, soit un total de 44 € !

A suivre donc !

3 commentaires

  1. Bonjour François,
    Je suis très très intéressé par ce projet, as tu progressé depuis?
    Merci 🙂
    Maxime (pas celui du 17 aout 2020)

    1. L’ordinateur fonctionne bien, je n’y touche plus vraiment 🙂
      Tu peux me contacter si tu veux qu’on échange sur ce sujet.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *