J'ai une petite question parce que je suis vraiment novice en terme d'électronique, de signaux électrique etc... et j'espère que vous pourrez m'aider :).
Je dispose d'une machine dans laquelle je peux insérer des jetons. J'aimerais ajouter un capteur de type micro switch derrière la fente d'insertion des jetons (donc le capteur serai muni d'une languette qui activerais le capteur à chaque passage d'un jeton). J'aimerais relier ce capteur à une carte Arduino pour communiquer avec mon PC pour que ce dernier affiche en direct le nombre de jeton qui ont été insérés.
Est ce possible ? Et savez vous où je pourrais trouver un programme qui ferait cette interaction entre le PC et la carte Arduino ? (en sachant que je travail sur Linux).
Merci d'avance =) j'attend avec impatience vos réponses
Bonjour, ton projet a l'air d'être réalisable mais ça m'étonnerai fort que tu trouve un programme tout fait, il va falloir te plonger dans le codage désolé pour toi ^^"
par contre c'est sans doute moi mais je n'ai jamais entendu parlez de :
un capteur de type micro switch derrière la fente d'insertion des jetons (donc le capteur serai muni d'une languette qui activerais le capteur à chaque passage d'un jeton).
Quand je parle de "microswitch" je parle de ce genre de chose :
On voit qu'il y a une languette, donc je suppose que lorsqu'un jeton passera dessus, le capteur enverra un signal électrique. Non ?
Ensuite mon plan serait que la carte arduino détecte ce signal et que du coup le PC incrémente simplement un compteur ^^ pour l'affichage graphique ce n'est pas important finalement ^^.
okok je vois mieux de coi tu parle, si ta "languette" envoie un signal au passage d'un jeton, oui tu peut la récupéré sur une entré analogique ou numérique (en fonction du signale de ta "languette") et compter le nombre jeton qui passe, ça devrais pas être compliquer, même si personne n'a ce genre de programme le codage est simple même avec peut de compétence tu peut le faire.
après pour cette histoire de languette je te laisse te débrouiller pour savoir ce qu'il en ressort après on te guidera sur le codage tant fait pas.
Pour la détection du passage d'un jeton tu as aussi la solution optique : le jeton passe entre une fourche optique et oculte la lumière.
Exemple de fourche optique : Interrupteur optique LTH301-07 - Interrupteurs optiques | GO TRONIC.
Cette solution est plus simple mécaniquement mais plus complexe du point de vue électronique, encore que tu verra dans les liens qui suivent que ce n'est pas si terrible.
Pour le codage de la solution mécanique inspire toi des exemples comme celui-ci
Les sujets épinglés en tête de forum sont à consulter absolument : tu y trouveras:
-des réponses à tes questions
-des idées auxquelles tu n'aurais pas pensé.
bonjour
tes jetons sont de "tailles" uniques ou differentes ?
ils sont en quelle matiere ?
@68tjs : la fourche optique est théoriquement une bonne solution, mais elle est très peu utilisée dans les application professionnelle de comptage "monnaie" intensif , pour cause essentiellement d'encrassement.
pour la monnaie metallique les capteurs à reluctance variable sont souvent utilisés d'ailleurs positionnés differements sur le chemin pour discriminer les valeurs.
Merci pour vos réponses les jetons seront tous de la même taille et en plastique
Je vais regarder vos liens et peut-être que j'arriverais à faire la suite tout seul
Merci encore
J'ai regardé vos lien et je pense avoir compris pas mal de chose. Encore merci
Je me pose cependant encore une petite question. Avec le langage Arduino, est-il possible d'appelé un autre programme ? Parce que j'ai un peu regardé la doc mais je ne trouve pas de fonctions qui pourraient exécuter un autre programme à un évènement donné.
Par exemple, si j'ai un compteur qui atteint 100 : je lance le démineur.
Une idée ? Merci
tu ne pourras pas faire ça à partir du arduino mais tu peut envoyer un message à ton ordinateur en serie ou ethernet avec sur ton ordinateur un programme en C#, bash ou autre qui lui pourra lancer l'application.
skizoh:
tu ne pourras pas faire ça à partir du arduino mais tu peut envoyer un message à ton ordinateur en serie ou ethernet avec sur ton ordinateur un programme en C#, bash ou autre qui lui pourra lancer l'application.
Skizo !
Merci =). Si je comprend bien ce n'est pas le arduino qui le fera mais il peut envoyer un message a mon ordi pour qu'il le fasse. Concrètement, comment envoyer ce message (avec quelle fonction par exemple) et sous quel forme ?
Edit : parce que j'ai codé un programme en C qui lance un autre programme, mais j'aimerais que ce programme soit lancé qu'au bout de 25 jetons
Côté PC faut écouter le port série (comme le fait le serial monitor) et définir un format de commande, envoyée depuis l'Arduino par un Serial.println()
Dans un premier temps tu peux juste ouvrir le port série relié à l'arduino (en C, Processing ou autre) et écouter jusqu'à réception de 'run' par exemple, puis lancer l'application souhaitée.
Après y'a moyen de définir un protocole de communication plus évolué selon ce que tu souhaites faire.
patg_:
Côté PC faut écouter le port série (comme le fait le serial monitor) et définir un format de commande, envoyée depuis l'Arduino par un Serial.println()
Dans un premier temps tu peux juste ouvrir le port série relié à l'arduino (en C, Processing ou autre) et écouter jusqu'à réception de 'run' par exemple, puis lancer l'application souhaitée.
Après y'a moyen de définir un protocole de communication plus évolué selon ce que tu souhaites faire.
Ah ok il faut que je crée un programme sur PC qui écoute sur le port qui lie la carte Arduino et le PC. Et quand j'atteint 25 sur la carte arduino, j'envoi les trois caractères "run" par exemple. C'est ça ?
Oui c'est ça.
Mais tu peux aussi choisir d'envoyer une message au PC à chaque jeton et de mettre la logique de décision côté PC par exemple. Bref tu peux faire ce que tu veux selon tes besoin.