Quadruped robot
FreeCAD parts of quadruped robot
After Width: | Height: | Size: 222 KiB |
BIN
Robotic Parts/Quadruped robot/01 FCStd/quad_robot_body_top.FCStd
Normal file
BIN
Robotic Parts/Quadruped robot/01 FCStd/quad_robot_furmer.FCStd
Normal file
BIN
Robotic Parts/Quadruped robot/02 STL/SP-08-complete-model.stl
Normal file
BIN
Robotic Parts/Quadruped robot/02 STL/quad_robot_body_bottom.stl
Normal file
BIN
Robotic Parts/Quadruped robot/02 STL/quad_robot_body_top.stl
Normal file
BIN
Robotic Parts/Quadruped robot/02 STL/quad_robot_coxa_left.stl
Normal file
BIN
Robotic Parts/Quadruped robot/02 STL/quad_robot_coxa_right.stl
Normal file
BIN
Robotic Parts/Quadruped robot/02 STL/quad_robot_furmer.stl
Normal file
BIN
Robotic Parts/Quadruped robot/02 STL/quad_robot_tibia_left.stl
Normal file
BIN
Robotic Parts/Quadruped robot/02 STL/quad_robot_tibia_right.stl
Normal file
|
@ -0,0 +1,74 @@
|
|||
G04 ---------------------------- Layer name :KeepOutLayer*
|
||||
G04 EasyEDA v5.5.11, Sun, 03 Jun 2018 10:16:40 GMT*
|
||||
G04 422a67246ae34fc7a473e8fc002879eb*
|
||||
G04 Gerber Generator version 0.2*
|
||||
G04 Scale: 100 percent, Rotated: No, Reflected: No *
|
||||
G04 Dimensions in millimeters *
|
||||
G04 leading zeros omitted , absolute positions ,3 integer and 3 decimal *
|
||||
%FSLAX33Y33*%
|
||||
%MOMM*%
|
||||
G90*
|
||||
G71D02*
|
||||
|
||||
%ADD10C,0.254000*%
|
||||
G54D10*
|
||||
G01X73152Y32766D02*
|
||||
G01X70866Y30988D01*
|
||||
G01X69850Y30226D01*
|
||||
G01X67818Y28702D01*
|
||||
G01X51054Y17780D01*
|
||||
G01X45720Y21082D01*
|
||||
G01X37338Y26670D01*
|
||||
G01X28956Y32258D01*
|
||||
G01X28956Y32258D02*
|
||||
G01X22860Y31496D01*
|
||||
G01X22606Y31242D01*
|
||||
G01X19558Y28448D01*
|
||||
G01X16764Y24892D01*
|
||||
G01X13716Y20320D01*
|
||||
G01X11938Y17018D01*
|
||||
G01X9906Y13970D01*
|
||||
G01X7366Y8128D01*
|
||||
G01X5080Y1778D01*
|
||||
G01X3810Y0D01*
|
||||
G01X2390Y2364D01*
|
||||
G01X1270Y9906D01*
|
||||
G01X0Y27178D01*
|
||||
G01X1270Y37084D01*
|
||||
G01X3556Y47752D01*
|
||||
G01X7112Y57912D01*
|
||||
G01X11684Y67310D01*
|
||||
G01X17018Y75946D01*
|
||||
G01X25146Y68072D01*
|
||||
G01X32004Y62230D01*
|
||||
G01X33274Y61468D01*
|
||||
G01X34798Y61468D01*
|
||||
G01X43434Y67310D01*
|
||||
G01X50800Y71882D01*
|
||||
G01X55372Y69342D01*
|
||||
G01X67056Y61722D01*
|
||||
G01X68072Y61468D01*
|
||||
G01X68580Y61468D01*
|
||||
G01X69850Y62484D01*
|
||||
G01X81280Y72390D01*
|
||||
G01X83058Y74168D01*
|
||||
G01X84582Y75946D01*
|
||||
G01X86868Y72898D01*
|
||||
G01X93980Y59944D01*
|
||||
G01X99568Y43688D01*
|
||||
G01X100838Y35306D01*
|
||||
G01X101600Y27178D01*
|
||||
G01X100838Y9906D01*
|
||||
G01X97790Y0D01*
|
||||
G01X93218Y10668D01*
|
||||
G01X90170Y16510D01*
|
||||
G01X86868Y22352D01*
|
||||
G01X82222Y29029D01*
|
||||
G01X80772Y30988D01*
|
||||
G01X80010Y31750D01*
|
||||
G01X79286Y31965D01*
|
||||
G01X73152Y32766D01*
|
||||
|
||||
%LPD*%
|
||||
M00*
|
||||
M02*
|
6991
Robotic Parts/Quadruped robot/03 Board/Gerber_BottomLayer.GBL
Normal file
8302
Robotic Parts/Quadruped robot/03 Board/Gerber_BottomSilkLayer.GBO
Normal file
|
@ -0,0 +1,141 @@
|
|||
G04 ---------------------------- Layer name :BOTTOM SOLDER LAYER*
|
||||
G04 EasyEDA v5.5.11, Sun, 03 Jun 2018 10:16:40 GMT*
|
||||
G04 422a67246ae34fc7a473e8fc002879eb*
|
||||
G04 Gerber Generator version 0.2*
|
||||
G04 Scale: 100 percent, Rotated: No, Reflected: No *
|
||||
G04 Dimensions in millimeters *
|
||||
G04 leading zeros omitted , absolute positions ,3 integer and 3 decimal *
|
||||
%FSLAX33Y33*%
|
||||
%MOMM*%
|
||||
G90*
|
||||
G71D02*
|
||||
|
||||
%ADD16R,1.981200X1.981200*%
|
||||
%ADD17C,1.981200*%
|
||||
%ADD38R,1.778000X1.778000*%
|
||||
%ADD39C,1.778000*%
|
||||
%ADD40C,3.203194*%
|
||||
%ADD41C,1.503197*%
|
||||
|
||||
%LPD*%
|
||||
G54D16*
|
||||
G01X71628Y52832D03*
|
||||
G54D17*
|
||||
G01X69088Y52832D03*
|
||||
G01X66548Y52832D03*
|
||||
G01X64008Y52832D03*
|
||||
G01X61468Y52832D03*
|
||||
G01X58928Y52832D03*
|
||||
G01X56388Y52832D03*
|
||||
G01X53848Y52832D03*
|
||||
G01X51308Y52832D03*
|
||||
G01X48768Y52832D03*
|
||||
G01X46228Y52832D03*
|
||||
G01X43688Y52832D03*
|
||||
G01X41148Y52832D03*
|
||||
G01X38608Y52832D03*
|
||||
G01X36068Y52832D03*
|
||||
G01X71628Y37592D03*
|
||||
G01X69088Y37592D03*
|
||||
G01X66548Y37592D03*
|
||||
G01X64008Y37592D03*
|
||||
G01X61468Y37592D03*
|
||||
G01X58928Y37592D03*
|
||||
G01X56388Y37592D03*
|
||||
G01X53848Y37592D03*
|
||||
G01X51308Y37592D03*
|
||||
G01X48768Y37592D03*
|
||||
G01X46228Y37592D03*
|
||||
G01X43688Y37592D03*
|
||||
G01X41148Y37592D03*
|
||||
G01X38608Y37592D03*
|
||||
G01X36068Y37592D03*
|
||||
G54D38*
|
||||
G01X89154Y35560D03*
|
||||
G54D39*
|
||||
G01X91694Y35560D03*
|
||||
G01X94234Y35560D03*
|
||||
G01X96774Y35560D03*
|
||||
G54D38*
|
||||
G01X15494Y36830D03*
|
||||
G54D39*
|
||||
G01X18034Y36830D03*
|
||||
G01X20574Y36830D03*
|
||||
G01X23114Y36830D03*
|
||||
G01X8890Y28702D03*
|
||||
G01X6350Y28702D03*
|
||||
G54D38*
|
||||
G01X3810Y28702D03*
|
||||
G54D39*
|
||||
G01X8890Y23622D03*
|
||||
G01X6350Y23622D03*
|
||||
G54D38*
|
||||
G01X3810Y23622D03*
|
||||
G54D39*
|
||||
G01X8890Y18542D03*
|
||||
G01X6350Y18542D03*
|
||||
G54D38*
|
||||
G01X3810Y18542D03*
|
||||
G54D39*
|
||||
G01X19304Y63500D03*
|
||||
G01X16764Y63500D03*
|
||||
G54D38*
|
||||
G01X14224Y63500D03*
|
||||
G54D39*
|
||||
G01X19304Y58420D03*
|
||||
G01X16764Y58420D03*
|
||||
G54D38*
|
||||
G01X14224Y58420D03*
|
||||
G54D39*
|
||||
G01X19304Y53340D03*
|
||||
G01X16764Y53340D03*
|
||||
G54D38*
|
||||
G01X14224Y53340D03*
|
||||
G54D39*
|
||||
G01X97536Y28956D03*
|
||||
G01X94996Y28956D03*
|
||||
G54D38*
|
||||
G01X92456Y28956D03*
|
||||
G54D39*
|
||||
G01X97536Y23876D03*
|
||||
G01X94996Y23876D03*
|
||||
G54D38*
|
||||
G01X92456Y23876D03*
|
||||
G54D39*
|
||||
G01X97536Y18796D03*
|
||||
G01X94996Y18796D03*
|
||||
G54D38*
|
||||
G01X92456Y18796D03*
|
||||
G54D39*
|
||||
G01X85598Y65532D03*
|
||||
G01X83058Y65532D03*
|
||||
G54D38*
|
||||
G01X80518Y65532D03*
|
||||
G54D39*
|
||||
G01X85598Y60452D03*
|
||||
G01X83058Y60452D03*
|
||||
G54D38*
|
||||
G01X80518Y60452D03*
|
||||
G54D39*
|
||||
G01X85598Y55372D03*
|
||||
G01X83058Y55372D03*
|
||||
G54D38*
|
||||
G01X80518Y55372D03*
|
||||
G54D40*
|
||||
G01X90678Y42418D03*
|
||||
G01X90678Y47416D03*
|
||||
G54D41*
|
||||
G01X53014Y66548D03*
|
||||
G01X51308Y66548D03*
|
||||
G01X49657Y66548D03*
|
||||
G01X48016Y66548D03*
|
||||
G01X53522Y22606D03*
|
||||
G01X51816Y22606D03*
|
||||
G01X50165Y22606D03*
|
||||
G01X48524Y22606D03*
|
||||
G01X83494Y45720D03*
|
||||
G01X81788Y45720D03*
|
||||
G01X80137Y45720D03*
|
||||
G01X78496Y45720D03*
|
||||
M00*
|
||||
M02*
|
7680
Robotic Parts/Quadruped robot/03 Board/Gerber_TopLayer.GTL
Normal file
|
@ -0,0 +1,24 @@
|
|||
G04 ---------------------------- Layer name :TOP PASTER LAYER*
|
||||
G04 EasyEDA v5.5.11, Sun, 03 Jun 2018 10:16:40 GMT*
|
||||
G04 422a67246ae34fc7a473e8fc002879eb*
|
||||
G04 Gerber Generator version 0.2*
|
||||
G04 Scale: 100 percent, Rotated: No, Reflected: No *
|
||||
G04 Dimensions in millimeters *
|
||||
G04 leading zeros omitted , absolute positions ,3 integer and 3 decimal *
|
||||
%FSLAX33Y33*%
|
||||
%MOMM*%
|
||||
G90*
|
||||
G71D02*
|
||||
|
||||
%ADD13R,1.160018X1.469898*%
|
||||
|
||||
%LPD*%
|
||||
G54D13*
|
||||
G01X20574Y44958D03*
|
||||
G01X22606Y44958D03*
|
||||
G01X14986Y44958D03*
|
||||
G01X17018Y44958D03*
|
||||
G01X9906Y45212D03*
|
||||
G01X11938Y45212D03*
|
||||
M00*
|
||||
M02*
|
9228
Robotic Parts/Quadruped robot/03 Board/Gerber_TopSilkLayer.GTO
Normal file
|
@ -0,0 +1,149 @@
|
|||
G04 ---------------------------- Layer name :TOP SOLDER LAYER*
|
||||
G04 EasyEDA v5.5.11, Sun, 03 Jun 2018 10:16:40 GMT*
|
||||
G04 422a67246ae34fc7a473e8fc002879eb*
|
||||
G04 Gerber Generator version 0.2*
|
||||
G04 Scale: 100 percent, Rotated: No, Reflected: No *
|
||||
G04 Dimensions in millimeters *
|
||||
G04 leading zeros omitted , absolute positions ,3 integer and 3 decimal *
|
||||
%FSLAX33Y33*%
|
||||
%MOMM*%
|
||||
G90*
|
||||
G71D02*
|
||||
|
||||
%ADD13R,1.363218X1.673098*%
|
||||
%ADD14R,1.981200X1.981200*%
|
||||
%ADD15C,1.981200*%
|
||||
%ADD16R,1.778000X1.778000*%
|
||||
%ADD17C,1.778000*%
|
||||
%ADD18C,3.203194*%
|
||||
%ADD19C,1.503197*%
|
||||
|
||||
%LPD*%
|
||||
G54D14*
|
||||
G01X71628Y52832D03*
|
||||
G54D15*
|
||||
G01X69088Y52832D03*
|
||||
G01X66548Y52832D03*
|
||||
G01X64008Y52832D03*
|
||||
G01X61468Y52832D03*
|
||||
G01X58928Y52832D03*
|
||||
G01X56388Y52832D03*
|
||||
G01X53848Y52832D03*
|
||||
G01X51308Y52832D03*
|
||||
G01X48768Y52832D03*
|
||||
G01X46228Y52832D03*
|
||||
G01X43688Y52832D03*
|
||||
G01X41148Y52832D03*
|
||||
G01X38608Y52832D03*
|
||||
G01X36068Y52832D03*
|
||||
G01X71628Y37592D03*
|
||||
G01X69088Y37592D03*
|
||||
G01X66548Y37592D03*
|
||||
G01X64008Y37592D03*
|
||||
G01X61468Y37592D03*
|
||||
G01X58928Y37592D03*
|
||||
G01X56388Y37592D03*
|
||||
G01X53848Y37592D03*
|
||||
G01X51308Y37592D03*
|
||||
G01X48768Y37592D03*
|
||||
G01X46228Y37592D03*
|
||||
G01X43688Y37592D03*
|
||||
G01X41148Y37592D03*
|
||||
G01X38608Y37592D03*
|
||||
G01X36068Y37592D03*
|
||||
G54D16*
|
||||
G01X89154Y35560D03*
|
||||
G54D17*
|
||||
G01X91694Y35560D03*
|
||||
G01X94234Y35560D03*
|
||||
G01X96774Y35560D03*
|
||||
G54D16*
|
||||
G01X15494Y36830D03*
|
||||
G54D17*
|
||||
G01X18034Y36830D03*
|
||||
G01X20574Y36830D03*
|
||||
G01X23114Y36830D03*
|
||||
G01X8890Y28702D03*
|
||||
G01X6350Y28702D03*
|
||||
G54D16*
|
||||
G01X3810Y28702D03*
|
||||
G54D17*
|
||||
G01X8890Y23622D03*
|
||||
G01X6350Y23622D03*
|
||||
G54D16*
|
||||
G01X3810Y23622D03*
|
||||
G54D17*
|
||||
G01X8890Y18542D03*
|
||||
G01X6350Y18542D03*
|
||||
G54D16*
|
||||
G01X3810Y18542D03*
|
||||
G54D17*
|
||||
G01X19304Y63500D03*
|
||||
G01X16764Y63500D03*
|
||||
G54D16*
|
||||
G01X14224Y63500D03*
|
||||
G54D17*
|
||||
G01X19304Y58420D03*
|
||||
G01X16764Y58420D03*
|
||||
G54D16*
|
||||
G01X14224Y58420D03*
|
||||
G54D17*
|
||||
G01X19304Y53340D03*
|
||||
G01X16764Y53340D03*
|
||||
G54D16*
|
||||
G01X14224Y53340D03*
|
||||
G54D17*
|
||||
G01X97536Y28956D03*
|
||||
G01X94996Y28956D03*
|
||||
G54D16*
|
||||
G01X92456Y28956D03*
|
||||
G54D17*
|
||||
G01X97536Y23876D03*
|
||||
G01X94996Y23876D03*
|
||||
G54D16*
|
||||
G01X92456Y23876D03*
|
||||
G54D17*
|
||||
G01X97536Y18796D03*
|
||||
G01X94996Y18796D03*
|
||||
G54D16*
|
||||
G01X92456Y18796D03*
|
||||
G54D17*
|
||||
G01X85598Y65532D03*
|
||||
G01X83058Y65532D03*
|
||||
G54D16*
|
||||
G01X80518Y65532D03*
|
||||
G54D17*
|
||||
G01X85598Y60452D03*
|
||||
G01X83058Y60452D03*
|
||||
G54D16*
|
||||
G01X80518Y60452D03*
|
||||
G54D17*
|
||||
G01X85598Y55372D03*
|
||||
G01X83058Y55372D03*
|
||||
G54D16*
|
||||
G01X80518Y55372D03*
|
||||
G54D18*
|
||||
G01X90678Y42418D03*
|
||||
G01X90678Y47416D03*
|
||||
G54D13*
|
||||
G01X20574Y44958D03*
|
||||
G01X22606Y44958D03*
|
||||
G01X14986Y44958D03*
|
||||
G01X17018Y44958D03*
|
||||
G01X9906Y45212D03*
|
||||
G01X11938Y45212D03*
|
||||
G54D19*
|
||||
G01X53014Y66548D03*
|
||||
G01X51308Y66548D03*
|
||||
G01X49657Y66548D03*
|
||||
G01X48016Y66548D03*
|
||||
G01X53522Y22606D03*
|
||||
G01X51816Y22606D03*
|
||||
G01X50165Y22606D03*
|
||||
G01X48524Y22606D03*
|
||||
G01X83494Y45720D03*
|
||||
G01X81788Y45720D03*
|
||||
G01X80137Y45720D03*
|
||||
G01X78496Y45720D03*
|
||||
M00*
|
||||
M02*
|
14
Robotic Parts/Quadruped robot/03 Board/Gerber_drill_NPTH.DRL
Normal file
|
@ -0,0 +1,14 @@
|
|||
;NPTH Drill file created by EasyEDA
|
||||
M48
|
||||
METRIC,LZ,000.000
|
||||
;Holesize 1 = 3.000 METRIC
|
||||
T01C3.000
|
||||
%
|
||||
G05
|
||||
G90
|
||||
T01
|
||||
X017272Y069342
|
||||
X096520Y013208
|
||||
X004826Y011176
|
||||
X084582Y070866
|
||||
M30
|
119
Robotic Parts/Quadruped robot/03 Board/Gerber_drill_PTH.DRL
Normal file
|
@ -0,0 +1,119 @@
|
|||
;PTH Drill file created by EasyEDA
|
||||
M48
|
||||
METRIC,LZ,000.000
|
||||
;Holesize 1 = 0.306 METRIC
|
||||
T01C0.306
|
||||
;Holesize 2 = 0.701 METRIC
|
||||
T02C0.701
|
||||
;Holesize 3 = 0.889 METRIC
|
||||
T03C0.889
|
||||
;Holesize 4 = 0.915 METRIC
|
||||
T04C0.915
|
||||
;Holesize 5 = 1.701 METRIC
|
||||
T05C1.701
|
||||
%
|
||||
G05
|
||||
G90
|
||||
T01
|
||||
X038661Y059761
|
||||
X036926Y035659
|
||||
X036118Y041658
|
||||
X029222Y041341
|
||||
X020670Y033080
|
||||
X013350Y045212
|
||||
X071059Y039070
|
||||
X057645Y051163
|
||||
X074467Y056619
|
||||
T02
|
||||
X053014Y066548
|
||||
X051308Y066548
|
||||
X049657Y066548
|
||||
X048016Y066548
|
||||
X053522Y022606
|
||||
X051816Y022606
|
||||
X050165Y022606
|
||||
X048524Y022606
|
||||
X083494Y045720
|
||||
X081788Y045720
|
||||
X080137Y045720
|
||||
X078496Y045720
|
||||
T03
|
||||
X089154Y035560
|
||||
X091694Y035560
|
||||
X094234Y035560
|
||||
X096774Y035560
|
||||
X015494Y036830
|
||||
X018034Y036830
|
||||
X020574Y036830
|
||||
X023114Y036830
|
||||
X008890Y028702
|
||||
X006350Y028702
|
||||
X003810Y028702
|
||||
X008890Y023622
|
||||
X006350Y023622
|
||||
X003810Y023622
|
||||
X008890Y018542
|
||||
X006350Y018542
|
||||
X003810Y018542
|
||||
X019304Y063500
|
||||
X016764Y063500
|
||||
X014224Y063500
|
||||
X019304Y058420
|
||||
X016764Y058420
|
||||
X014224Y058420
|
||||
X019304Y053340
|
||||
X016764Y053340
|
||||
X014224Y053340
|
||||
X097536Y028956
|
||||
X094996Y028956
|
||||
X092456Y028956
|
||||
X097536Y023876
|
||||
X094996Y023876
|
||||
X092456Y023876
|
||||
X097536Y018796
|
||||
X094996Y018796
|
||||
X092456Y018796
|
||||
X085598Y065532
|
||||
X083058Y065532
|
||||
X080518Y065532
|
||||
X085598Y060452
|
||||
X083058Y060452
|
||||
X080518Y060452
|
||||
X085598Y055372
|
||||
X083058Y055372
|
||||
X080518Y055372
|
||||
T04
|
||||
X071628Y052832
|
||||
X069088Y052832
|
||||
X066548Y052832
|
||||
X064008Y052832
|
||||
X061468Y052832
|
||||
X058928Y052832
|
||||
X056388Y052832
|
||||
X053848Y052832
|
||||
X051308Y052832
|
||||
X048768Y052832
|
||||
X046228Y052832
|
||||
X043688Y052832
|
||||
X041148Y052832
|
||||
X038608Y052832
|
||||
X036068Y052832
|
||||
X071628Y037592
|
||||
X069088Y037592
|
||||
X066548Y037592
|
||||
X064008Y037592
|
||||
X061468Y037592
|
||||
X058928Y037592
|
||||
X056388Y037592
|
||||
X053848Y037592
|
||||
X051308Y037592
|
||||
X048768Y037592
|
||||
X046228Y037592
|
||||
X043688Y037592
|
||||
X041148Y037592
|
||||
X038608Y037592
|
||||
X036068Y037592
|
||||
T05
|
||||
X090678Y042418
|
||||
X090678Y047416
|
||||
M30
|
|
@ -0,0 +1,29 @@
|
|||
// Locate the initial position of legs
|
||||
// RegisHsu 2015-09-09
|
||||
|
||||
#include <Servo.h>
|
||||
|
||||
Servo servo[4][3];
|
||||
|
||||
//define servos' ports
|
||||
const int servo_pin[4][3] = { {2, 3, 4}, {5, 6, 7}, {8, 9, 10}, {11, 12, 13} };
|
||||
|
||||
void setup()
|
||||
{
|
||||
//initialize all servos
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
for (int j = 0; j < 3; j++)
|
||||
{
|
||||
servo[i][j].attach(servo_pin[i][j]);
|
||||
delay(100);
|
||||
}
|
||||
}
|
||||
while (1);
|
||||
}
|
||||
|
||||
void loop(void)
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,336 @@
|
|||
|
||||
// SP-8 quadruped robot - 27/03/2019
|
||||
// Copyleft - Roberto Hamm - roberto-hamm@sfr.fr
|
||||
// http://robotix.ah-oui.org
|
||||
|
||||
#include <Servo.h>
|
||||
#include <IRremote.h>
|
||||
|
||||
// codes IR remote control
|
||||
#define cod_0 0x40BF
|
||||
#define cod_1 0xC03F
|
||||
#define cod_2 0xE01F
|
||||
#define cod_3 0x807F
|
||||
#define cod_4 0xD827
|
||||
#define cod_5 0x20DF
|
||||
|
||||
int IR_signal = A0;
|
||||
IRrecv irrecv(IR_signal);
|
||||
decode_results results;
|
||||
|
||||
// servo codes
|
||||
Servo servo_footA;
|
||||
Servo servo_armA;
|
||||
Servo servo_footB;
|
||||
Servo servo_armB;
|
||||
Servo servo_footC;
|
||||
Servo servo_armC;
|
||||
Servo servo_footD;
|
||||
Servo servo_armD;
|
||||
|
||||
int srv_footA = 11; // foot
|
||||
int srv_armA = 10; // arm
|
||||
int srv_footB = 9; // foot
|
||||
int srv_armB = 8; // arm
|
||||
int srv_footC = 7; // foot
|
||||
int srv_armC = 6; // arm
|
||||
int srv_footD = 5; // foot
|
||||
int srv_armD = 4; // arm
|
||||
int del = 1500;
|
||||
|
||||
int Fdw=60;
|
||||
int Fup=80;
|
||||
int Abw=70;
|
||||
int Afw=110;
|
||||
int spd=5;
|
||||
|
||||
int p13 =13;
|
||||
|
||||
void setup() {
|
||||
Serial.begin(9600);
|
||||
Serial.println("Spider-S8 : version-190418 - CASE");
|
||||
// remote control
|
||||
pinMode(IR_signal, INPUT);
|
||||
irrecv.enableIRIn();
|
||||
// servo
|
||||
servo_footA.attach(srv_footA);
|
||||
servo_armA.attach(srv_armA);
|
||||
servo_footB.attach(srv_footB);
|
||||
servo_armB.attach(srv_armB);
|
||||
servo_footC.attach(srv_footC);
|
||||
servo_armC.attach(srv_armC);
|
||||
servo_footD.attach(srv_footD);
|
||||
servo_armD.attach(srv_armD);
|
||||
|
||||
stall(); delay(1000);
|
||||
pinMode(p13, OUTPUT);
|
||||
}
|
||||
|
||||
|
||||
void loop() {
|
||||
|
||||
if (irrecv.decode(&results)) {
|
||||
unsigned int value = results.value;
|
||||
Serial.println(value, HEX);
|
||||
|
||||
switch(value){
|
||||
|
||||
|
||||
|
||||
case cod_1:
|
||||
digitalWrite(p13,HIGH);
|
||||
ROUND();
|
||||
digitalWrite(p13,LOW);
|
||||
break;
|
||||
|
||||
case cod_2:
|
||||
digitalWrite(p13,HIGH);
|
||||
WALK();
|
||||
digitalWrite(p13,LOW);
|
||||
break;
|
||||
|
||||
case cod_3:
|
||||
BLINK();
|
||||
for(int i = 0; i < 7; i++){WALK();}
|
||||
stall();
|
||||
flat_up();
|
||||
delay(1000);
|
||||
flat_dw();
|
||||
delay(1000);
|
||||
for(int i = 0; i < 7; i++){ROUND();}
|
||||
delay(500);
|
||||
stall();
|
||||
break;
|
||||
|
||||
case cod_4:
|
||||
flat_up();
|
||||
break;
|
||||
|
||||
case cod_5:
|
||||
flat_dw();
|
||||
flat_up();
|
||||
break;
|
||||
|
||||
case cod_0:
|
||||
stall();
|
||||
digitalWrite(p13,LOW);
|
||||
break;
|
||||
|
||||
} // switch
|
||||
irrecv.resume();
|
||||
}}
|
||||
|
||||
///////// grouped movements ////////////////
|
||||
|
||||
void WALK(){
|
||||
go_ahead();
|
||||
Afoup(); armAfw(); Afodw();
|
||||
Cfoup(); armCbw(); Cfodw();
|
||||
Bfoup(); armBbw(); Bfodw();
|
||||
Dfoup(); armDfw(); Dfodw();
|
||||
}
|
||||
|
||||
void ROUND(){
|
||||
armAfw();
|
||||
armBfw();
|
||||
armCfw();
|
||||
armDfw();
|
||||
Afoup(); armAbw(); Afodw();
|
||||
Bfoup(); armBbw(); Bfodw();
|
||||
Cfoup(); armCbw(); Cfodw();
|
||||
Dfoup(); armDbw(); Dfodw();
|
||||
}
|
||||
|
||||
///////// foot up-down
|
||||
|
||||
void Afoup(){
|
||||
int max=Fup+5;
|
||||
int min=Fdw+5;
|
||||
for(int i=min; i<=max; i++) {
|
||||
servo_footA.write(i);
|
||||
delay(spd);}}
|
||||
|
||||
void Bfoup(){
|
||||
int max=Fup+5;
|
||||
int min=Fdw+5;
|
||||
for(int i=min; i<=max; i++) {
|
||||
servo_footB.write(i);
|
||||
delay(spd);}}
|
||||
|
||||
void Cfoup(){
|
||||
int max=Fup+5;
|
||||
int min=Fdw+5;
|
||||
for(int i=min; i<=max; i++) {
|
||||
servo_footC.write(i);
|
||||
delay(spd);}}
|
||||
|
||||
void Dfoup(){
|
||||
int max=Fup+5;
|
||||
int min=Fdw+5;
|
||||
for(int i=min; i<=max; i++) {
|
||||
servo_footD.write(i);
|
||||
delay(spd);}}
|
||||
|
||||
void Afodw(){
|
||||
int max=Fup+5;
|
||||
int min=Fdw+5;
|
||||
for(int i=max; i>=min; i--) {
|
||||
servo_footA.write(i);
|
||||
delay(spd);}}
|
||||
|
||||
void Bfodw(){
|
||||
int max=Fup+5;
|
||||
int min=Fdw+5;
|
||||
for(int i=max; i>=min; i--) {
|
||||
servo_footB.write(i);
|
||||
delay(spd);}}
|
||||
|
||||
void Cfodw(){
|
||||
int max=Fup+5;
|
||||
int min=Fdw+5;
|
||||
for(int i=max; i>=min; i--) {
|
||||
servo_footC.write(i);
|
||||
delay(spd);}}
|
||||
|
||||
void Dfodw(){
|
||||
int max=Fup+5;
|
||||
int min=Fdw+5;
|
||||
for(int i=max; i>=min; i--) {
|
||||
servo_footD.write(i);
|
||||
delay(spd);}}
|
||||
|
||||
///////////// basic mvmnts ///////////////
|
||||
|
||||
void go_ahead(){
|
||||
spd=5;
|
||||
for(int i=Afw; i>=Abw; i--) {
|
||||
servo_armA.write(i);
|
||||
servo_armD.write(i);
|
||||
int y = Abw+Afw-i;
|
||||
servo_armC.write(y);
|
||||
servo_armB.write(y);
|
||||
delay(spd);}}
|
||||
|
||||
void flat_up(){
|
||||
int max=Fup+5;
|
||||
int min=Fdw+5;
|
||||
servo_footA.write(min);
|
||||
servo_footB.write(min);
|
||||
servo_footC.write(min);
|
||||
servo_footD.write(min);
|
||||
delay(500);
|
||||
for(int i=min; i<=max+50; i++) {
|
||||
servo_footA.write(i);
|
||||
servo_footB.write(i);
|
||||
servo_footC.write(i);
|
||||
servo_footD.write(i);
|
||||
delay(spd);}
|
||||
delay(500);
|
||||
}
|
||||
|
||||
void flat_dw(){
|
||||
int max=Fup+5;
|
||||
int min=Fdw+5;
|
||||
servo_footA.write(max);
|
||||
servo_footB.write(max);
|
||||
servo_footC.write(max);
|
||||
servo_footD.write(max);
|
||||
delay(500);
|
||||
for(int i=max; i>=min; i--) {
|
||||
servo_footA.write(i);
|
||||
servo_footB.write(i);
|
||||
servo_footC.write(i);
|
||||
servo_footD.write(i);
|
||||
delay(spd);}
|
||||
delay(500);
|
||||
}
|
||||
|
||||
///////////////////////////
|
||||
|
||||
// single arm mvt A
|
||||
void armAfw(){
|
||||
int min=Abw+0;
|
||||
int max=Afw+0;
|
||||
for(int i=min; i<=max; i++) {
|
||||
servo_armA.write(i);
|
||||
delay(spd);
|
||||
}}
|
||||
|
||||
void armAbw(){
|
||||
int min=Abw+0;
|
||||
int max=Afw+0;
|
||||
for(int i=max; i>=min; i--) {
|
||||
servo_armA.write(i);
|
||||
delay(spd);
|
||||
}}
|
||||
|
||||
// single arm mvt B
|
||||
void armBfw(){
|
||||
int min=Abw+0;
|
||||
int max=Afw+0;
|
||||
for(int i=min; i<=max; i++) {
|
||||
servo_armB.write(i);
|
||||
delay(spd);
|
||||
}}
|
||||
|
||||
void armBbw(){
|
||||
int min=Abw+0;
|
||||
int max=Afw+0;
|
||||
for(int i=max; i>=min; i--) {
|
||||
servo_armB.write(i);
|
||||
delay(spd);
|
||||
}}
|
||||
|
||||
// single arm mvt C
|
||||
void armCfw(){
|
||||
int min=Abw+0;
|
||||
int max=Afw+0;
|
||||
for(int i=min; i<=max; i++) {
|
||||
servo_armC.write(i);
|
||||
delay(spd);
|
||||
}}
|
||||
|
||||
void armCbw(){
|
||||
int min=Abw+0;
|
||||
int max=Afw+0;
|
||||
for(int i=max; i>=min; i--) {
|
||||
servo_armC.write(i);
|
||||
delay(spd);
|
||||
}}
|
||||
|
||||
// single arm mvt D
|
||||
void armDfw(){
|
||||
int min=Abw+0;
|
||||
int max=Afw+0;
|
||||
for(int i=min; i<=max; i++) {
|
||||
servo_armD.write(i);
|
||||
delay(spd);
|
||||
}}
|
||||
|
||||
void armDbw(){
|
||||
int min=Abw+0;
|
||||
int max=Afw+0;
|
||||
for(int i=max; i>=min; i--) {
|
||||
servo_armD.write(i);
|
||||
delay(spd);
|
||||
}}
|
||||
|
||||
|
||||
void stall(){
|
||||
BLINK();
|
||||
servo_armA.write(90);servo_footA.write(60);
|
||||
servo_armB.write(90);servo_footB.write(60);
|
||||
servo_armC.write(90);servo_footC.write(60);
|
||||
servo_armD.write(90);servo_footD.write(60);
|
||||
digitalWrite(p13,HIGH);
|
||||
}
|
||||
|
||||
void BLINK(){
|
||||
for(int i=0; i<3; i++){
|
||||
digitalWrite(p13,HIGH);
|
||||
delay(100);
|
||||
digitalWrite(p13,LOW);
|
||||
delay(100); }
|
||||
}
|
||||
|
||||
|
83
Robotic Parts/Quadruped robot/README.md
Normal file
|
@ -0,0 +1,83 @@
|
|||
#Arduino Quadruped Robot
|
||||
|
||||
Arduino Quadruped Robot the project delivered from upstream project [RegisHsu](http://goo.gl/H1vvwW)'s spider robot. This project has been redesigned in 3d printed parts eg: didn't glue servo holder with tibia and fumer, resize body to fit [12300 LIPO battery](http://goo.gl/VmvYhv). You don't need to make a bluetooth remote control anymore but you can control robot using [Android App Bluetooth Joystick](https://github.com/anoochit/android-robot-bt-joypad) instead, [get app from Google PlayStore](https://goo.gl/MF46JS).
|
||||
|
||||
New command mode (see source code for detail)
|
||||
|
||||
* Test mode - test robot movement in bluetooth command
|
||||
* Sonar mode - wave your hand in front of ultrasonic sensor to wake up robot
|
||||
* Free walk mode - walk and avoid obstacle in 20cm like robot vacuum
|
||||
|
||||
##Bill of Materials
|
||||
|
||||
###3D printed parts
|
||||
|
||||
* Top Body x 1
|
||||
* Bottom Body x 2
|
||||
* Femur x 4
|
||||
* Coxa Left x 2
|
||||
* Coxa Right x 2
|
||||
* Left Tibia x 2
|
||||
* Right Tibia x 2
|
||||
* Electronic plate x 1
|
||||
|
||||
###Electronic parts
|
||||
|
||||
* Arduino Nano x 1
|
||||
* Arduino Nano expansion board x 1 (optional)
|
||||
* Tower Micro Servo 9G x 12
|
||||
* Switch x 1
|
||||
* UBEC 5V 3A or Reguletor 5V 3A
|
||||
* LIPO Battery 7V/12V 3A (3A play for 1hr)
|
||||
* Prototype PCB Board 6x8 cm
|
||||
* LED x 1
|
||||
* DC Socket 2.5mm x 1
|
||||
* Pin header
|
||||
* Female Pin Header
|
||||
* M3 25mm screw x 4
|
||||
* M3 10mm screw x 4ผ
|
||||
* M2 10mm screw x 4
|
||||
|
||||
##Assemply
|
||||
|
||||
Assembly the printed parts for 4 legs with servos, don't screw servo axis at this time, then assembly legs with body.
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Assemply electronic parts (schematic'll add later)
|
||||
|
||||
* Servo pulse pin connect to Arduino Nano pin D2-D13
|
||||
* Servo VCC and GND connect to regulator output
|
||||
* Bluetooth HC-05 Vcc to to Arduino Nano 5V pin, GND, RX-TX and TX-RX
|
||||
* Arduino Nano, Vin and GND connect to regulator output 5v
|
||||
* Use dc jack connect with LIPO battery
|
||||
* Connect battery to input of regulator for stepdown output to 5v
|
||||
|
||||
Group servo wire use order Fumer, Tibia, Coxa, connect servos to arduino pin for each leg
|
||||
|
||||
* Lelf Front connect to pin D2-D4
|
||||
* Lelf Back connect to pin D5-D7
|
||||
* Right Front connect to pin D8-D10
|
||||
* Right Back connect to pin D11-D13
|
||||
|
||||
Flash leg_init.ino script to initial servo angle then screw tight all servo axis, leg position like picture.
|
||||
|
||||

|
||||
|
||||
Flash spider_robot.ino to Arduino, Finish.
|
||||
|
||||
##How to play
|
||||
|
||||
Clone joystick app build and install or [get app from Google PlayStore](https://goo.gl/MF46JS) to your mobile phone, open app, swipe and choose connect menu, choose robot bluetooth to connect.
|
||||
|
||||

|
||||
|
||||
Use setting menu to config button or choose QRCode Scanner to scan QRCode below for automatic config.
|
||||
|
||||

|
||||
|
||||
Now you can play your robot. see robot in action at [https://www.youtube.com/watch?v=OoDke587s8s](https://www.youtube.com/watch?v=OoDke587s8s)
|
||||
|
||||
|
BIN
Robotic Parts/Quadruped robot/other spider/files/BodyBack_V2.stl
Normal file
BIN
Robotic Parts/Quadruped robot/other spider/files/Cora_r_MG90.stl
Normal file
BIN
Robotic Parts/Quadruped robot/other spider/files/Coxa_L_MG90.stl
Normal file
BIN
Robotic Parts/Quadruped robot/other spider/files/Fang_Nano2.stl
Normal file
BIN
Robotic Parts/Quadruped robot/other spider/files/Head_Nano.stl
Normal file
BIN
Robotic Parts/Quadruped robot/other spider/files/Neck_V2.stl
Normal file
After Width: | Height: | Size: 76 KiB |
After Width: | Height: | Size: 252 KiB |
After Width: | Height: | Size: 208 KiB |
After Width: | Height: | Size: 354 KiB |
After Width: | Height: | Size: 191 KiB |
After Width: | Height: | Size: 229 KiB |
BIN
Robotic Parts/Quadruped robot/other spider/images/Head_Nano.png
Normal file
After Width: | Height: | Size: 229 KiB |
After Width: | Height: | Size: 81 KiB |
After Width: | Height: | Size: 36 MiB |
After Width: | Height: | Size: 24 MiB |
After Width: | Height: | Size: 118 KiB |