資源簡(jiǎn)介
4足機(jī)器人源碼,具體的制作可以參考我的博文,壓縮包里還包含了我做出來(lái)的gif圖,除了打印出來(lái)的模型,還需要arduino UNO板,還需要一塊16路的PMW驅(qū)動(dòng)板,8個(gè)小舵機(jī)(TB上最便宜的那種9g電機(jī))一個(gè)四觸點(diǎn)的搖桿。代碼需要稍加修改。最終完成的動(dòng)作和搖桿的控制需要自己稍微修改代碼,很容易。
代碼片段和文件信息
/***************************************************?
??This?is?a?library?for?our?Adafruit?16-channel?PWM?&?Servo?driver
??Pick?one?up?today?in?the?adafruit?shop!
??------>?http://www.adafruit.com/products/815
??These?displays?use?I2C?to?communicate?2?pins?are?required?to??
??interface.?For?Arduino?UNOs?thats?SCL?->?Analog?5?SDA?->?Analog?4
??Adafruit?invests?time?and?resources?providing?this?open?source?code?
??please?support?Adafruit?and?open-source?hardware?by?purchasing?
??products?from?Adafruit!
??Written?by?Limor?Fried/Ladyada?for?Adafruit?Industries.??
??BSD?license?all?text?above?must?be?included?in?any?redistribution
?****************************************************/
#include?
#include?
#if?defined(__AVR__)
?#define?WIRE?Wire
#elif?defined(CORE_TEENSY)?//?Teensy?boards
?#define?WIRE?Wire
#else?//?Arduino?Due
?#define?WIRE?Wire1
#endif
//?Set?to?true?to?print?some?debug?messages?or?false?to?disable?them.
#define?ENABLE_DEBUG_OUTPUT?true
Adafruit_PWMServoDriver::Adafruit_PWMServoDriver(uint8_t?addr)?{
??_i2caddr?=?addr;
}
void?Adafruit_PWMServoDriver::begin(void)?{
?WIRE.begin();
?reset();
}
void?Adafruit_PWMServoDriver::reset(void)?{
?write8(PCA9685_MODE1?0x0);
}
void?Adafruit_PWMServoDriver::setPWMFreq(float?freq)?{
??//Serial.print(“Attempting?to?set?freq?“);
??//Serial.println(freq);
??freq?*=?0.9;??//?Correct?for?overshoot?in?the?frequency?setting?(see?issue?#11).
??float?prescaleval?=?25000000;
??prescaleval?/=?4096;
??prescaleval?/=?freq;
??prescaleval?-=?1;
??if?(ENABLE_DEBUG_OUTPUT)?{
????Serial.print(“Estimated?pre-scale:?“);?Serial.println(prescaleval);
??}
??uint8_t?prescale?=?floor(prescaleval?+?0.5);
??if?(ENABLE_DEBUG_OUTPUT)?{
????Serial.print(“Final?pre-scale:?“);?Serial.println(prescale);
??}
??
??uint8_t?oldmode?=?read8(PCA9685_MODE1);
??uint8_t?newmode?=?(oldmode&0x7F)?|?0x10;?//?sleep
??write8(PCA9685_MODE1?newmode);?//?go?to?sleep
??write8(PCA9685_PRESCALE?prescale);?//?set?the?prescaler
??write8(PCA9685_MODE1?oldmode);
??delay(5);
??write8(PCA9685_MODE1?oldmode?|?0xa1);??//??This?sets?the?MODE1?register?to?turn?on?auto?increment.
??????????????????????????????????????????//?This?is?why?the?beginTransmission?below?was?not?working.
??//??Serial.print(“Mode?now?0x“);?Serial.println(read8(PCA9685_MODE1)?HEX);
}
void?Adafruit_PWMServoDriver::setPWM(uint8_t?num?uint16_t?on?uint16_t?off)?{
??//Serial.print(“Setting?PWM?“);?Serial.print(num);?Serial.print(“:?“);?Serial.print(on);?Serial.print(“->“);?Serial.println(off);
??WIRE.beginTransmission(_i2caddr);
??WIRE.write(LED0_ON_L+4*num);
??WIRE.write(on);
??WIRE.write(on>>8);
??WIRE.write(off);
??WIRE.write(off>>8);
??WIRE.endTransmission();
}
//?Sets?pin?without?having?to?deal?with?on/off?tick?placement?and?properly?handles
//?a?zero?value?as?completely?off.??Optional?invert?parameter?supports?inverting
//?the?pulse?for?sinking?to?ground.??Val?should?be?a?value?from?0?to?4095?inclusive.
void?Adafruit_PWMServoD
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????1945980??2015-10-08?21:09??四足機(jī)器人源碼\16路PWM\adafruit-16-channel-pwm-slash-servo-shield.pdf
?????文件???????4045??2014-08-16?09:28??四足機(jī)器人源碼\16路PWM\AdafruitPWMServoDriverLibrary\AdafruitPWMServoDriverLibrary\Adafruit_PWMServoDriver.cpp
?????文件???????1576??2014-08-16?09:28??四足機(jī)器人源碼\16路PWM\AdafruitPWMServoDriverLibrary\AdafruitPWMServoDriverLibrary\Adafruit_PWMServoDriver.h
?????文件???????1755??2014-08-16?09:28??四足機(jī)器人源碼\16路PWM\AdafruitPWMServoDriverLibrary\AdafruitPWMServoDriverLibrary\examples\pwmtest\pwmtest.pde
?????文件???????6177??2017-03-23?15:53??四足機(jī)器人源碼\16路PWM\AdafruitPWMServoDriverLibrary\AdafruitPWMServoDriverLibrary\examples\servo\servo.ino
?????文件???????1499??2014-08-16?09:28??四足機(jī)器人源碼\16路PWM\AdafruitPWMServoDriverLibrary\AdafruitPWMServoDriverLibrary\license.txt
?????文件???????1031??2014-08-16?09:28??四足機(jī)器人源碼\16路PWM\AdafruitPWMServoDriverLibrary\AdafruitPWMServoDriverLibrary\README.md
?????文件???????7766??2015-03-25?17:01??四足機(jī)器人源碼\16路PWM\AdafruitPWMServoDriverLibrary.zip
?????文件????1636427??2017-03-22?20:19??四足機(jī)器人源碼\圖片\555555.gif
?????文件???14788791??2017-03-22?20:08??四足機(jī)器人源碼\圖片\GIF2.gif
?????文件????3351568??2017-03-22?20:09??四足機(jī)器人源碼\圖片\GIF3.gif
?????文件?????266063??2017-03-22?19:56??四足機(jī)器人源碼\圖片\wx_camera__clip.gif
?????文件????1871596??2017-03-22?20:13??四足機(jī)器人源碼\圖片\zhuanshen.gif
?????文件????????196??2017-03-10?19:24??四足機(jī)器人源碼\機(jī)器人所需螺絲.txt
?????文件???????9757??2015-12-08?22:19??四足機(jī)器人源碼\源代碼(The_Social_Quadruped)\The_Social_Quadruped\Quad_Functions.ino
?????文件???????2814??2015-12-08?23:27??四足機(jī)器人源碼\源代碼(The_Social_Quadruped)\The_Social_Quadruped\The_Social_Quadruped.ino
?????目錄??????????0??2017-09-01?08:43??四足機(jī)器人源碼\16路PWM\AdafruitPWMServoDriverLibrary\AdafruitPWMServoDriverLibrary\examples\pwmtest
?????目錄??????????0??2017-09-01?08:43??四足機(jī)器人源碼\16路PWM\AdafruitPWMServoDriverLibrary\AdafruitPWMServoDriverLibrary\examples\servo
?????目錄??????????0??2017-09-01?08:43??四足機(jī)器人源碼\16路PWM\AdafruitPWMServoDriverLibrary\AdafruitPWMServoDriverLibrary\examples
?????目錄??????????0??2017-09-01?08:43??四足機(jī)器人源碼\16路PWM\AdafruitPWMServoDriverLibrary\AdafruitPWMServoDriverLibrary
?????目錄??????????0??2017-09-01?08:43??四足機(jī)器人源碼\16路PWM\AdafruitPWMServoDriverLibrary
?????目錄??????????0??2017-09-01?08:41??四足機(jī)器人源碼\源代碼(The_Social_Quadruped)\The_Social_Quadruped
?????目錄??????????0??2017-09-01?08:43??四足機(jī)器人源碼\16路PWM
?????目錄??????????0??2017-09-01?08:41??四足機(jī)器人源碼\圖片
?????目錄??????????0??2017-09-01?08:43??四足機(jī)器人源碼\源代碼(The_Social_Quadruped)
?????目錄??????????0??2017-09-01?08:46??四足機(jī)器人源碼
-----------?---------??----------?-----??----
?????????????23897041????????????????????26
評(píng)論
共有 條評(píng)論