Piloter une arduino via une calculatrice casio et inversement

Bonjour a tous, je possède une calculatrice casio graph90+E (la derniere qui est sorti cette année) et je me suis dit qu'avec la prise jack présente sur celle-ci, il était possible de communiquer avec une arduino.

Je me suis donc mit en tête de faire un petit programme pour pouvoir communiquer avec une arduino via cette calculatrice. Or, je ne sais pas comment faire pour pouvoir faire communiquer la calculatrice.
Je me suis dit qu'en utilisant un add-in sur celle-ci, je pourait envoyer des informations via le port jack.

Du côté arduino, je connais les bases de la programmation et meme un peu plus :slight_smile: mais je ne sais pas comment m'y prendre pour recevoir les communications. Je ne sais de quel protocole il sagit ni même si l'arduino poura le comprendre.

J'attend avec attention vos réponses et vos idée, même si elles sont minimes.


Calculatrice graph 90+E dans le menu principale

P.S. c'est mon premier sujet sur le forum arduino, je possède une arduino méga 2560 et une uno R3. Pour ce qui est des cables et des composants, pas de problèmes, j'ai ce qu'il faut. Si besoin, j'ai une graph 30+E à disposition pour tester l'add-in.
Ce projet n'est qu'une idée, si celui-ci n'est pas possible merci de me le préciser dans les commentaires.
Je le fait avant tout pour progresser dans le domaine de l'arduino et du developpement.

Bonjour,
Le chapitre 13 de la notice d'utilisation donne des informations sur les possibilités de connexion.

Il faut déjà commencer par là.
Il est à priori possible de communiquer via une liaison série 115200 bauds .

A voir...

éventuellement lisez mon petit tuto sur la gestion du port série / données asynchrones

sur votre méga vous pourriez déjà essayer le code de base suivant en connectant la casio (Tx, Rx) au Serial 3 + connexion du GND

#define casio Serial3 // sur MEGA pins 14 = Tx3 et 15 = Rx3

void setup() {
  Serial.begin(115200);
  casio.begin(115200);
}

void loop() {
  int r;
  // on lit ce que l'utilsiateur tape dans la console Arduino et on l'envoie
  while (Serial.available()) {
    r = Serial.read();
    if (r != -1) casio.write((char) r);
  }

  // on lit ce que dit la casio et on l'affiche sur la console arduino
  while (casio.available()) {
    r = casio.read();
    if (r != -1) Serial.write((char) r);
  }
}

voir si vous arrivez à envoyer des choses ou à en recevoir en programmant côté casio

Merci de votre aide, j'ai trouvée un sujet sur le forum casio ou ils proposent un addins pour communiquer par le port 3pin il fonctionne en 9600 bauds. Je vais sans doute l'utiliser car en programmer un est d'au autre niveau. Pour ce qui est du cable, j'ai trouvé un schéma expliquant quel broche du cable fait quoi :

UnNainGenieur:
Merci de votre aide, j'ai trouvée un sujet sur le forum casio ou ils proposent un addins pour communiquer par le port 3pin il fonctionne en 9600 bauds. Je vais sans doute l'utiliser car en programmer un est d'au autre niveau. Pour ce qui est du cable, j'ai trouvé un schéma expliquant quel broche du cable fait quoi :
http://www.planet-casio.com/files/commentaires/cable%203-pin-35008-0.png

dans ce cas changer casio.begin(115200);en casio.begin(9600);

Vous pouvez acheter un jack 3 plots femelle, ce sera plus facile pour souder des fils qui iront dans votre arduino

Ou alors une extension 3 plots que vous coupez comme ça pas besoin de vous ennuyer avec la soudure, vous coupez le cordons et vous avez 3 fils (la masse étant potentiellement un blindage autour, donc quand même peut être un peu de bidouillage (c'est que que vous voyez ci dessus pour la partie en cuivre, elle sort des 2 fils)

Sinon je coupe un cable fournit par casio et pour savoir quel fil fait quel fonction je test avec le multimètre.
après je soude et je fait une sortie trois fils pour connecter a la breadboard.

Moi je garderais le câble d'origine intacte, sait-on jamais.

La solution de J-M-L est bien plus élégante.