Leds work simultanously. Version 3.1

Dependencies:   HCSR

Dependents:   bertl_led bertl_led bertl_led bertl_led ... more

Fork of Bertl by Bertl_Team_PE

BULME HTL Graz-Gösting

FSST - Hardwarenahe Programmierung

Created by Prof.Dr. Franz Pucher

Inhalt

Inhalt

Start mit folgendem Code in main.cpp eines neuen Projektes mbed_blinky:

#include "mbed.h"
#include "const.h"
#include "Robot.h"

Robot bertl;
    
int main()
{
    bertl.NibbleLeds(0x0F);
    wait(1);
    bertl.NibbleLeds(0x00);
    
    while(1)
    {
        if(bertl.IsButtonPressed(BTN_BL))
        {
            bertl.TurnLedOn(LED_BL1);
        }
        if(bertl.IsButtonPressed(BTN_BR))
        {
            bertl.TurnLedOff(LED_BL1);
        }
    }
}
Committer:
fpucher
Date:
Fri Feb 19 15:28:42 2016 +0000
Revision:
18:e9bb4513ae3a
Parent:
15:43d6a7e6e64a
Version 3.2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bulmecisco 0:66e9a0afcbd6 1 /*! \file config.h
bulmecisco 0:66e9a0afcbd6 2 \brief A Documented file.
fpucher 18:e9bb4513ae3a 3 * name: config.h Version: 3.2 \n
bulmecisco 4:76acfddc26fb 4 * author: PE HTL BULME \n
bulmecisco 4:76acfddc26fb 5 * email: pe@bulme.at \n
bulmecisco 0:66e9a0afcbd6 6 * description:
bulmecisco 0:66e9a0afcbd6 7 * Wiring for ur_Bertl The Robot
bulmecisco 0:66e9a0afcbd6 8 */
bulmecisco 0:66e9a0afcbd6 9
bulmecisco 0:66e9a0afcbd6 10 #include "mbed.h"
bulmecisco 0:66e9a0afcbd6 11 #include "hcsr04.h"
bulmecisco 0:66e9a0afcbd6 12 #include "const.h"
bulmecisco 0:66e9a0afcbd6 13
bulmecisco 0:66e9a0afcbd6 14 #ifndef CONFIG_H
bulmecisco 0:66e9a0afcbd6 15 #define CONFIG_H
bulmecisco 0:66e9a0afcbd6 16 /*! \def DEBUG
bulmecisco 0:66e9a0afcbd6 17 \brief Turns debugging infos off (0) and on (3) which are send to serial pc.uart */
bulmecisco 0:66e9a0afcbd6 18 #define DEBUG 0
bulmecisco 13:3ce84646fd74 19 //#define FRONTBUTTON /**< Error shutoff if Bertl moves against a wall*/
bulmecisco 13:3ce84646fd74 20 #define HCSR /**< if ultrsonic is installed*/
fpucher 18:e9bb4513ae3a 21 #define MOTORENC P1_13 /**< P1_12: left encoder P1_13: right encoder (motor) */
bulmecisco 0:66e9a0afcbd6 22
bulmecisco 12:cedc088eaf05 23 BusOut NibbleLEDs(P1_8, P1_9, P1_10, P1_11); /**< 4 yellow LEDs as a bus defined; use it i.e.: karel.NibbleLeds(karel.GetLineValues()); to show line sensor values */
bulmecisco 0:66e9a0afcbd6 24 DigitalOut LED_D10(P1_8); /**< wiring first LED_D10 */
bulmecisco 0:66e9a0afcbd6 25 DigitalOut LED_D11(P1_9); /**< wiring second LED_D11 */
bulmecisco 0:66e9a0afcbd6 26 DigitalOut LED_D12(P1_10); /**< wiring thired LED_D12 */
bulmecisco 0:66e9a0afcbd6 27 DigitalOut LED_D13(P1_11); /**< wiring fourth LED_D13 */
bulmecisco 0:66e9a0afcbd6 28
bulmecisco 0:66e9a0afcbd6 29 DigitalOut LED_blue(P1_28); /**< all blue LEDs are on Port 1_28 */
bulmecisco 0:66e9a0afcbd6 30
bulmecisco 0:66e9a0afcbd6 31 DigitalOut RGB_blue(P1_24); /**< RGB blue component of the color uP -> Port 1_24 */
bulmecisco 0:66e9a0afcbd6 32 DigitalOut RGB_red(P1_23); /**< RGB red component of the color uP -> Port 1_23 */
bulmecisco 0:66e9a0afcbd6 33 DigitalOut RGB_green(P1_25); /**< RGB green component of the color uP -> Port 1_25 */
bulmecisco 0:66e9a0afcbd6 34
bulmecisco 0:66e9a0afcbd6 35 //------------------ CHANGE ONLY IF NESSESARY -------------------------------------
bulmecisco 0:66e9a0afcbd6 36
bulmecisco 15:43d6a7e6e64a 37 DigitalOut MotorL_EN(p34); // wiring motor left
bulmecisco 15:43d6a7e6e64a 38 DigitalOut MotorL_FORWARD(P1_1); // change to P1_0 for Bertl 2015
bulmecisco 15:43d6a7e6e64a 39 DigitalOut MotorL_REVERSE(P1_0); // change to P1_1 for Bertl 2015
bulmecisco 0:66e9a0afcbd6 40
bulmecisco 15:43d6a7e6e64a 41 DigitalOut MotorR_EN(p36); // wiring motor right
bulmecisco 15:43d6a7e6e64a 42 DigitalOut MotorR_FORWARD(P1_3); // change to P1_4 for Bertl 2015
bulmecisco 15:43d6a7e6e64a 43 DigitalOut MotorR_REVERSE(P1_4); // change to P1_3 for Bertl 2015
bulmecisco 0:66e9a0afcbd6 44
bulmecisco 0:66e9a0afcbd6 45 I2C i2c(p28,p27);
fpucher 18:e9bb4513ae3a 46 // InterruptIn PushButton(P0_8); // Interrupt I2C Tasten
bulmecisco 0:66e9a0afcbd6 47 BusIn linesensor(p18, p16, p19, p17);
fpucher 18:e9bb4513ae3a 48 BusIn linesensor5(p18, p16, p20, p19, p17); /**< Bertl15 additonal Sensor in the middle */
bulmecisco 0:66e9a0afcbd6 49 DigitalIn SensorL(P1_12); /**< motor sensor left on Port P1_12 */
bulmecisco 0:66e9a0afcbd6 50 DigitalIn SensorR(P1_13); /**< motor sensor right on Port P1_13 */
bulmecisco 0:66e9a0afcbd6 51 HCSR04 usensor(p21,p22); // HC-SR04 ultrasonic sensor
bulmecisco 0:66e9a0afcbd6 52 PwmOut mg1(P1_15); // PWM out motor left
bulmecisco 0:66e9a0afcbd6 53 PwmOut mg2(P0_21); // PWM out motor right
bulmecisco 0:66e9a0afcbd6 54
bulmecisco 0:66e9a0afcbd6 55 Serial pc(USBTX, USBRX); // tx, rx
bulmecisco 0:66e9a0afcbd6 56
bulmecisco 15:43d6a7e6e64a 57 // Bertl 2015
bulmecisco 15:43d6a7e6e64a 58 DigitalOut MotorSpg (p30);
bulmecisco 15:43d6a7e6e64a 59 DigitalOut IncrementalgeberSpg (P1_7);
bulmecisco 15:43d6a7e6e64a 60 DigitalOut LinienSensorSpg (P1_6);
bulmecisco 15:43d6a7e6e64a 61
bulmecisco 0:66e9a0afcbd6 62 #if defined(DEBUG) && DEBUG > 0
bulmecisco 0:66e9a0afcbd6 63 #define DEBUG_PRINT(fmt, args...) fprintf(stderr, "DEBUG: %s:%d:%s(): " fmt, \
bulmecisco 0:66e9a0afcbd6 64 __FILE__, __LINE__, __func__, ##args)
bulmecisco 0:66e9a0afcbd6 65 #else
bulmecisco 0:66e9a0afcbd6 66 #define DEBUG_PRINT(fmt, args...) /* Don't do anything in release builds */
bulmecisco 0:66e9a0afcbd6 67 #endif
bulmecisco 0:66e9a0afcbd6 68
bulmecisco 0:66e9a0afcbd6 69 #endif