ToBe automatización - robot clasificador de Color - Introducción (6 / 7 paso)

Paso 6: Programación de ToBe automatización - robot clasificador de Color - Artibox

Programa para la Junta Artibox

Archivo de encabezado para las poses

 //// ToBeAut_Robotics.h // // // Created by Tomas Rus on 01/06/16. // //#ifndef ToBeAut_Robotics_h #define ToBeAut_Robotics_h#include //hardcoded main poses PROGMEM prog_uint16_t homepose[] = {5, 492, 185, 893, 757, 512}; //home PROGMEM prog_uint16_t centered[] = {5, 213, 512, 512, 512, 256}; //centered PROGMEM prog_uint16_t abovecon[] = {5, 690, 530, 744, 715, 512};//above conveyor PROGMEM prog_uint16_t xabovecon[] = {5, 690, 530, 744, 715, 200}; //holded PROGMEM prog_uint16_t undercam[] = {5, 175, 310, 971, 711, 200};// in front of the cam PROGMEM prog_uint16_t pile1[] = {5, 343, 543, 866, 729, 200};//pile 1 PROGMEM prog_uint16_t xpile1[] = {5, 343, 543, 866, 729, 512};//pile 1 gripper open PROGMEM prog_uint16_t pile2[] = {5, 422, 724, 644, 599, 200}; //pile 2 PROGMEM prog_uint16_t xpile2[] = {5, 422, 724, 644, 599, 512}; //pile 2 gripper open PROGMEM prog_uint16_t dump[] = {5, 353, 378, 268, 328, 200}; //dump PROGMEM prog_uint16_t xdump[] = {5, 353, 378, 268, 328, 512}; //dump gripper open#endif /* ToBeAut_Robotics_h */ 

Real arduino programa

 //// ToBeAut_Robotics.cpp // // // Created by Tomas Rus on 01/06/16. // // // Main program for ArbotiX PhantomX Pincher // Class - aut/0915 // Author: Tomas Rus, Benedikt Zaleha, Christian Hejlesen#include "ToBeEssentials.h" //hardcoded Poses #include //Pixy libraries #include // #include //library for AX12 servos #include //library for Move function and many more #include //small library for led operation, can be replacedBioloidController bioloid = BioloidController(1000000);//Global variables go here LED13 ledgreen; LED13 ledred; int PshBut = 0; //push button 1 pin number int val = 0; int fromPLC = 3; //pin for input from PLC, if there'ß a box int readySeq = 18; //pin for sending ready signal via relay to the PLC //recognizing the colours, colour 1 = blue, colour = 2 = green, else 0 int moveDelay = 1000; //speed of the robot in ms int Pressure; int colour = 0; int boxW = 0; //box waiting on the conveyor, internal bitvoid setup (){ pinMode(3, INPUT); pinMode(16, OUTPUT); pinMode(17, OUTPUT); pinMode(18, OUTPUT); }void loop () { delay(1000); Move(homepose); ledred.off(17); ledgreen.on(16); //signalizing ready status with green led boxW = 0; boxW = digitalRead(fromPLC); delay(1000); if (boxW) { ledgreen.off(16); //signalizing operation status with red led ledred.on(17); playSequence(); } } // void loop end void Move(prog_uint16_t* Inn) //inherited from bioloid library { delay(moveDelay); // recommended pause bioloid.loadPose(Inn); // load the pose from FLASH, into the nextPose buffer bioloid.readPose(); // read in current servo positions to the curPose buffer delay(moveDelay); bioloid.interpolateSetup(moveDelay); // setup for interpolation from current->next over 1/2 a second while(bioloid.interpolating > 0) { // do this while we have not reached our new pose bioloid.interpolateStep(); // move servos, if necessary. delay(3); } } void playSequence() { delay(1000); Move(abovecon); delay(1000); Move(xabovecon); /* while (Pressure<500) { //optional use of pressure sensor Pressure = analogRead(26); delay(200); gripper -= 30; if (gripper <0) { gripper = 0; } ax12SetRegister2(5, 30, gripper); } */ delay(1000); Move(undercam); delay(1000); colour = getColor(); switch (colour) { case '1': //moving boxes to the first pile Move(pile1); delay(1000); Move(xpile1); delay(1000); break; case '2': //moving boxes to he second pile Move(pile2); delay(1000); Move(xpile2); delay(1000); break; default: //moving unrecognized boxes to the dump pile Move(dump); delay(1000); Move(xdump); break; } Move(homepose); }int getColor() { Pixy pixy; pixy.init(); delay(500); int blocks; int j; int i = 0; int color = 0; while (color != 1 || color != 2) { blocks = pixy.getBlocks(); if (blocks) { i++; // do this (print) every 20 frames because printing every // frame would bog down the Arduino if (i%20==0) { Serial.println(color); color = pixy.blocks[j].signature; return color; } } } } 

Artículos Relacionados

Mano construida por Robots humanoides, parte 1: Introducción

