Controle van uw iRobot Create met een Palm Pilot (10 / 16 stap)

Stap 10: Het programma, deel 2

Nu kunnen we definiëren de GUI elementen. Aan de bovenkant van het "robot.rcp" bestand moet er een regel die bevat:

 #include "robot.h" 

Zonder deze regel niet zou de compiler de elementnamen voor id-nummers vervangen.

De eerste vorm (pagina) in ons programma zal bevatten 2 foto's, sommige labels en sommige tekstgebieden. De tekstgebieden mag niet worden bewerkt door de gebruiker. Ik wil niet dat er een grens, en er moet een knop waarmee de gebruiker gemakkelijk voorkomen dat de sensor weergave bijwerken.

 FORM ID FormMain AT (0 0 160 160) NOFRAMEUSABLEMENUID MainMenu BEGIN TITLE "iRobot Status" FORMBITMAP AT (20 25) BITMAP PicRobot FORMBITMAP AT (110 21) BITMAP PicWall_ LABEL "Program:" AUTOID AT (10 120) FONT 0 FIELD ID FldProg AT (80 PREVTOP 70 AUTO) NONEDITABLE UNDERLINED MAXCHARS 15 LABEL "Voltage:" AUTOID AT (10 PREVBOTTOM+1) FONT 0 FIELD ID FldVoltage AT (80 PREVTOP 70 AUTO) NONEDITABLE UNDERLINED MAXCHARS 15 BUTTON "Stop" ID BtnDisconnect AT (110 102 AUTO AUTO) END 

Het tweede formulier worden gebruikt voor het selecteren van de Demo programma's op de iRobot Create. Het moet een beschrijvende tekstlabel, een lijst van mogelijke opties en een (niet-bewerkbare) text-veld dat wordt weergegeven met een korte beschrijving van de geselecteerde demo. Het dient ook een titel, maar geen rand.

 FORM ID FormSelect AT (0 0 160 160) NOFRAMEUSABLEMENUID MainMenu BEGIN TITLE "Select Script" LABEL "Select a demo program or Macro:" AUTOID AT (5 20) FONT 0 LIST "Cover" "Cover and Dock" "Spot Cover" "Mouse" "Figure Eight" "Wimp" "Home" "Tag" "Pachelbel" "Banjo" ID SelScript AT (30 35 90 1) FONT 0 VISIBLEITEMS 5 FIELD ID FldDescription AT (5 PREVBOTTOM+8 145 60) FONT 0 NONEDITABLE UNDERLINED MULTIPLELINES MAXCHARS 255 END 

De definitieve vorm zal worden gebruikt voor het maken van scripts. Het moet aantal knoppen waarmee het script als een geheel (zoals 'Script uitvoeren' of 'Verwijderen Script'), evenals knoppen controle opdrachten toe te voegen aan het script bevatten. Om te scheiden van deze 2 moet soorten knoppen er zijn een scheidslijn (in dit geval een bitmap). Er moet ook een (nogmaals, niet-bewerkbare) tekstveld dat de opdrachten in het script staat dit tekstveld verschijnt moet vergezeld gaan van een schuifbalk weergegeven. Als het laatste formulier moet er een titel.

 FORM ID FormMacro AT (0 0 160 160) NOFRAMEUSABLEMENUID MainMenu BEGIN TITLE "Create/Edit Macro" BUTTON "Send to robot" ID BtnSend AT (6 20 AUTO AUTO) BUTTON "Clear" ID BtnClear AT (PREVRIGHT+3 PREVTOP AUTO AUTO) BUTTON "Delete" ID BtnDel AT (PREVRIGHT+3 PREVTOP AUTO AUTO) FORMBITMAP AT (0 35) BITMAP PicBar BUTTON "Up" ID BtnUp AT (23 45 13 13) NOFRAME GRAPHICAL BITMAPID PicUp BUTTON "Left" ID BtnLeft AT (PREVLEFT-15 PREVTOP 13 13) NOFRAME GRAPHICAL BITMAPID PicLeft BUTTON "Right" ID BtnRight AT (PREVRIGHT+17 PREVTOP 13 13) NOFRAME GRAPHICAL BITMAPID PicRight BUTTON "Down" ID BtnDown AT (PREVLEFT-15 PREVBOTTOM+4 13 13) NOFRAME GRAPHICAL BITMAPID PicDown BUTTON "Clock" ID BtnClock AT (68 45 18 18) NOFRAME GRAPHICAL BITMAPID PicClock BUTTON "CClock" ID BtnCClock AT (PREVRIGHT+7 PREVTOP 18 18) NOFRAME GRAPHICAL BITMAPID PicCClock BUTTON "Pause" ID BtnPause AT (130 PREVTOP 18 18) NOFRAME GRAPHICAL BITMAPID PicPause LABEL "Plus" AUTOID AT (46 70) FONT 0 BUTTON "1" ID BtnP1 AT (PREVRIGHT PREVTOP 10 11) RECTFRAME BUTTON "2" ID BtnP2 AT (PREVRIGHT+1 PREVTOP 10 11) RECTFRAME BUTTON "4" ID BtnP4 AT (PREVRIGHT+1 PREVTOP 10 11) RECTFRAME BUTTON "8" ID BtnP8 AT (PREVRIGHT+1 PREVTOP 10 11) RECTFRAME BUTTON "16" ID BtnP16 AT (PREVRIGHT+1 PREVTOP 15 11) RECTFRAME LABEL "seconds" AUTOID AT (PREVRIGHT+2 PREVTOP) FONT 0 FORMBITMAP AT (0 PREVBOTTOM+5) BITMAP PicBar FIELD ID FldScript AT (5 90 135 70) FONT 0 NONEDITABLE UNDERLINED MULTIPLELINES MAXCHARS 500 HASSCROLLBAR SCROLLBAR ID SclScript AT (PREVRIGHT+5 PREVTOP 7 PREVHEIGHT) VALUE 0 MIN 0 MAX 8 PAGESIZE 1 END 

