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: mbed
Revision 0:7a67707b5b88, committed 2019-03-20
- Comitter:
- tifanysaulina
- Date:
- Wed Mar 20 16:55:17 2019 +0000
- Commit message:
- yup
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Motor.cpp Wed Mar 20 16:55:17 2019 +0000
@@ -0,0 +1,121 @@
+/*mbed simple H-bridge motor controller
+ * Copyright (c) 2007-2010, sford
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+#include "mbed.h"
+#include "Motor.h"
+#include <iostream>
+
+//--Library--//
+
+Motor::Motor(PinName pwm, PinName fwd, PinName rev):
+ _pwm(pwm), _fwd(fwd), _revr(ev) {
+
+ _pwm.period(0.002);
+ _pwm = 0;
+ _fwd = 0;
+ _rev = 0;
+}
+
+void Motor::speed(float speed) {
+ _fwd = (speed > (float)0.0);
+ _rev = (speed < (float)0.0);
+ _pwm = fabs(speed);
+}
+
+void Motor::period(float period){
+ _pwm.period(period);
+
+}
+
+void Motor::brake(int highLow){
+ if(highLow == BRAKE_HIGH){
+ _fwd = 1;
+ _rev = 1;
+ }
+ else if(highLow == BRAKE_LOW){
+ _fwd = 0;
+ _rev = 0;
+ }
+}
+
+void Motor::forcebrake(){
+ _pwm = 1.0;
+ _fwd = 1;
+ _rev = 1;
+}
+
+//--Program Motor--//
+
+int main()
+{
+ string arah, rotate;
+
+ Motor depan();
+ Motor kiri();
+ Motor kanan();
+
+ do {
+ getline (cin, arah);
+ getline (cin, rotate);
+
+ if (arah == "maju"){ //Bergerak ke depan
+ kiri.speed(-1.0);
+ kanan.speed(1.0);
+ depan.speed(0.0);
+ }
+
+ if (arah == "mundur"){ //Bergerak ke belakang
+ kanan.speed(-1.0);
+ kiri.speed(1.0);
+ depan.speed(0.0);
+ }
+
+ if (arah == "kiri") { //Bergerak ke kiri
+ depan.speed(1.0);
+ kiri.speed(-1.0);
+ kanan.speed(-1.0);
+ }
+ if (arah == "kanan") { //Bergerak ke kanan
+ depan.speed(-1.0);
+ kiri.speed(1.0);
+ kanan.speed(1.0);
+ }
+
+ if (rotate == "counterclock") { //Bergerak berlawanan jarum jam (pivot kiri)
+ depan.speed(1.0);
+ kiri.speed(1.0);
+ kanan.speed(1.0);
+ }
+
+ if (rotate == "clockwise") { //Bergerak searah jarum jam (pivot kanan)
+ depan.speed(-1.0);
+ kiri.speed(-1.0);
+ kanan.speed(-1.0);
+ }
+
+ if (arah == "kanan" && rotate == "clockwise"){ //Berputar sambil maju (kayaknya kak hehe)
+ depan.speed(1);
+ kiri.speed(0.75);
+ kanan.speed(0.5);
+ }
+} while();
+}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Wed Mar 20 16:55:17 2019 +0000
@@ -0,0 +1,24 @@
+#include "mbed.h"
+
+AnalogIn analog_value(A0);
+
+DigitalOut led(LED1);
+
+int main() {
+ float meas;
+
+ printf("\nAnalogIn example\n");
+
+ while(1) {
+ meas = analog_value.read(); // Converts and read the analog input value (value from 0.0 to 1.0)
+ meas = meas * 3300; // Change the value to be in the 0 to 3300 range
+ printf("measure = %.0f mV\n", meas);
+ if (meas > 2000) { // If the value is greater than 2V then switch the LED on
+ led = 1;
+ }
+ else {
+ led = 0;
+ }
+ wait(0.2); // 200 ms
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Wed Mar 20 16:55:17 2019 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400 \ No newline at end of file