Mekanisk Arm (4 / 4 steg)
Steg 4: Ändra det för att göra det kan styra den mekaniska arm av Bluetooth
Naturligtvis, använder vi inte dessa funktioner för att styra LED. Så vi ändra styra den till göra den den mekaniska arm av Bluetooth. Nu lista jag ut funktioner om klass av ElecfreaksCar:
getRoll(); Det kommer att returnera data av rulle, från 0 till 250
getPitch(); Det kommer att returnera data av planen, från 0 till 250 setFun (void (* Function)()); Det kommer att köras meningen i funktion när användaren trycker på knappen av APP.
Detta är program om den mekaniska arm häxa är skriven av mig. Och du kan ändra den för att skapa själv program för mekanisk arm.
< p > < br > "ElecfreaksCar.h" < /p >< p > #include #include
"Servo.h < /p >< p > ElecfreaksCar BluetoothModule; definiera < br > en variabel av klass av ElecfreaksCar som namnges BluetoothModule < /p >< p > Servo Servo_Roll; Detta är ett servo som att vända riktning < /p >< p > Servo Servo_Distance; Detta är ett servo som skall styra avståndet mellan machanical hand och object. < /p >< p > Servo Servo_Catch; Detta är ett servo som skall styra den manchanical handen för att fånga eller låt gå. < /p >< p > float < br > P = 125,00; Detta är värde av Beck. Detta
värdet är mitt värde när vippan i mitten < /p >< p > flyta
R = 125,00; Detta är värde av rulle. Detta
värdet är mittersta värdet när vippan i mitten < /p >< p > unsigned char
Flag_Catch = 0; Detta är en flagga om
om machanical hand fångsten eller inte < /p >< p > void < br > Button() är //This funktion att köras
När användaren pekar på knappen av APP < /p >< p > {< /p >< p > if(Flag_Catch == 1) < /p >< p > {< /p >< p > Servo_Catch.write(0); //Catch < /p >< p > Flag_Catch = 0; < /p >< p >} < /p >< p > annat < /p >< p > {< /p >< p > Servo_Catch.write(90); //let gå < /p >< p > Flag_Catch = 1; < /p >< p >} < /p >< p >} < /p >< p > void < br > setup() < /p >< p > {< /p >< p > Serial.begin(115200); //baud rate < /p >< p > BluetoothModule.setFun(Button); //The arduino kommer att köra funktionen som är
i parametern. Här, det kommer att köras funktionen av "Knappen" < /p >< p > Servo_Catch.attach(2); servo av fångsten är ansluten med stift D2 < /p >< p > Servo_Distance.attach(4); servo för att kontrollera avståndet mellan
machanical hand och objektet är ansluten med pin D4 < /p >< p > Servo_Roll.attach(5); servo för att kontrollera riktning är
i samband med pin D5 < /p >< p >} < /p >< p > void
loop() < /p >< p > {< /p >< p > while(Serial.available()) //if det finns några uppgifter kommer från bluetooth,
Det kommer i funktion medan < /p >< p > {< /p >< p > uint8_t c = Serial.read(); //read datan av seriella com < /p >< p > BluetoothModule.recievedData (& c,
1). ta emot data < /p >< p >
P=(float)BluetoothModule.getPitch();
få data av Beck < /p >< p >
R=(float)BluetoothModule.getRoll();
få data av rulle < /p >< p > P = P * < br > 0,72; Detta är viktigt. värdet av
vippan av APP är från 0 till 250, men graden av servo är från 0 grader till
180 grader. < /P >< p > //So måste vi den
värdet av pitch multiplikativ (180/250). < /p >< p > R
= R * 0,72; samma som pitch < /p >< p >} < /p >< p > Servo_Distance.write((int)P); gör servo att köra graden < /p >< p > Servo_Roll.write((int)R); < /p >< p >} < /p >
ElecfreaksCar
Ladda ner APP:
http://www.elecfreaks.com/wiki/index.php?title=Blu...
Bibliotek Hämta:
http://www.elecfreaks.com/eStore/Download/Librarie...
För mer DIY elektronik projekt, besök oss på: http://www.elecfreaks.com/page/1