Stap 10: codering
De volgende is de code die worden geüpload naar de Arduino moet te exploiteren de nutteloze machine...
Houd er rekening mee dat de opmerkingen zijn verwijderd om de code beter leesbaar te maken, ze zijn echter opgenomen in het bijgevoegde bestand
#include
int flipswitch = 8;
Servo servoarm;
int endstop = 10;
int servopos = 100;
int flippos = 101;
int endstoppos = 102;
int servohome = 104;
void setup)
{
pinMode (flipswitch, INPUT);
pinMode (endstop, INPUT);
Serial.begin(9600);
servoarm.attach(9);
}
void loop)
{
endstoppos = digitalRead(endstop);
servopos = servoarm.read();
flippos = digitalRead(flipswitch);
terwijl (endstoppos == laag)
{
voor (servopos = servoarm.read(); endstoppos == laag; servopos--)
{
servoarm.write(servopos);
vertraging(20);
Serial.println("Calibrating...");
endstoppos = digitalRead(endstop);
servohome = servopos;
flippos = digitalRead(flipswitch);
}
}
flippos = digitalRead(flipswitch);
Als (flippos == laag)
{
servopos = servoarm.read();
terwijl (flippos == laag)
{
servopos ++;
flippos = digitalRead(flipswitch);
servoarm.write(servopos);
delay(10);
Serial.println("Revenge!!!");
}
servoarm.write(servohome);
}
anders
{
Serial.println ("Flip the switch om te getuigen van de nutteloosheid");
}
vertraging(20);
}
De functie van dit programma is gebaseerd op het feit dat er een eindstopper geïnstalleerd, als je wilt om je machine zonder een eindstopper, u moeten verwijderen van de homing functie zoals benadrukt in het bestand van de Arduino, en in plaats daarvan het huis ingesteld op een bepaalde positie van de servo, verwijzen naar de Arduino Servo- pagina voor hulp.
De manier waarop de functies van deze code is door de eerste homing de servo arm, door gebruik te maken van de micro-switch, wordt dit standpunt vervolgens opgeslagen voor later gebruik. Het programma voortdurend gecontroleerd op wijzigingen in de tuimelschakelaar positie, wanneer de schakelaar is omgedraaid, de servo arm zal blijven draaien totdat de schakelaar is gespiegeld, en omdat er geen genoemde positie, deze code kan theoretisch worden gebruikt op alle soortgelijke nutteloos machines, zonder enige mechanische voorkeur.