Stap 5: Met behulp van sensoren om te schilderen
De zeer gemakkelijkste manier om te schilderen met sensoren is aan het programma lopen de monster 'cover' met rond de omtrek van de ruimte schilderen, en zelfs sommige zware objecten (die resistente verf of verpakt in papier was gezet) binnen de ruimte schilderen. Maar u waarschijnlijk een beetje meer controle dan die wilt, en ik heb de commandomodule toegevoegd aan de lijst met materialen voor een reden.
Als u zou willen houden sommige van de willekeurigheid in wat de robot schilderen, maar toch is hebben het werk binnen de parameters die u instelt, hier zijn enkele manieren om het te doen:
Open het voorbeeldprogramma genaamd 'drive' in programmeurs notitieblok (een uitleg van dit is beschikbaar in de handleiding die u vanaf de website van iRobot downloaden kunt.)
Op lijn 156 vindt u:
Instellen van de parameters van de beurt en resetten van de hoek
Dit is wat de robot doet wanneer een sensor wordt geactiveerd. Het gaat hierbij om stoten in dingen of bijna vallen off van dingen. Deze sectie heeft enkele leuke dingen om te spelen met.
afstand = 0;
U kunt dit op elk gewenst getal. Het aantal u kiezen hoeveel millimeter de robot zal back-up na het raakt of de rand van iets heeft aangetroffen. Dus, bijvoorbeeld, veranderen de "0" tot "200", het zal een back-up 200 millimeter. Hiermee krijgt u 200 millimeter lange lijnen onder verschillende hoeken uit de randen en welke andere objecten zijn op en rondom het schilderij oppervlak.
hoek = 0;
Dit betekent dat het back-up straight nadat het iets raakt. Je man wil dit niet. Als u back willen zou-up op verschillende instellen hoek een aantal hier. Wijzigen van "0" tot "45" zal leiden tot het back-up maken op een boog van 45 graden. Deze neemt wat tweaken om enkel hoe u het wilt, maar sommige coole effecten kan veroorzaken.
turn_angle = randomAngle();
Dit betekent dat het bedrag dat de robot draait na het raken van iets zal ergens tussen de 53 en 180 graden. Als u wilt wijzigen van het bereik van "random" Ga naar regel 460 en de code desgewenst wijzigen. Als u wilt instellen op een bepaalde hoek verandering "randomAngle()" tot "15" of wat dan ook andere hoek houdt u van. De nummers "1" en "-1" zijn gereserveerd voor rechte hoeken, maar het lijkt dat elke andere nummer, positief of negatief is eerlijk spel. Ik besefte dat ik heb geprobeerd om het even wat meer dan 360, maar nu ik kan niet wachten om te proberen.
Op lijnen 143 en 149 vindt u "draaien" gevolgd door een 0. Maakt de robot spin voor altijd wijzigen die aan iets anders. Dit is niet een zeer effectieve of leuke verandering te maken, zodat zou ik niet hinderen.
station (300, RadStraight);
Dit betekent dat met een snelheid van 300 kop recht vooruit. U kunt de snelheid van de robot door het veranderen van "300" naar een ander nummer. Lagere is langzamer, hoger is sneller (geen trucs hier). "RadStraight" te wijzigen naar een nummer zal resulteren in de robot rijden in een boog. Dit zal zeker de 'schilderkunstig' aard van wat de robot doet toenemen. Ik hou echt van deze instelling te wijzigen.
Wijzigen van de snelheid die de robot beweegt, kunt de lijnen die het schetst. Lagere snelheden zal meestal leiden tot een soepeler en zwaardere toepassing van verf. Snellere geeft je een brushier effect en daardoor soms zelfs uw penseel overslaan.
Zodra je betrokken bij de code raken kun je allerlei dingen te tweaken. Als u ondervindt problemen begrip iets controleren aanwijzingen het oi bestand, soms er zijn er. Veel van de tijd die ik heb meer geluk met behulp van een aantal van de hoek in plaats van "RadCW" of vergelijkbare opdrachten. Ik ben ervan uitgaande dat dit is een toevalstreffer, maar wel iets om te controleren indien u problemen ondervindt.
Ik ben helemaal niet een ervaren programmeur. In feite, dit is de eerste ik ooit heb gedaan om het even wat met code, met uitzondering van het maken van websites. Ik denk dat het is vrij moeilijk om te kwetsen van de robot, en er is altijd een schone kopie van de voorbeeldprogramma's op de CD als u schade onherstelbaar degene die bent u wijzigt. De code is goed bekend en je kunt vrij veel erachter te komen wat alles doet, als u enige tijd mee te nemen. Het is de moeite waard duiken in en veranderen van dingen om te zien wat je krijgt. Ik heb geschreven nogal wat nieuwe dingen toe te voegen aan de 'drive'-programma, maar ze zijn klaar om te tonen aan de wereld nog helemaal niet.