Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: 2017NHKpin_config FEP R1307 PID ikarashiMDC omni_wheel
Fork of NHK2017_octopus2 by
Revision 16:50651ff960b9, committed 2017-09-25
- Comitter:
- uchitake
- Date:
- Mon Sep 25 18:15:43 2017 +0900
- Branch:
- develop1
- Parent:
- 15:9aa11febe517
- Child:
- 17:79fa65706f92
- Commit message:
- fix keybind
Changed in this revision
--- a/bot/bot.cpp Sun Sep 17 00:53:01 2017 +0900
+++ b/bot/bot.cpp Mon Sep 25 18:15:43 2017 +0900
@@ -34,7 +34,9 @@
void Bot::confirmAll()
{
receiveSuccessed = pad.receiveState();
-if(!pad.getButton2(3)) powerSwitch = 0;
+ if(!pad.getButton2(3) && !pad.getButton2(0)) {
+ powerSwitch = 0;
+ }
led[0] = receiveSuccessed;
if(!receiveSuccessed) {
quadOmni.moveXY(0, 0, 0);
@@ -110,15 +112,16 @@
// if(!pad.getButton1(4)) motor.shakeHead(-ARM_MAX_SPEED);
// if(pad.getButton1(3) && pad.getButton1(4)) motor.shakeHead(0);
//
- if(!pad.getButton1(5)) armMotor[SWORD].setSpeed(0.6);
- if(!pad.getButton1(6)) armMotor[SWORD].setSpeed(-0.6);
- if(pad.getButton1(5) && pad.getButton1(6)) armMotor[SWORD].setSpeed(-0.0);
+ if(!pad.getButton1(6)) {
+ armMotor[SWORD].setSpeed(0.6);
+ }
+ if(pad.getButton1(6)) armMotor[SWORD].setSpeed(0.0);
if(!pad.getButton1(3)) slider.slide(1.0);
if(!pad.getButton1(4)) slider.slide(-1.0);
if(pad.getButton1(3) && pad.getButton1(4)) slider.slide(0.0);
- if(!pad.getButton2(4)) {
+ if(!pad.getButton2(1)) {
armMotor[DESTROY].setSpeed(-1.0);
} else {
armMotor[DESTROY].setSpeed(0.0);
--- a/bot/slider/slider.cpp Sun Sep 17 00:53:01 2017 +0900
+++ b/bot/slider/slider.cpp Mon Sep 25 18:15:43 2017 +0900
@@ -1,9 +1,11 @@
#include "slider.h"
Slider::Slider(DigitalOut* RS485Controller, Serial* RS485) :
+ isReseted(false),
slideMotor(RS485Controller, 1, 0, SM, RS485),
- encoder(Sensor4pin1a, Sensor4pin1b, NC, PULSES_PER_REV),
- limitSwitch(Sensor3pin3a)
+ encoder(Sensor4pin1b, Sensor4pin1a, NC, PULSES_PER_REV),
+ limitSwitch(PWM3),
+ slideSerial(USBTX, USBRX, 115200)
{
slideMotor.braking = true;
encoder.reset();
@@ -14,9 +16,15 @@
void Slider::resetheight()
{
encoder.reset();
+ isReseted = true;
+ slideSerial.printf("reseted\n\r");
}
void Slider::slide(float speed)
{
+ if(isReseted && encoder.getPulses() < 0 && speed < 0) speed = 0;
+ if(!isReseted && speed > 0) speed = 0;
+ if(encoder.getPulses() > 4700 && speed > 0) speed = 0;
slideMotor.setSpeed(speed);
+ slideSerial.printf("%d\n\r", encoder.getPulses());
}
--- a/bot/slider/slider.h Sun Sep 17 00:53:01 2017 +0900
+++ b/bot/slider/slider.h Mon Sep 25 18:15:43 2017 +0900
@@ -6,7 +6,7 @@
#include "ikarashiMDC.h"
#include "QEI.h"
-const int PULSES_PER_REV = 6;
+const int PULSES_PER_REV = 720;
class Slider {
public:
@@ -15,10 +15,12 @@
void slide(float speed);
private:
void resetheight();
+ bool isReseted;
ikarashiMDC slideMotor;
QEI encoder;
InterruptIn limitSwitch;
+ Serial slideSerial;
};
#endif
