Etape 4: Réception de messages de la CVMO sur Mac
Avant de commencer à travailler sur la fonctionnalité de récepteur, assurez-vous que vous chargez l’exemple Firmata Standard à votre carte Arduino. Une fois votre Arduino s’amorce et prêt à partir, copiez le dossier appelé oscReceiverExample dans le dossier of_v0.8.1_osx_release/examples/addons dans le dossier myApps dans of_v0.8.1_osx_release/apps. Ouvrez le fichier de projet Xcode appelé « oscReceiverExample.xcodeproj » dans le dossier copié. Une fois ouvert, parcourir le navigateur de projet sur la gauche et cliquez sur le fichier appelé « ofApp.cpp ». Une fois là, ouvrez un autre exemple de fichier projet au sein de of_v0.8.1_osx_release/examples/communication/firmataExample appelé firmataExample.xcodeproj. Nous seront prenant du code de ce fichier et placez-le dans le fichier ofApp.cpp dans l’oscReceiverExample.
Le premier bit du code, nous aurons besoin sont ces trois lignes :
ARD.Connect ("/dev/tty.usbmodem1421", 57600) ;
ofAddListener (ard. EInitialized, ce, & ofApp::setupArduino) ;
bSetupArduino = false ;
Remplacer "/ dev/tty.usbmodem1421" avec votre Port Arduino, ajoutez-lui soit 57600, comme ci-dessus, ou 9600 selon votre configuration d’Arduino.
Ensuite, copiez les fonctions setupArduino, updateArduino, digitalPinChanged et analogPinChanged dans le fichier ofApp.cpp dans le projet d’oscReceiverExample au-dessus de la fonction de mise à jour.
Créer 2 entiers. Un pour la vitesse du ventilateur et un pour le doigt d’entrée qui est reçu depuis l’iPhone.
Dans le dossier setupArduino, remplacer des fonctions ard.sendDigitalPinMode avec « ard.sendDigitalPinMode (9, ARD_PWM); »
Placez la ligne « updateArduino(); » au sein de la fonction de mise à jour. Également dans la mise à jour, trouver la fonction conditionnelle que les États "if(m.getAddress() ==" / souris/poste) "et placer" d’entrée = m.getArgAsInt32(0); » qu’il contient. Cela nous permet d’enregistrer le doigt Y position dans la variable d’entrée.
Enfin, écrire ces trois lignes dans la boucle de dessin à utiliser notre fonction d’accélération sur mesure pour spécifier la plage et re-mapper la plage d’entrées envoyée depuis votre position de doigt iPhone :
fanSpeed = (int) d’accélération (fanSpeed, PAGAO (entrée, 500, 255, 0, 60), 0,08) ;
Si (fanSpeed > = 255) fanSpeed = 255 ;
Si (fanSpeed < = 0) fanSpeed = 0 ;
Et c’est tout ! Les images ci-dessus fournissent un regard plus approfondi sur le code.