Testing Linija

Dependencies:   JoystickLinija IRremote mbed Tipkalo UniServ_linijapogona umotor_linijapogona

Committer:
mario_meh
Date:
Wed Nov 22 08:54:16 2017 +0000
Revision:
2:9d19b20a60a9
Parent:
0:4cac97044e74
Linija pogona

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mario_meh 2:9d19b20a60a9 1 /** Projektiranje ugradbenih računalnih sustava
mario_meh 2:9d19b20a60a9 2 * Interakcija sa linijom
mario_meh 2:9d19b20a60a9 3 * @author: mario_meh
mario_meh 2:9d19b20a60a9 4 *
mario_meh 2:9d19b20a60a9 5 */
mario_meh 0:4cac97044e74 6 #include "mbed.h"
mario_meh 2:9d19b20a60a9 7 #include "tipkalo.h"
mario_meh 2:9d19b20a60a9 8 #include "joystick.h"
mario_meh 0:4cac97044e74 9 #include "IRremote.h"
mario_meh 2:9d19b20a60a9 10 #include "UniServ.h"
mario_meh 2:9d19b20a60a9 11 #include "umotor.h"
mario_meh 0:4cac97044e74 12
mario_meh 0:4cac97044e74 13 Serial serial(USBTX, USBRX); // PC
mario_meh 2:9d19b20a60a9 14 DigitalOut led(PTB19);
mario_meh 2:9d19b20a60a9 15 IRrecv pinIn(PTB3); // IR
mario_meh 0:4cac97044e74 16 I2C i2c(PTC9, PTC8); // SDA, SCL
mario_meh 0:4cac97044e74 17 //Tipkalo led(PT); // LED svjetlo
mario_meh 2:9d19b20a60a9 18 UniServ sMotor(PTB2);
mario_meh 2:9d19b20a60a9 19 Timer t;
mario_meh 2:9d19b20a60a9 20 Serial pc(USBTX, USBRX); // tx, rx
mario_meh 2:9d19b20a60a9 21
mario_meh 0:4cac97044e74 22
mario_meh 0:4cac97044e74 23 const int addr = 0x0A;
mario_meh 2:9d19b20a60a9 24 char remote[4];
mario_meh 0:4cac97044e74 25
mario_meh 0:4cac97044e74 26 int main() {
mario_meh 2:9d19b20a60a9 27
mario_meh 0:4cac97044e74 28 //--------------------------------------------------tipke pogona
mario_meh 2:9d19b20a60a9 29 Tipkalo *bTipka = new Tipkalo();
mario_meh 0:4cac97044e74 30
mario_meh 0:4cac97044e74 31 //--------------------------------------------------IR argumenti
mario_meh 2:9d19b20a60a9 32
mario_meh 2:9d19b20a60a9 33 //--------------------------------------------------Provjera Servo C90
mario_meh 2:9d19b20a60a9 34 t.start();
mario_meh 2:9d19b20a60a9 35 sMotor.write_us(2000);
mario_meh 2:9d19b20a60a9 36 t.stop();
mario_meh 2:9d19b20a60a9 37 pc.printf("%f\n\r", t.read());
mario_meh 2:9d19b20a60a9 38 wait_ms(1000);
mario_meh 2:9d19b20a60a9 39 t.reset();
mario_meh 2:9d19b20a60a9 40 t.start();
mario_meh 2:9d19b20a60a9 41 sMotor.write_us(0);
mario_meh 2:9d19b20a60a9 42 t.stop();
mario_meh 2:9d19b20a60a9 43 pc.printf("%f\n\r", t.read());
mario_meh 2:9d19b20a60a9 44 wait_ms(1000);
mario_meh 2:9d19b20a60a9 45 t.reset();
mario_meh 2:9d19b20a60a9 46 t.start();
mario_meh 2:9d19b20a60a9 47 sMotor.write_us(3000);
mario_meh 2:9d19b20a60a9 48 t.stop();
mario_meh 2:9d19b20a60a9 49 pc.printf("%f\n\r", t.read());
mario_meh 2:9d19b20a60a9 50 wait_ms(1000);
mario_meh 2:9d19b20a60a9 51 t.reset();
mario_meh 2:9d19b20a60a9 52 t.start();
mario_meh 2:9d19b20a60a9 53 sMotor.write_us(1000);
mario_meh 2:9d19b20a60a9 54 t.stop();
mario_meh 2:9d19b20a60a9 55 pc.printf("%f\n\r", t.read());
mario_meh 2:9d19b20a60a9 56 wait_ms(1000);
mario_meh 2:9d19b20a60a9 57 sMotor.Disable();
mario_meh 2:9d19b20a60a9 58 //-------------------------------------------------Gotovo Provjera Servo C90
mario_meh 2:9d19b20a60a9 59
mario_meh 2:9d19b20a60a9 60 //--------------------------------------------------Unipolarni steper
mario_meh 2:9d19b20a60a9 61 Steper *unipolar = new Steper();
mario_meh 2:9d19b20a60a9 62
mario_meh 2:9d19b20a60a9 63 unipolar->u_poz.u_krenuo = 1; // Treba biti 1(0)
mario_meh 2:9d19b20a60a9 64 unipolar->u_poz.u_stao = 0; // Treba biti 0(1)
mario_meh 2:9d19b20a60a9 65 unipolar->Brzina(4000); // < brzina = brze i krace
mario_meh 2:9d19b20a60a9 66 unipolar->UEnable(); // Pokreni umotor
mario_meh 2:9d19b20a60a9 67 //--------------------------------------------------Gotovo Unipolarni steper
mario_meh 2:9d19b20a60a9 68
mario_meh 2:9d19b20a60a9 69 //-------------------------------------------------- IR Receiver
mario_meh 0:4cac97044e74 70 pinIn.enableIRIn(); // Start the receiver
mario_meh 0:4cac97044e74 71 decode_results results;
mario_meh 0:4cac97044e74 72
mario_meh 0:4cac97044e74 73 int IR_REMOTE = 1;
mario_meh 0:4cac97044e74 74
mario_meh 0:4cac97044e74 75 while(IR_REMOTE == 1) {
mario_meh 0:4cac97044e74 76 if (pinIn.decode(&results)) {
mario_meh 0:4cac97044e74 77 uint32_t value = results.value;
mario_meh 0:4cac97044e74 78 remote[0] = (value);
mario_meh 0:4cac97044e74 79 remote[1] = (value) >> 8;
mario_meh 0:4cac97044e74 80 remote[2] = (value) >> 16;
mario_meh 0:4cac97044e74 81 remote[3] = (value) >> 24;
mario_meh 0:4cac97044e74 82
mario_meh 0:4cac97044e74 83 i2c.write(addr,remote, 4);
mario_meh 0:4cac97044e74 84 pinIn.resume(); // Receive the next value
mario_meh 0:4cac97044e74 85 }
mario_meh 0:4cac97044e74 86 wait(0.1);
mario_meh 0:4cac97044e74 87 }
mario_meh 0:4cac97044e74 88 //-----------------------------------------------------gotov iR
mario_meh 0:4cac97044e74 89
mario_meh 0:4cac97044e74 90 //------------------------------------------isprobavam joystick
mario_meh 0:4cac97044e74 91 // Pozovi Joystick
mario_meh 0:4cac97044e74 92
mario_meh 2:9d19b20a60a9 93 JoysKompas *data = new JoysKompas;
mario_meh 2:9d19b20a60a9 94 Joystick *joys = new Joystick(data);
mario_meh 2:9d19b20a60a9 95 joys->YEnable();
mario_meh 2:9d19b20a60a9 96
mario_meh 2:9d19b20a60a9 97 while(1) {
mario_meh 2:9d19b20a60a9 98 switch(data->vertikala) {
mario_meh 0:4cac97044e74 99 case 0:
mario_meh 2:9d19b20a60a9 100 serial.printf("Gore: %i\r\n", data->vertikala);
mario_meh 0:4cac97044e74 101 break;
mario_meh 0:4cac97044e74 102 case 1:
mario_meh 2:9d19b20a60a9 103 serial.printf("Dolje: %i\r\n", data->vertikala);
mario_meh 0:4cac97044e74 104 break;
mario_meh 2:9d19b20a60a9 105 }
mario_meh 2:9d19b20a60a9 106
mario_meh 0:4cac97044e74 107 }
mario_meh 2:9d19b20a60a9 108
mario_meh 0:4cac97044e74 109 //----------------------------------------------gotov joystick
mario_meh 0:4cac97044e74 110
mario_meh 0:4cac97044e74 111 //-----------------------------------------------------svjetlo
mario_meh 0:4cac97044e74 112 //led = 1;
mario_meh 0:4cac97044e74 113 //-------------------------------------------------end svjetlo
mario_meh 0:4cac97044e74 114
mario_meh 2:9d19b20a60a9 115 }