Quadcopter tennis champions
Quadcopter tennis robots able to return a volley are the beginings of Futurama Blurnball.
Quadcopter tennis robots able to return a volley are the beginings of Futurama Blurnball.
Building robots can be a lot of work. One way to reduce the work is to use the same part many times.
These researchers present a snake robot made from identical modular components arranged in a daisy chain.
One could argue these are modular robots working together.
Self-assembling would be nice.
A rotary encoder is essential in most analog to digital measurements. Everything from volume control to robot movement can be tracked with a good rotatry encoder. Conveniently, everything you need to know is in Wikipedia. This code is a variation on Metsfan’s contribution to the Sparkfun forums. This version avoids unnecessary if statements. SO NERDY.
#define PIN_HIGHBIT (7) #define PIN_LOWBIT (5) #define PIN_PWR (3) #define BAUDRATE (9600) #define DEBUG (1) // globals int state, prevState = 0, count = 0; /* old state, new state, change (+ means clockwise) * 0 2 + * 1 0 + * 2 3 + * 3 1 + * 0 1 - * 1 3 - * 2 0 - * 3 2 - */ int encoderStates[4][4] = { { 0, -1, 1, 0 }, { 1, 0, 0, -1 }, { -1, 0, 0, 1 }, { 0, 1, -1, 0 }, }; void setup() { pinMode(PIN_HIGHBIT, INPUT); pinMode(PIN_LOWBIT, INPUT); pinMode(PIN_PWR, OUTPUT); digitalWrite(PIN_PWR, LOW); digitalWrite(PIN_LOWBIT, HIGH); digitalWrite(PIN_HIGHBIT, HIGH); Serial.begin(BAUDRATE); } void loop() { state = (digitalRead(PIN_HIGHBIT) << 1) | digitalRead(PIN_LOWBIT); count += encoderStates[prevState][state]; #ifdef DEBUG if (state != prevState) { Serial.print(state, DEC); Serial.print(' '); Serial.print(prevState, DEC); Serial.print(' '); Serial.println(count, DEC); } #endif prevState = state; }
This morning thanks to Hack-a-day I discovered idsketching, a great site for those of us interested in industrial design, drafting, and creativity. Oh, and from there I discovered Concept Robots. How deep does the rabbit hole go?
250,000 orders filled without a single mistake. Way to go!