Proximité de collègue Arduino Ping (4 / 6 étapes)

Étape 4: Code d’Arduino

C’est le code de l’Arduino pour un collègue proximité Scan par Sander van Haperen

Elle a été mise à jour dernière en août 2014. Il est basé sur un code pour le projet flux RSS Arduino, by beignet

int startstring = 0 ; reconnaissance du début de la nouvelle chaîne int charcount = 0 ; conserve la trace des caractères totales sur écran

const int ledPin = 6 ; le code pin que le LED est fixée à int incomingByte ; une variable de lire des données série entrantes dans

#include string readString, incPinInit, incPin1, incPin2, incPin3, incPin4, incPin5, incPin6 ;

Servo myservo ; Créez l’objet servo pour contrôler un servo / / peut être créé à un maximum de huit objets de servo

#include / / import de la lcd innovente bibliothèque innovente (12, 11, 5, 4, 3, 2) ;

void setup() {Serial.begin(9600); / / ouvre le port série, établit le taux de données à 9600 bps lcd.begin(16,2); / / Initialise la taille de l’écran LCD 16 x 2. Changer si vous utilisez un lcd.setCursor(0,0) LCD plus grand ; Définir la position du curseur à l’angle supérieur gauche

myservo.Attach(6) ; attache le servo sur la broche 9 à l’objet de servo pour (int thisPin = 2; thisPin < 13 ; thisPin ++) {//init pins 2 à 6 comme sortie pinMode (thisPin, sortie);}}

void loop() {char c = 0; / / pour les données série entrantes tout en (Serial.available()) {delay(5) ; //delay pour laisser tampon remplir

Si (Serial.available() > 0) {}

char c = Serial.read() ; Obtient un octet de mémoire tampon série readString += c ; rend la chaîne readString}

Serial.println(ReadString) ;

Si (readString.length() > 0) {}

digitalWrite (13, HIGH) ; goupille de LED 13 la valeur comme indicateur de la réception de données série / / s’attendre à une chaîne comme 07002100 contenant l’incPinInit États de pin = readString.substring (0, 1) ; obtenir le premier caractère pour vérifier les symboles de l’init

Serial.println(ReadString) ; Voir ce qui a été reçu si (incPinInit == "*") {//check pour marqueur / « tête » qui signifie ping affirme incPin1 = readString.substring (2, 3); //get le prochain incPin2 de caractère = readString.substring (4, 5); //get le prochain incPin3 de caractère = readString.substring (6, 7); //get le prochain incPin4 de caractère = readString.substring (8, 9); //get le prochain incPin5 de caractère = readString.substring (10, 11); //get le prochain incPin6 de caractère = readString.substring (12, 13); //get le caractère suivant

int n1 = incPin1.toInt() ; int n2 = incPin2.toInt() ; int n3 = incPin3.toInt() ; int n4 = incPin4.toInt() ; n5 int = incPin5.toInt() ; n6 int = incPin6.toInt() ; pour (int thisPin = 2; thisPin < 13 ; thisPin ++) {État par défaut //reset pour tous les pins faible digitalWrite (thisPin, LOW);}

Maintenant vérifiez tous les 6 États de broche et écrire haute si l’état de ping est positif si (n1 == 1) {digitalWrite (10, HIGH);} si (n2 == 1) {digitalWrite (9, HIGH);} si (n3 == 1) {digitalWrite (8, HIGH);} si (n4 == 1) {digitalWrite (7, HIGH);} si (n5 == 1) {digitalWrite (5, HIGH);} si (n6 == 1) {digitalWrite (1 secondaire);}

} Si (incPinInit == "~") {//check pour marqueur / « tête » qui signifie ping affirme startstring = 0; / / définir l’impression OFF delay(5000); / / attendre 5 secondes lcd.clear(); / / essuyer l’écran charcount = 0; / / réinitialiser le nombre de caractères à lcd.setCursor(0,0) 0; / / réinitialiser le curseur à 0,0 si (startstring == 1) {/ / vérifier si la chaîne a commencé si première ' ~' a été lue si (charcount < = 30) {/ / vérifier si charcount est dessous ou égal à 30 lcd.print(incomingByte); / / Print l’octet courant dans la série Serial.print(incomingByte) ; charcount = charCount ++ ; Incrémentez le charcount 1 Oui je sais c’est maladroit}} si (charcount == 31) {/ / si le charcount est égal à 31, aka, l’écran est plein delay(500) ; lcd.clear(); / / efface l’écran lcd.setCursor(0,0); / / définir le curseur lcd.print(incomingByte) 0,0; / / ou encore impression données charcount = 1; / / valeur charcount retour 1} si (incomingByte == ' ~') {/ / vérifier si l’octet est marqueur ~ pour commencer l’impression startstring = 1; / / lancer l’impression}} digitalWrite (13 FAIBLE) ; int pos = 90 ; variable pour stocker le servo position myservo.write(pos) ; dire de servo pour aller à positionner dans la variable « pos » delay(10) ;

}

} readString = "" ; }

Articles Liés

Comment dessiner une cabane pour votre collègue

Comment dessiner une cabane pour votre collègue

dans ce Instructable, vous apprendrez comment dessiner une cabane pour votre collègue. Tout ce dont vous avez besoin est un stylo et votre imagination. J'ai fait ce instructable à Techshop à Détroit !techshop.WSÉtape 1: Étape 1: dessiner cabine La pr
Faire un « collègue reconnaissance Fishbowl » utilisant une Cricut Expression

Faire un « collègue reconnaissance Fishbowl » utilisant une Cricut Expression

récemment, sur mon lieu de travail, les exigences sur la productivité étaient élevés, un engagement moral et employé étaient faibles, et nous n'avions pas un moyen de reconnaître le travail et les efforts déployés par nos collaborateurs. J'ai donc dé
Vu de petites pièces en toute sécurité avec un collègue de travail

Vu de petites pièces en toute sécurité avec un collègue de travail

j'ai eu besoin de certains 3 pouces carrés coupés de contreplaqué de 1/4 de pouce. J'ai eu accès à un Black & Decker Workmate et une scie circulaire à main, mais pas à une table de scie ou un bras radial a vu. Couper des petits morceaux comme ça peut
Capteur de proximité IR simple avec Arduino

Capteur de proximité IR simple avec Arduino

Bonjour les gars ! Dans ce instructable je vais vous apprendre comment faire un capteur de proximité très simple à l'aide d'infrarouge LED et Arduino.Après avoir plusieurs fois essayé de l'optimiser, je suis enfin venu avec quelque chose qui est asse
Mon Robot d’affichage Arduino Ping

Mon Robot d’affichage Arduino Ping

butsBonjour à tous.J'espère pouvoir partager s'il vous plaît un petit robot que je viens de finir bâtiment.Il y a nombreux bateau de Ping, peut-être avec un tutoriels et affichage moins sans prétention, permettra d'illustrer ce que je pouvais faire.J
Arduino Ping pong avec 8 * 8 matricielle & Max7219

Arduino Ping pong avec 8 * 8 matricielle & Max7219

Il y a beaucoup d'Arduino tutoriel de ping pong sur internet. Mais la plupart d'entre eux sont pour deux joueurs. Comme personne à jouer avec moi ce qui m'a l'ai trouver un tutoriel qui est pour un seul joueur. Heureusement, j'ai trouvé un, mais c'es
Faire une carte découpé au Laser « Get Well Soon » pour un collègue de travail

Faire une carte découpé au Laser « Get Well Soon » pour un collègue de travail

un de mes collègues de se retrouver à l'hôpital et devait avoir une appendicectomie.  Nous avons voulu lui envoyer un peu d'amour « Get well soon », et je suppose que nous pourrions venez d'acheter une carte dans le magasin, mais où est le plaisir à
Comment être un collègue génial, apprenti ou stagiaire

Comment être un collègue génial, apprenti ou stagiaire

Si vous débutez un nouvel emploi, s'est posé un apprentissage, ou que vous voulez être ce stagiaire qui se démarque, j'ai quelques suggestions simples qui vous fera super génial.Après avoir travaillé dans la construction et de fabrication pendant env
Arduino, capteurs et MIDI

Arduino, capteurs et MIDI

Maintenant que vous êtes au courant sur l'utilisation des intrants et des extrants de l'Arduino, ce Instructable vous donnera tout ce dont vous avez besoin pour commencer à utiliser des capteurs pour déclencher des notes MIDI d'Arduino. Ce poste est
Comment créer un Module de Bluetooth 4.0 Arduino Compatible

Comment créer un Module de Bluetooth 4.0 Arduino Compatible

Mise à jour : Permet de faire des Robots, ma maison hackerspace numérique, a été achetée par RobotShop. Je ne veux pas revenir, mais les nouveaux propriétaires interdit moi-même et la plupart des membres du vétérans. Qui a dit, la plupart des liens i
Serveur web de Arduino feu rouge

Serveur web de Arduino feu rouge

à la place je travaille, nous utilisons xymon pour surveiller nos serveurs. Tous les services surveillés sont importants, mais nous voulions un indicateur distinct pour simplement montrer la santé globale des systèmes plus critiques. En outre, nous s
Framboise serveur Web envoie des données GET à l’Arduino Nano conduite 6 servos

Framboise serveur Web envoie des données GET à l’Arduino Nano conduite 6 servos

http://www.youtube.com/watch?v=f7oSqLO9iJoIl s'agit d'un petit projet que j'ai fait pour une collègue qui est la construction d'un modèle échelle 1/48 RC d'une classe Fletcher Destroyer (Eh oui... qui rend le « modèle » environ 8 pieds de long!) Il a
Arduino Laser graveur bois Design !

Arduino Laser graveur bois Design !

Salut tout le monde, mon nom est Michiel et je vais vous montrer comment faire graveur laser regardant génial !Quelques mois auparavant, il y avait ici un défi CNC à instructables, tout en vérifiant les entrées de ce concours, j'ai vu des machines de
Le convertisseur d’unité de la Arduino DIY : Comment utiliser LCD:

Le convertisseur d’unité de la Arduino DIY : Comment utiliser LCD:

Voici une vidéo horrible de fonctionner. Je vais télécharger un meilleur plus tard.Bien sûr, c'est pour la faire apprendre des concours pour les jeunes, donc Voici les réponses à toutes vos questions !Ce que j'ai fait ?Eh bien, je pensais qu'il était