Elk formulier moet een menu. Het menu kan de gebruiker om te kiezen tussen de formulieren en de mededeling van de controle met de robot.

 MENU ID MainMenu BEGIN PULLDOWN "Main" BEGIN MENUITEM "Status" ID MnuStatus "S" MENUITEM "Scripts" ID MnuScript "I" MENUITEM "Edit Macros" ID MnuMacro "M" END PULLDOWN "Robot" BEGIN MENUITEM "Connect" ID MnuConnect "C" MENUITEM "Disconnect" ID MnuDisconnect "D" MENUITEM SEPARATOR MENUITEM "Run" ID MnuRun "R" MENUITEM "Stop" ID MnuStop "O" END PULLDOWN "Help" BEGIN MENUITEM "Help" ID MnuHelp "H" MENUITEM "About" ID MnuAbout "A" END END 

We moeten definiëren het "about" scherm.

 ALERT ID AboutAlert INFORMATIONBEGIN TITLE "About iRobot" MESSAGE "A program designed to communicate with an iRobot Create\n" \ "------------------\n"\ "By: Tristan Losier\n"\ "Released under the GPL\n"\ "------------------\n"\ "iRobot is a registered trademark of the iRobot Corporation" BUTTONS "Ok" END 

En last but not least moeten we alle bitmaps en pictogrammen die zal worden gebruikt in het programma definiëren. Je kan merken dat veel van de hieronder omschreven bitmaps worden niet gebruikt hierboven, dat is omdat ze elders in het programma worden gebruikt.

 BITMAP ID PicBar "images/bar.bmp" BITMAP ID PicRobot "images/irobot.bmp" BITMAP ID PicWall_ "images/wall_.bmp" BITMAP ID PicCliff "images/sensors/cliff.bmp" BITMAP ID PicWhealL "images/sensors/lwheal.bmp" BITMAP ID PicWhealR "images/sensors/rwheal.bmp" BITMAP ID PicBumpL "images/sensors/bumpl.bmp" BITMAP ID PicBumpR "images/sensors/bumpr.bmp" BITMAP ID PicWall "images/sensors/wall.bmp" BITMAP ID PicUp "images/buttons/up.bmp" BITMAP ID PicDown "images/buttons/down.bmp" BITMAP ID PicLeft "images/buttons/left.bmp" BITMAP ID PicRight "images/buttons/right.bmp" BITMAP ID PicClock "images/buttons/clock.bmp" BITMAP ID PicCClock "images/buttons/cclock.bmp" BITMAP ID PicPause "images/buttons/pause.bmp" ICON "robot.bmp" SMALLICON "robotsmall.bmp" 

Gerelateerde Artikelen

Controle van uw slaapkamer verlichting met een eenvoudige DIY Push Switch

Controle van uw slaapkamer verlichting met een eenvoudige DIY Push Switch

OK, zullen we gewoon zeggen je hebt net klaar met kijken naar een enge film per zeggen, de wrok of iets. Als ik kijk een enge film loop ik in mijn kamer, zet het licht op wandeling naar mijn bed beurt mijn nachtlampje dan gaat u naar de deur om te ze
Het invoeren van de iRobot Create uitdaging

Het invoeren van de iRobot Create uitdaging

UPDATE: wedstrijd termijn verlengd tot 11:59 pm PDT zondag, 9 September!Als je robot weerspannige, gebruikt u de extra dagen te navigeren van een oplossing of probeer een andere strategie. Als je robot fabelachtig is, post-it en gebruik van de extra
Hoe de controle van de 8 leds met behulp van de arduino uno

Hoe de controle van de 8 leds met behulp van de arduino uno

