Geprogrammeerd robotarm (6 / 7 stap)

Stap 6: De programmalogica


Het belangrijkste blok ("lus") is eigenlijk heel simpel:

Controles voor berichten bij het bereiken van seriële buffer, van het Android apparaat Verifies als de bedieningswijze moet lokaal of extern (de standaardwaarde is lokale). Controleren of een opdracht uit te voeren van het "programma" (volgorde van stappen) werd gebruikt. Zo ja, draaien. Anders, het 'programma' is niet compleet en nog steeds nieuwe stappen moet schrijven. Als een "nieuwe positie" is gedefinieerd, toe te voegen aan het programma terug naar het begin en stap 1 opnieuw uitvoeren.

void loop)

{

checkBTcmd ();

defineLocalRemote ();

execTaskCmd = digitalRead (execTaskPin);

Als (execTaskCmd == || HIGH command == "runon")

{

RunProgram ();

}

anders recArmPosition ();

Command = "";

}

De functie checkBTcmd () assembleert een string met behulp van de personen personages die uit de BT module komt. Deze tekenreeks wordt doorgegeven aan de variabele "command".

De functie defineLocalRemote () acht de variabele 'command' controleren of een opdracht te wijzigen in de modus Extern wordt ontvangen of vice versa. De opdracht van het alarm wordt ook hier geanalyseerd. Voor het programmalogica, als de "Alarm" is geactiveerd in het Android apparaat, moet de arm noodzakelijk Ga naar de externe modus.

De functie RunProgram () voert de voorbereidingen, draaien van de LEDs op / af, etc en vooral het aanroepen van de functie: (ExecuteTask). De laatstgenoemde is de functie waarin de uitvoering van de logica van de volgorde van stappen. De functie verhoogt het verzenden van de positiegegevens naar arm één voor één met behulp van het hulpprogramma "positionIndex": armPosition (greep, base, schouder, elleboog).

Tot slot, de functie die echt de opdracht van de servo's en schrijft de "stappen" is het recArmPosition. Afhankelijk van de Android opdracht ontvangt, zal deze functie definiëren de positie van de servo's die via de potten, of via de "sliders" van Android app worden kunnen. Met elke positie van de verandering stuurt deze functie de coördinaten naar de servo's met behulp van de functie van de armPosition (greep, base, schouder, elleboog). De lezing van de werkelijke positie van de potten of schuifregelaars en de bijbehorende activering van servors treedt op tegen de tijd dat de opdracht 'Opslaan' of 'Programma' wordt geactiveerd. Op dat moment, de arrays'position-index wordt verhoogd en de stap opgeslagen.

Om inzicht te vereenvoudigen, was alle code gebaseerd op specifieke functies. Het Setup-blok, zijn Loop en de functies die hierboven beschreven vrijwel alle in het bestand:

MJRoBot_Arm_Robot_Task_Prgm.ino

De meer algemene functies zoals Lees BT commando: void checkBTcmd (); Klankbron: void pieptoon (int pin, int freq, lange ms) en debouncing: Booleaanse ontdendering (int pin); Ze zijn in het bestand:

General_Functions.Ino

Een belangrijk feit. Aangezien de Arduino instructies op basis van een klok van 16Mhz uitvoert, verwacht wordt dat de knoppen zijn leest honderden of zelfs duizenden keren per seconde, vandaar is het belangrijk om een "debouncing" knop waarin de stap van de opname.

Het vierde en laatste bestand is:

Arm_Ctrl_and_Display.Ino

In dit bestand zijn de potten lezing functies: bool readPotenciometers (); lezing van Android schuifregelaars: bool readSliders (); plaatsing van servo's: void armPosition (int gripp int basee, int schouder, elleboog int). De andere functies die zijn opgenomen in het bestand zijn voor weergave van de gegevens op de LCD, seriële Monitor, alarmen, enz.

De complete broncode voor het project kan worden gevonden op GITHUB:

https://github.com/Mjrovai/MJRoBot-Programmed-arm

of hier bij dit instructable

De video toont de robotarm 4DOF "meArm" wordt geprogrammeerd op afstand via de Android app.

Gerelateerde Artikelen

Goedkope programmeerbare Arduino robotarm

Goedkope programmeerbare Arduino robotarm

Dit is bedoeld als een beginnersgids voor het bouwen van een Arduino robotarm. Het concept is goedkoop en gemakkelijk op te bouwen. Dit is slechts een prototype voor het optimaliseren van mijn code, maar het is perfect aan de slag met Arduino robotic
Mening gecontroleerde robotarm

Mening gecontroleerde robotarm

Dit is een project die ik deed voor mijn Google Science Fair inzending. Als je deze gelieve controle het uit en stemmen voor mij wanneer het beschikbaar wordt.Dit is een video van de hand wordt gecontroleerd door de hersenen openen en sluiten:Meer vi
Golf je hand naar besturingselement OWI robotarm... geen addertjes onder het gras

