Stap 5: De schets code kan worden uitgevoerd van de robot
DE ARDUINO SCHETS CODE
Deze beta code rijdt de Arduino-based servo gestuurde IR radar vegen obstakel te vermijden en servo controle uitvoeren.
Nieuwste versie: Beta 0,8 22 Oct, 2011
Deze code is geschreven om zo zelf-documenterende mogelijk worden. Ik gebruikte uitgebreid en uitgebreide syntaxis in plaats van compacte code gemakkelijker te begrijpen en om te porten naar andere programmeertalen. Met uitzondering van de IR code lezen, deze Sketch niet gekopieerd van elk project maar ik geprofiteerd van de collectieve ervaring van vele anderen. Iedereen kan gebruiken en wijzigen deze code met Naamsvermelding.
Deze robot wordt verplaatst met behulp van differentiële besturing. Om het schakelen, moet één wiel sneller dan de andere in hetzelfde of verplaatsen tegenover richting voor een periode van tijd. Ik gebruikte proefondervindelijk vindt u de tijdwaarde van deze. het zal anders voor je eigen robot zijn.
De tijdwaarden van deze is afhankelijk van vele factoren zoals de wielmaat, robot gewicht, oppervlakte kwaliteiten, tractie, enz. Het is het beste om te testen uw robot op de doel oppervlakte (bv. sumo disc, marmeren vloer) om te komen tot waarden van de werken, zodat u niet hoeft te veranderen ze later.
Opmerking: Als u wilt stoppen de servo's, ik gewoon "loskoppelen" hen in het programma vervolgens "attache" hen wanneer ik ze te gaan opnieuw nodig hebben. Dit was beter dan de hoofdpijn van te proberen om erachter te komen het stop punt voor elke servo die ik voor continue rotatie aangepast.
De pseudo-logica werkt als volgt:
SETUP
Opstelling van milieu- en fysieke constanten zoals de timing van het wiel draait, veilige afstand tot het obstakel, enz.;
Start de robot;
Scan links, vooruit, recht;
Verplaatsen in de richting van grotere ruimte;
LOOP
Blijven bewegen vooruit tijdens het scannen van vooruit;
ALS obstakel bereikt dan stoppen en scannen in alle richtingen (links, vooruit, rechts)
Verplaatsen in de richting van grotere ruimte;
Als er obstakels aangetroffen op alle richtingen dan Backturn 360 graden dan scannen in alle richtingen agin (links, rechts)
ALS obstakel in alle richtingen dan de STOP aangetroffen;
HERHAAL LUS
Thats it.
Op het niveau van de logische heb ik 3 belangrijkste sectie van de code van de schets:
1) tot instelling van constanten, variabelen fysieke en milieu.
2) logica om IR servo en lezen afstanden en belemmering waarschuwing te zetten.
3) logica om te schakelen van wiel servo's voorwaarts, links, rechts, 360, en gewoon omgekeerde.
Nogmaals, dit is beta code, maar het werkt.
Hier is een andere video-opname, maar mindere kwaliteit (genomen met de camera van de Nokia 5800)