de kerels van hey dit is mijn eerste arduino project gelieve reactie hoe u voelt.        Stap 1: Dingen die je moet Zoals dit makkelijk is project voor beginner's dus delen ook eenvoudig zijnDelen:1 - Arduino uno of elke andere Raad zal werken1-Beard
Hoe te maken zee Fan Art met een Palm stengel

Hoe te maken zee Fan Art met een Palm stengel

als je toevallig te wonen ergens waar palm bomen groeien gemakkelijk, kunt u gemakkelijk maken uw eigen fanart van zee.Ik over het algemeen weggooien de palm stengels die vallen van onze palmen, maar één bepaalde deed me denken aan een zee-fan om wat
Het gebruik van de IR-bibliotheek met een attiny

Het gebruik van de IR-bibliotheek met een attiny

Dit Instructable zal u vertellen hoe het gebruik van de IR (infrarood) bibliotheek op een Attiny. Ik zal met behulp van een Attiny85 met een Arduino Uno. Ik zal niet dekken hoe te uploaden schetsen naar de Attiny enkel het gebruik van de IR-bibliothe
Hoe maak je een autonome basketbal spelen robot met behulp van een iRobot Create als een basis

Hoe maak je een autonome basketbal spelen robot met behulp van een iRobot Create als een basis

dit is mijn inzending voor de iRobot Create uitdaging. Het moeilijkste deel van dit hele proces voor mij was beslissen wat de robot ging doen. Ik wilde om aan te tonen van de koele eigenschappen van het maken, terwijl ook in sommige robo flair toe te
Hoe de controle van de arduino board met behulp van een android telefoon en een bluetooth-module

Hoe de controle van de arduino board met behulp van een android telefoon en een bluetooth-module

In deze tutorial leert u hoe u met een bluetooth-module en MIT's app uitvinder maken van een draadloze seriële verbinding tussen een android telefoon en een arduino board.Hier is een korte video die toont een voorbeeld-app die ik heb gemaakt. Ik zal
Stem van gereguleerde iRobot Create

Stem van gereguleerde iRobot Create

Onlangs ontving ik een Androïde accessoire ontwikkeling Kit (ADK) en, toevallig, ook net ontvangen mijn iRobot maken.  Dus, heb ik besloten om de twee samen om te krijgen een stem-gecontroleerde robot met behulp van de API's van Android als een gemak
Arduino Uno en Visuino: controle van slimme auto Robot met Joystick en L298N Motor Driver

Arduino Uno en Visuino: controle van slimme auto Robot met Joystick en L298N Motor Driver

Dat Smart auto ingesteld wanneer gecombineerd met L298N Motor Driver Modules, bieden een van de gemakkelijkste manieren om robot auto's maken. De L298N Motor Driver Module is makkelijk te controleren met Arduino, en met behulp van Visuino kunt u uw a
Controle van uw Halloween decoraties met Arduino

Controle van uw Halloween decoraties met Arduino

Geanimeerde Halloween rekwisieten zijn een heleboel plezier. Maar de rekwisieten die je in de winkel koopt hebben enkele belangrijke beperkingen.Een probleem is dat elke prop wordt geactiveerd door een eigen sensor. Het is zo moeilijk om te krijgen h
Controle van uw RF verkooppunten met LinkIt One

Controle van uw RF verkooppunten met LinkIt One

Ik kocht onlangs een aantal stopcontact muur tijdopnemers voor wat lampen in mijn huis. Terwijl het hebben van al de lichten '' op een bepaald moment inschakelen is cool, besefte ik dat er nogal wat nadelen. Eerst, terwijl ik wakker werd heel vroeg o
Controle van de drie stopcontacten vanaf een PC draadloos

Controle van de drie stopcontacten vanaf een PC draadloos

vond ik een goedkope draadloze afstandsbediening waarmee drie onafhankelijke stopcontacten.Met behulp van de printplaat van de zender en het verbinden met een LaunchPad ontwikkel bord kon ik op afstand bedienen van de drie 110V-aansluitingen met behu
Controle van uw RC vliegtuig met uw telefoon Acclerometer

Controle van uw RC vliegtuig met uw telefoon Acclerometer

Heb je ooit wilde om te controleren uw RC vliegtuig door middel van het kantelen van een object? Ik heb altijd het idee aan de achterkant van mijn hoofd, maar ik heb het nooit nagestreefd totdat deze afgelopen week. Mijn eerste gedachten waren te geb
Controle om het even wat met een AVR-pin

Controle om het even wat met een AVR-pin

dit instructable toont hoe de controle van een groep van led met een microprocessor uitgang.De micro die mij zal zitten using is een Atmel Attiny2313.Stap 1: Onderdelen en Tools Parts:Attiny2313 (kreeg 5 gratis monsters van Atmel)20 pins aansluitingW