Stap 5: Code
Code:
/*
Google Science Fair vermelding: Exoskeletal wapens met behulp van Artifitial spier
Deze code zal een artifitial spier contract wanneer een knop wordt ingedrukt. het creëert een één seconde
pulsen, zodat de draad meer dan Verwarming, alsof het aanbod een constante stroom die de draad zou oververhitting
en zou zelf smelten, smelten de spier, of vernietigen van de batterij. Dit zou niet heel goed
voor de gebruiker.
Er zijn vier spieren en twee knoppen.
Het circuit:
* mosfetA poort pin(muscleA) op pin 12
* mosfetB poort pin(MuscleB) op pin 13
* mosfetC poort pin(MuscleC) op pin 2
* mosfetD poort pin(MuscleD) op pin 7
* buttonA aangesloten op pin 9 en + 5v
* buttonB attavhed op pin 4 en + 5v
* 10 k ohm weerstand aangesloten op pin 9 en bodem
* 10 k ohm weerstand aangesloten op pin 4 en bodem
* nota's:
-spieren ues warmte om te contract
-mosfets uitgevoerd op 6 tot en met 12 afhankelijk van het resultaat van de vergelijking
-staaldraad wordt gebruikt voor het opwarmen van de spieren
gemaakte 2015
door Anders B-L for the Google Science Fair 2015
laatst bewerkt 3/17/2015
*/
constante gehele getallen
Const int buttonA = 9; //pin 9 heet nu buttonA
Const int buttonB = 4; //pin 4 heet nu buttonB
Const int muscleA = 12; //pin 12 heet nu muscleA
Const int muscleB = 13; //pin 13 heet nu muscleB
Const int muscleC = 2; //pin 2 heet nu muscleC
Const int gespierd = 7; //pin 7 heet nu gespierd
gehele getallen
int buttonStateA = 0; //buttonStateA nu gelijk is aan nul
int buttonStateB = 0; //buttonStateB nu gelijk is aan nul
waar u al uw vriables declareren
VOID Setup {}
uitgangen
pinMode (muscleA, OUTPUT); //declares muscleA een uitgang
pinMode (muscleB, OUTPUT); //declares muscleB een uitgang
pinMode (muscleC, OUTPUT); //declares muscleC een uitgang
pinMode (gespierd, uitgang); //declares gespierd met een vermogen
ingangen
pinMode (buttonA, INPUT); buttonA verklaart als input
pinMode (buttonB, INPUT); //declares buttonB als een input
}
creëert een herhalende lus
void loop {}
Lees de status van de knop
{buttonStateA = digitalRead(buttonA);
het controleert de status van de knop
Als de knop is ingedrukt, muscleA zal comprimeren en muscleB zal losraken
Als (buttonStateA == HIGH) {}
muscleA brandt, muscleB is uitgeschakeld
digitalWrite (muscleA, hoge);
digitalWrite (muscleB, laag);
vertraging (1000); //pause gedurende 1 seconde
digitalWrite (muscleA, laag);
digitalWrite (muscleB, laag);
delay(100); / / 100 milliseconden wacht
}
Als de knop niet is ingedrukt, muscleB zal comprimeren en muscleA zal losraken
else {}
muscleA is uitgeschakeld, muscleB is op
digitalWrite (muscleA, laag);
digitalWrite (muscleB, hoge);
vertraging (1000); //pause gedurende 1 seconde
digitalWrite (muscleA, laag);
digitalWrite (muscleB, laag);
delay(100); / / 100 milliseconden wacht
}
}
doet hetzelfde als het eerste deel, gewoon met de andere arm
{buttonStateB = digitalRead(buttonB);
Als (buttonStateB == HIGH) {}
digitalWrite (muscleC, hoge);
digitalWrite (gespierd, laag);
vertraging (1000); //pause gedurende 1 seconde
digitalWrite (muscleC, laag);
digitalWrite (gespierd, laag);
delay(100); / / 100 milliseconden wacht
}
else {}
digitalWrite (muscleC, laag);
digitalWrite (gespierd, hoog);
vertraging (1000); //pause gedurende 1 seconde
digitalWrite (muscleC, laag);
digitalWrite (gespierd, laag);
delay(100); pauze voor 100 milliseconden
}
}
} //closes script
De volgende code is geschreven in C/C++, van de Arduino wordt gebruikt voor het besturen van de spieren. Pulsen uit te leggen wat er gebeurt met de Arduino ongeletterde mensen, de spier in de onderkant van de arm wordt verzonden 1 seconde te houden de staaldraad op 150 degrees(f). Als de gebruikers arm liften dan een knop is ingedrukt waardoor de onderkant spier te stoppen verdragsluitende en top spier om te beginnen met het ontvangen van die 1 seconde pulsen dus aanbestedende, en bewegen met de arm te helpen de gebruiker lift voorwerpen. Deze code is geschreven om te werken met twee armen (vier spieren) en twee knoppen.