giovedì 23 febbraio 2012

Costruzione di Photoduino

Il progetto avanza a passi tesi!
Photoduino primo test
 Si Tratta della costruzione di una interfaccia per la gestione dello scatto di una macchina fotografica tradizionale, per poter fare foto in Time Lapse e foto "veloci".
Il progetto originale e' questo Photoduino
Photoduino

Photoduino

lunedì 6 febbraio 2012

Esperienze con due servo motore

Posto oggi le primissime esperienze con i servo motori e la splendida scheda Arduino.
Ho cannibalizzato un vecchio robot della De Agostini che ho costruito qualche anno fa (credo fosse il 2002-2003) dal quale ho ricavato due bei motori servo della parallax, ho seguito il tutorial sul sito di riferimento di Arduino ed ho iniziato a fare le prime esperienze.

In progetto c'e' da costruire uno stabilizzatore di macchina, da applicare ad

una fotocamera per mantenere in asse la camera durante delle riprese con l'operatore in movimento, l'idea di base e' quella di utilizzare il sensore nunchuck della wii e due o tre servomotori.
Vedremo dove portano questi primi test.


Di seguito lo Scketch che ho utilizzato per comandare i due servo motori con i potenziometri
// Controlling a servo position using a potentiometer (variable resistor)
// by Jam ++++ servo senza fermo,

#include Servo.h 

Servo myservo; // create servo object to control a servo
Servo myservo1; // create servo object to control a servo

int potpin = 0; // analog pin used to connect the potentiometer
int potpin1 = 1; // analog pin used to connect the potentiometer
int val; // variable to read the value from the analog pin
int val1; // variable to read the value from the analog pin

void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to the servo object
myservo1.attach(10);
}

void loop()
{
val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023)
val1 = analogRead(potpin1); // reads the value of the potentiometer (value between 0 and 1023)
val = map(val, 0, 1023, 1000, 2000); // scale it to use it with the servo (value between 1000 and 2000)
val1 = map(val1, 0, 1023, 1000, 2000); // scale it to use it with the servo (value between 1000 and 2000)

myservo.writeMicroseconds(val);
myservo1.writeMicroseconds(val1);
delay(15);
}