4 servo drive CellBot som kan fjärrstyras. (1 / 8 steg)
Steg 1: Servo s och Arduino används för att kalibrera
Servon jag använt är nns modell B1226 kommer från:
http://www.hobbypartz.com/12exiseb1.html
Du behöver en servo 'horn' att ansluta dem till ett hjul av något slag. Detta servo kräver en speciell horn gjorda för den B1228 modellen.
http://www.hobbypartz.com/sehosetforap.html
Servo är tekniskt inte en kontinuerlig servo men så otroligt lätt att konvertera. Se bilder...
1. ta bort locket
2. ta bort blottar och två växlar.
3. ta lite vit cirkulär klipp med hjälp av naglarna.
4. kalibrera potentiometern att göra det snurra med samma hastighet åt båda hållen och sluta när du skickar det kommandot för att centrera sig själv.
5. Använd nagellack för att limma Potentiameter på plats.
6. återmontera alla utom lilla vita klippet du bort med naglarna.
Varför använda denna specifika servo?
1. extremt högt vridmoment och bara rätt hastighet för 3 till 4 tums hjul kör vid 6 volt.
2. det är $14 varje.
3. det har redan hållplatser bort hindra kommissionen från att rotera kontinuerligt.
4. att den körs kontinuerligt bara ta bort klippet. Den var ursprungligen avsedd att vända 8,5 gånger från ena änden till den andra. När du tar bort klippet kommer att det köras kontinuerligt.
5. så ingen kapning, ingen lödning. Om du har programmet kalibrering på din arduino har du det gjort på under 5 minuter lätt.
Källkoden för att kalibrera servo är nedan. Den roterar just för 3 andra förblir fortfarande under 15 sekunder och lämnade i 3 sekunder, sedan stilla i 15 sekunder. Du rotera potentiameter fram och tillbaka tills saken slutar snurra under de 15 andra perioderna för flera cykler av programmet...
#include
Servo myservoR;
void setup() {
Serial.BEGIN(9600);
Delay(5000);
Serial.println('Start');
myservoR.attach(11);
}
void loop()
{
myservoR.write(180);
Serial.println ("Skicka 180');
Delay(3000);
myservoR.write(90);
Serial.println ("Skicka 90');
Delay(15000);
myservoR.write(0);
Serial.println ("skickar 0");
Delay(3000);
myservoR.write(90);
Serial.println ("Skicka 90');
Delay(15000);
}