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.
Revision 1:797913662b1f, committed 2018-07-15
- Comitter:
- AK1412
- Date:
- Sun Jul 15 09:12:49 2018 +0000
- Parent:
- 0:845a9290c7e8
- Commit message:
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kbt.lib Sun Jul 15 09:12:49 2018 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/AK1412/code/kbt/#2e1d8ef6e6a2
--- a/syudouki.c Sat Jun 30 05:50:15 2018 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -#include "mbed.h" -
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/syudouki.cpp Sun Jul 15 09:12:49 2018 +0000
@@ -0,0 +1,126 @@
+#include "mbed.h"
+#include "kbt.h"
+
+KBT kbt(PA_9,PA_10);
+Serial pc(USBTX,USBRX);
+
+PwmOut rifrpl (PC_12);
+PwmOut rifrmi (PA_13);
+PwmOut ribapl (PA_14);
+PwmOut ribami (PA_15);
+PwmOut lefrpl (PB_7);
+PwmOut lefrmi (PC_13);
+PwmOut lebapl (PF_0);
+PwmOut lebami (PC_2);
+PwmOut servo (PC_3);
+DigitalOut air (PB_10);
+
+double map(double x, double in_min, double in_max, double out_min, double out_max)
+{
+ return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
+}
+
+double Abs ( double value ){
+ if ( value < 0 )
+ value = value*(-1);
+ return value;
+ }
+
+int main() {
+
+ kbt.init(2400);
+ pc.baud(9600);
+
+ while(1) {
+ double Larpow = kbt.Stick[L_around];
+ double Luppow = kbt.Stick[L_updown];
+
+ int dir;
+
+ double pow = 0;
+
+ double Larpowabs = Abs(Larpow);
+ double Luppowabs = Abs(Luppow);
+
+ if (Larpowabs > Luppowabs){
+ if (Larpow < 0){
+ dir = 0;
+ pow = Larpow*(-1);
+ }
+ else if (Larpow > 0){
+ dir = 1;
+ pow = Larpow;
+ }
+ }
+ else {
+ if (Luppow < 0){
+ dir = 2;
+ pow = Luppow*(-1);
+ }
+ else if (Luppow > 0){
+ dir = 3;
+ pow = Luppow;
+ }
+ }
+
+ pow = map(pow,0.0,255.0,0.0,1.0);
+
+ switch (dir){
+ case 0 :
+ rifrpl = 0;
+ rifrmi = pow;
+ ribapl = pow;
+ ribami = 0;
+ lefrpl = pow;
+ lefrmi = 0;
+ lebapl = 0;
+ lebami = pow;
+ break;
+ case 1 :
+ rifrpl = pow;
+ rifrmi = 0;
+ ribapl = 0;
+ ribami = pow;
+ lefrpl = 0;
+ lefrmi = pow;
+ lebapl = pow;
+ lebami = 0;
+ break;
+ case 2 :
+ rifrpl = 0;
+ rifrmi = pow;
+ ribapl = 0;
+ ribami = pow;
+ lefrpl = 0;
+ lefrmi = pow;
+ lebapl = 0;
+ lebami = pow;
+ break;
+ case 3 :
+ rifrpl = pow;
+ rifrmi = 0;
+ ribapl = pow;
+ ribami = 0;
+ lefrpl = pow;
+ lefrmi = 0;
+ lebapl = pow;
+ lebami = 0;
+ break;
+ }
+
+ bool ser = kbt.Button[circle];
+ servo.period_ms(20);
+ if (ser == 1){
+ servo.pulsewidth_us(700);
+ wait(8);
+ servo.pulsewidth_us(1500);
+ wait(8);
+ }
+
+ bool ai = kbt.Button[triangle];
+ if (ai == 1)
+ air = 1;
+ else
+ air = 0;
+ }
+}
\ No newline at end of file