Mano construida por Robots humanoides, parte 1: Introducción

suficientemente grandes como para ser útil en un entorno doméstico casi todos humanoides robots aún se construyen utilizando una tecnología desarrollada originalmente para los robots de fábrica coche-soldadura - cuerpos de metal ultra rígidos impulsa
Color de Pixybot Robots de seguimiento

Color de Pixybot Robots de seguimiento

Este proyecto de Pixybot comenzado poco después de que entré en un espacio de hacker/fabricante en el centro de Saint Louis. El espacio se llama Reactor de arco y ha sido un gran lugar para mí rebotar ideas de otras personas con similares intereses y
Lector, hablando de Robot de color

Lector, hablando de Robot de color

Hoy voy a hacer un muy buen proyecto para usted. Hola amigos, hoy vamos a hacer un proyecto muy útil con Arduino.By detección del color del sujeto con el lector de color habla voz robot dirá el color en voz alta al usuario. Este proyecto es también u
Un robot camarero--Doggie4

Un robot camarero--Doggie4

El robot que hemos creado es un robot barman que diseñamos para servir alimentos y bebidas en un bar. Hemos llamado Doggie4. El robot se divide en cuatro capas. La parte inferior (la cuarta capa) es un chasis de coche, equipado con dos ruedas y dos d
Robot-O Awesome O disco-O el Robot de discoteca (decoración)

Robot-O Awesome O disco-O el Robot de discoteca (decoración)

Mi sobrina va a tener una fiesta de cumpleaños temática Disco, y como luz discoteca decoraciones puede ser costoso, decidí hacerme algunas decoraciones frescos.  Durante las vacaciones, era un TV comercial cuenta con una discoteca robot http://www.yo
Encienda para arriba su camiseta Robot

Encienda para arriba su camiseta Robot

aquí es un proyecto de circuito suave fácil y divertido. Tomé Robot t-shirt un Instructables y añadido algunos LEDs para los ojos y una roja parpadeante LED para corazón del Robot.  Los interruptores están situados donde están los botones grises en e
Suncatcher instructable Robot

Suncatcher instructable Robot

Este instructable es cómo hacer un suncatcher instructable robot increíble.¡ Disfrute!Paso 1: materiales 1. una imagen de robot instructable para rastro (ver siguiente paso)2 contracción plástica3. permanentes marcadores o lápices de colores4. tijera
DIY Robot Mod un 80 de Omnibot con voz, Bluetooth, cámara, Servos

DIY Robot Mod un 80 de Omnibot con voz, Bluetooth, cámara, Servos

* Compruebe detrás para más actualizaciones en esta versión :)¿Por lo tanto, han oído hablar del Omnibot? ¡ Bien! Cualquier niño de los 80 recordarán cómo increíble este robot fue. Para ustedes muchachos, este robot fue lanzado en los años 80 tempran
Color en un Makelangelo 3

Color en un Makelangelo 3

Por lo tanto, para un par de meses, yo he estado haciendo dibujos a color de los gatos en Makelangelo 3, un robot plano hecho por Dan Royer en marginallyclever.com. Toma un mapa de bits, marcas y aproximación con una pluma casi como un semitono y dib
Cómo engañar a lo robot de instructables

Cómo engañar a lo robot de instructables

nuevos miembros vienen a instructables cada día, hacer una cuenta, editar su perfil y especialmente hacer una foto de perfil. Muchas personas escoger una foto de su perro, o lugar favorito o personaje de dibujos animados. Pero muchas personas optan p
A partir de un proyecto de microprocesador electrónico

A partir de un proyecto de microprocesador electrónico

en determinadas épocas del año Instructables obtiene le preguntó "Qué proyecto puedo hacer", "Cómo puedo hacer..." en su mayoría por estudiantes de la escuela o el colegio.En muchos casos si la pregunta fuera a su proyecto de una maner
Filmación aérea con aviones teledirigidos

Filmación aérea con aviones teledirigidos

Filmación con drones se ha convertido en muy popular y está empujando los límites en cine digital. En el pasado, estos resultados requieren helicópteros/aviones y equipamiento pesado/caro cámara. Dentro de los últimos años, el costo de los aviones no
Cómo incrustar un Raspberry Pi en su EggBot

Cómo incrustar un Raspberry Pi en su EggBot

construir un robot de huevo colorante que es totalmente independiente de ordenadores externos incrustando un Raspberry Pi en el chasis EggBot.Paso 1: Construir un EggBot de un kit de laboratorios mal loco Comprar un kit de EggBot de Evil Mad laborato
PEZ dispensador de Robo utilizando Arduino

PEZ dispensador de Robo utilizando Arduino

Estaba paseando por el pasillo de dulces en el supermercado y allí estaba: el dispensador PEZ, evocación de los dulces (literalmente) infancia recuerdos sirve mis personajes de dibujos animados favoritos en cuadrada bolitas azucaradas.  Entonces, de