ArduinoFan, un utente del sito Let’s Make Robots ha postato un progetto per realizzare un semplice quanto divertente robot utilizzando la scheda Arduino. Si può vedere come il telaio del robot si basa su una basetta breadboard su cui sono attaccati i servi, l’Arduino e le altre parti tramite edel nastro biadesivo spesso (con supporto in schiuma acrilica) e delle fascette autobloccanti di plastica. OK, no nsarà come Wall-e ma ci sembra un ottimo progetto per i modellistici che vogliono avvicinarsi alla robotica e all’utilizzo di Arduino.
Puoi trovare le informazioni per il montaggio qui.
Materiali utilizzati: (1) Arduino (2) Continuous Rotation Servos (1) Standard Servo (1) Box per 4 batterie AA (4) AA Batterie (1) 1-1/4″ Caster Wheel (2) Servo Mountable Wheels (1) Sharp IR Sensor (1) IR Sensor Servo Mount (1) Breadboard da 840 contatti Filo elettrico Fascette autobloccanti Nastro biadesivo
Ecco il coide da caricare su Arduino per gestire i servi.
Shawn - http://www.ArduinoFun.com Arduino Sketch: /* * Brian Bailey * * Drives servo robot and avoids obsticles using Sharp IR range finder * http://bunedoggle.com/robots.php */
#define CENTER 1400 #define CENTER_R CENTER #define CENTER_L CENTER+1
/*************************************************** * scan - This function is called every cycle * it turns the head a click and records a distance and * heading. It only saves the closest object info. * objDist and objDir hold the closest object data ****************************************************/ void scan(){
/********************************************************** * bump * Executes a nudge to a given side * Pass in LEFT_TURN or RIGHT_TURN ***********************************************************/ void bump(int dir){ #define BUMP 100 if(dir == LEFT_TURN){ rightWheel.write(rightWheel.read()-BUMP); delay(BUMP_DELAY); rightWheel.write(rightWheel.read()+BUMP); } else { leftWheel.write(leftWheel.read()+BUMP); delay(BUMP_DELAY); leftWheel.write(leftWheel.read()-BUMP); } }
/********************************************************** * bumpSteer * Nudges us back on coarse if we see something off to the * side. Relies on objDist and objDir to be updated by scan() * ***********************************************************/ void bumpSteer(){ // One bump per scan if(!turnNow || objDist < 470) return;
if(objDir > CENTER){ bump(RIGHT_TURN); } else if(objDir <= CENTER){ bump(LEFT_TURN); } // No turn till next scan turnNow = false; }
Il Modellismo è un hobby che consiste nel realizzare riproduzioni in scala ridotta di macchine, oggetti, persone o edifici. Le sue origini risalgono all'abitudine di certi artigiani dei secoli scorsi di realizzare esemplari in scala ridotta dei loro prodotti per poterli mostrare ai propri clienti.
RSS dei commenti per questo post · TrackBack URI
Lascia un commento