Golf je hand naar besturingselement OWI robotarm... geen addertjes onder het gras

HET IDEE:Er zijn ten minste 4 andere projecten op Instructables.com (vanaf mei 13, 2015) rond wijzigen of regelen van OWI robotarm. Niet verrassend, aangezien het is zo'n een grote en goedkope robot kit om mee te spelen. Dit project is vergelijkbaar
Zelfgemaakte robotarm met behulp van standaard onderdelen met behulp van de Arduino en een Processing GUI

Zelfgemaakte robotarm met behulp van standaard onderdelen met behulp van de Arduino en een Processing GUI

Ik onlangs met pensioen en werd een van de dingen die ik mezelf beloofde dat als ik met pensioen I was going to voltooien van alle projecten had ik rondrennen in mijn hoofd sinds ik een tiener was. Dat is ongeveer 50 jaar of zo van projecten. In die
Mobiele robotarm met behulp van PHIRO + Arduino

Mobiele robotarm met behulp van PHIRO + Arduino

We zijn terug met een ander leerprogramma om u te tonen hoe zet PHIRO Pro in een koele mobiele robotarm die kunt halen en spullen plaatsen! Vergelijkbaar met onze vorige PHIRO Arduino kleur sensor instructable, we gaan gebruiken Pocket Code op een An
Interactieve pad volgende robotarm met behulp van pfodApp

Interactieve pad volgende robotarm met behulp van pfodApp

IntroductieDit instructable is extensie op Afstand gecontroleerde robotarm met behulp van pfodApp , waarmee u interactief programma een complex pad voor uw robotarm en vervolgens hebben de arm de gedefinieerde pad doorlopen.Installeer enkel de recent
Handgesture gecontroleerd robot met robotarm

Handgesture gecontroleerd robot met robotarm

Met deze robot controleert u alles met uw hand, zelfs de robotarm!De handgebaren kunnen anders worden geprogrammeerd.Lange afstand met Xbee communicatieboekjes!Stap 1: Onderdelen die nodig zijnArduino Uno x2- http://store.arduino.cc/index.php?main_pa
Fysiotherapeut robotarm...

Fysiotherapeut robotarm...

He mensen! Ik ben Nirzaree, een student elektronica engineering uit India.Me en mijn kamergenoten hebben gemaakt een zeer eenvoudige robotarm die patiënten met hun fysiotherapie oefeningen helpen kan... !Het maakt gebruik van een controller boord, at
Robotarm met servomotoren

Robotarm met servomotoren

onderdeel van mijn promotieonderzoek bij NYU-Poly impliceert het voorspellen van energieverbruik in Robotsystemen, dus ik nodig een robot-systeem om te werken met als een onderzoeksplatform voor het valideren van resultaten.  Dus ik ervan overtuigd m
Controle van een OWI robotarm met Arduino

Controle van een OWI robotarm met Arduino

de OWI rand robotarm is een goedkope en geweldig 5-mate-van-vrijheid robotic arm dat alleen kost $37. Het is een grote kit met een kind op te bouwen en meer dan een paar uur tot finish zal niet duren. Uit de doos, kan het alleen worden gecontroleerd
Joystick gecontroleerd robotarm met behulp van een Arduino

Joystick gecontroleerd robotarm met behulp van een Arduino

Doel en beschrijving van deze handleidingDit instructable is een hand-in voor een schoolproject die we gemaakt. Het doel van dit project was een robot-arm besturingselement met thumbsticks maken. Moesten we gebruik maken van een Arduino Uno voor het
Autonome Gripforce stabilisator robotarm

Autonome Gripforce stabilisator robotarm

De Autonome Gripforce stabilisator robotarm is een robotarm staat de exacte hoeveelheid druk die nodig is om op te halen elk object zonder breken, noch neer te zetten, zoals u in de video zien kunt toe te passen. Eerst is aangetoond in de handmatige
BT mobiele Ctrl Trunk robotarm met behulp van String

BT mobiele Ctrl Trunk robotarm met behulp van String

Kofferbak robotarm is een kunst in moderne robotica. Wel kunnen spin en brei als het artistieke. Alle robotica geïnspireerd zijn geïnspireerd door levende dingen, in deze volgorde Trunk robotica geïnspireerd door olifant en slang. Ik probeer hier te
Actobotics Custom robotarm

Actobotics Custom robotarm

Hallo iedereen.Het doel van dit project is het bouwen van een aangepaste robotarm met delen van Servocity / Actobotics. Ik weet er zijn een heleboel robotarm tutorials daarboven, maar mijn doel is gebouwd een heavy-duty arm die kan worden gebruikt vo