2010-11-04 30 views
1

J'ai l'intention de faire un petit projet arduino et je voudrais savoir si ce que je pense fonctionnerait avec un tableau Arduino ordinaire. Je pense à acheter un Arduino Uno pour mon projet, avec une LED IR et un capteur IR. Voici ce que je veux faire avec ceci:Projet Arduino utilisant un capteur infrarouge et une communication usb

Je veux pointer la LED vers le capteur, de sorte que le capteur détecte toujours la lumière. Ensuite, je vais commencer à "couper" cette lumière (disons, avec ma main) plusieurs fois. Je veux que le programme Arduino chronomètre les intervalles entre les moments où la lumière est "coupée" et envoie ces temps à mon ordinateur via USB, afin que je puisse traiter ces données.

J'ai vu beaucoup de gens parler de la communication série entre une carte Arduino et un ordinateur, mais je ne suis pas sûr de savoir comment cela fonctionne. Utilisera-t-il le même connecteur USB que celui que j'utilise pour télécharger des programmes sur le tableau, ou dois-je acheter autre chose?

EDIT: tl; dr: Je suppose que ma question, à la fin, est double: 1) Suis-je capable de "parler" à mon ordinateur en utilisant le connecteur USB intégré sur la carte, ou est-ce utilisé uniquement pour télécharger des programmes et je dois en acheter un autre? et 2) Ce projet est-il réalisable avec une carte Arduino Uno?

Merci pour l'aide!

Répondre

2

Oui, votre projet est très faisable.

  1. Vous utilisez le connecteur USB intégré pour programmer le périphérique et communiquer avec lui. Consultez quelques exemples sur le Serial Reference Page

  2. Pour lire le capteur, vous devez utiliser une entrée digital ou analog. Pour une entrée numérique, vous aurez probablement besoin de composants externes pour contrôler le seuil d'éclairage, mais il vous donnera un simple oui ou non si quelque chose se trouve devant. Avec une entrée analogique, vous pouvez utiliser un seuil dans le code pour déterminer quand votre main passe.

  3. La synchronisation peut être effectuée sur l'appareil avec la fonction Millis() ou sur l'ordinateur connecté.

+0

Juste une mise à jour sur ceci: J'ai commencé ce projet et ça fonctionne parfaitement! Je vérifie actuellement si l'état sur la broche a changé à chaque appel de boucle(), et agis en conséquence. Vous cherchez à passer aux interruptions suivantes, juste pour voir comment cela fonctionne. Merci beaucoup pour votre réponse! – malvim