Copy off node 1 to behave node 2

Dependencies:   mbed RF24Network RF24

Committer:
Giamarchi
Date:
Tue May 25 14:03:18 2021 +0000
Revision:
10:a3cd481e7ef3
Parent:
8:5c8bf540ed8e
new version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Giamarchi 5:48f3f58ebd13 1 #include "mbed.h"
Giamarchi 5:48f3f58ebd13 2
Giamarchi 5:48f3f58ebd13 3 // Nucleo Board associé à la carte ISEN
Giamarchi 5:48f3f58ebd13 4
Giamarchi 5:48f3f58ebd13 5 DigitalOut Led1(LED1); // PA5 attention SPI CLK aussi
Giamarchi 5:48f3f58ebd13 6 DigitalIn BTN_User(PC_13);
Giamarchi 5:48f3f58ebd13 7
Giamarchi 5:48f3f58ebd13 8 // ISEN32 Board
Giamarchi 7:1f768ebd2742 9 /*
Giamarchi 5:48f3f58ebd13 10 DigitalOut L0(PB_1); // Dels, en sortie, reliée à PB1
Giamarchi 5:48f3f58ebd13 11 DigitalOut L1(PB_2);
Giamarchi 5:48f3f58ebd13 12 DigitalOut L2(PB_10);
Giamarchi 5:48f3f58ebd13 13 DigitalOut L3(PB_11);
Giamarchi 5:48f3f58ebd13 14 DigitalOut L4(PB_12);
Giamarchi 5:48f3f58ebd13 15 DigitalOut L5(PB_13);
Giamarchi 5:48f3f58ebd13 16 DigitalOut L6(PB_14);
Giamarchi 5:48f3f58ebd13 17 DigitalOut L7(PB_15); // la plus à gauche
Giamarchi 7:1f768ebd2742 18 */
Giamarchi 5:48f3f58ebd13 19 DigitalIn BTN1(PA_11); // Bouton Poussoir, en entrée, relié à PA11
Giamarchi 6:6a3d4e0f6799 20 DigitalIn BTN2(PA_12);
Giamarchi 6:6a3d4e0f6799 21 DigitalIn BTN3(PC_6);
Giamarchi 6:6a3d4e0f6799 22 DigitalIn BTN4(PC_5);
Giamarchi 5:48f3f58ebd13 23
Giamarchi 6:6a3d4e0f6799 24 DigitalOut BZ1(PC_7); // Buzzer, en sortie, relié à PC7
Giamarchi 5:48f3f58ebd13 25
Giamarchi 5:48f3f58ebd13 26 //DigitalOut M1(PB_4); // Moteur mini, en sortie, relié à PB4
Giamarchi 5:48f3f58ebd13 27 //PwmOut M1(PB_4); // Moteur mini en mode PWM
Giamarchi 5:48f3f58ebd13 28
Giamarchi 5:48f3f58ebd13 29 // Lignes pour entrées analogiques
Giamarchi 5:48f3f58ebd13 30 AnalogIn RV1(A0); // RV1, en entrée analogique, relié à PA0
Giamarchi 5:48f3f58ebd13 31 AnalogIn RV2(A1); // RV2, en entrée analogique, relié à PA1
Giamarchi 5:48f3f58ebd13 32 AnalogIn SENSOR(A4); // Pour capteur externe, exemple capt. de temp. MCP9700 Attention en conflit possible avec DAC
Giamarchi 5:48f3f58ebd13 33
Giamarchi 5:48f3f58ebd13 34 // Lignes SPI pour piloter le MAX7219
Giamarchi 5:48f3f58ebd13 35 SPI spi(PA_7, PA_6, PA_5);
Giamarchi 5:48f3f58ebd13 36 DigitalOut CS(PA_8);
Giamarchi 5:48f3f58ebd13 37
Giamarchi 5:48f3f58ebd13 38 // Lignes I2C
Giamarchi 6:6a3d4e0f6799 39 DigitalOut SCL(PB_6);
Giamarchi 6:6a3d4e0f6799 40 DigitalOut SDA(PB_7);
Giamarchi 5:48f3f58ebd13 41
Giamarchi 5:48f3f58ebd13 42 // Adresses des 2 EEPROMs I2C
Giamarchi 5:48f3f58ebd13 43 #define EEPROM1 0b1010000
Giamarchi 5:48f3f58ebd13 44 #define EEPROM2 0b1010001
Giamarchi 5:48f3f58ebd13 45
Giamarchi 5:48f3f58ebd13 46 // Lignes pour piloter des servomoteurs
Giamarchi 5:48f3f58ebd13 47 //DigitalOut SERVO1(PB_9);
Giamarchi 5:48f3f58ebd13 48 //DigitalOut SERVO2(PB_8);
Giamarchi 5:48f3f58ebd13 49 //DigitalOut SERVO3(PC_8);
Giamarchi 5:48f3f58ebd13 50 //DigitalOut SERVO4(PC_9);
Giamarchi 5:48f3f58ebd13 51
Giamarchi 5:48f3f58ebd13 52 // Lignes pour piloter 2 moteurs DC
Giamarchi 5:48f3f58ebd13 53 //DigitalOut EN1(PB_10);
Giamarchi 5:48f3f58ebd13 54 //PwmOut EN1(PB_10);
Giamarchi 5:48f3f58ebd13 55 //DigitalOut IN1(PB_1);
Giamarchi 5:48f3f58ebd13 56 //DigitalOut IN2(PB_2);
Giamarchi 7:1f768ebd2742 57 /*
Giamarchi 5:48f3f58ebd13 58 void Set_8Dels(uint8_t position)
Giamarchi 5:48f3f58ebd13 59 {
Giamarchi 5:48f3f58ebd13 60 L0 = position & 0x01;
Giamarchi 5:48f3f58ebd13 61 L1 = position & 0x02;
Giamarchi 5:48f3f58ebd13 62 L2 = position & 0x04;
Giamarchi 5:48f3f58ebd13 63 L3 = position & 0x08;
Giamarchi 5:48f3f58ebd13 64 L4 = position & 0x10;
Giamarchi 5:48f3f58ebd13 65 L5 = position & 0x20;
Giamarchi 5:48f3f58ebd13 66 L6 = position & 0x40;
Giamarchi 5:48f3f58ebd13 67 L7 = position & 0x80;
Giamarchi 5:48f3f58ebd13 68 }
Giamarchi 7:1f768ebd2742 69 */
Giamarchi 5:48f3f58ebd13 70 /* MAX7219 : Interface SPI pour afficheur 7 segments */
Giamarchi 8:5c8bf540ed8e 71 void Init_Spi(void)
Giamarchi 5:48f3f58ebd13 72 {
Giamarchi 5:48f3f58ebd13 73 spi.format(16,3); // SPI en mode 16 bits
Giamarchi 5:48f3f58ebd13 74
Giamarchi 5:48f3f58ebd13 75 CS = 0;
Giamarchi 5:48f3f58ebd13 76 // spi.write(0x0F01); // Test Display On
Giamarchi 5:48f3f58ebd13 77 // spi.write(0x0F00); // Test Display Off
Giamarchi 5:48f3f58ebd13 78 spi.write(0x0C01);
Giamarchi 5:48f3f58ebd13 79 CS = 1;
Giamarchi 5:48f3f58ebd13 80
Giamarchi 5:48f3f58ebd13 81 CS = 0;
Giamarchi 5:48f3f58ebd13 82 spi.write(0x090F); // Mode BCD sur 4 digits
Giamarchi 5:48f3f58ebd13 83 CS = 1;
Giamarchi 5:48f3f58ebd13 84
Giamarchi 5:48f3f58ebd13 85 CS = 0;
Giamarchi 8:5c8bf540ed8e 86 spi.write(0x0A01); // Intensité à 1/15
Giamarchi 5:48f3f58ebd13 87 CS = 1;
Giamarchi 5:48f3f58ebd13 88
Giamarchi 5:48f3f58ebd13 89 CS = 0;
Giamarchi 5:48f3f58ebd13 90 spi.write(0x0B03);
Giamarchi 5:48f3f58ebd13 91 CS = 1;
Giamarchi 5:48f3f58ebd13 92
Giamarchi 5:48f3f58ebd13 93 // CS = 0;
Giamarchi 5:48f3f58ebd13 94 // spi.write(0x0F01);
Giamarchi 5:48f3f58ebd13 95 // CS = 1;
Giamarchi 5:48f3f58ebd13 96 // wait_ms(1000);
Giamarchi 5:48f3f58ebd13 97 CS = 0;
Giamarchi 5:48f3f58ebd13 98 spi.write(0x0F00); // Test mode Off
Giamarchi 5:48f3f58ebd13 99 CS = 1;
Giamarchi 5:48f3f58ebd13 100
Giamarchi 5:48f3f58ebd13 101 CS = 0;
Giamarchi 5:48f3f58ebd13 102 spi.write(0x0101); // Chiffre des milliers
Giamarchi 5:48f3f58ebd13 103 CS = 1;
Giamarchi 5:48f3f58ebd13 104 CS = 0;
Giamarchi 5:48f3f58ebd13 105 spi.write(0x0282); // Chiffre des centaines
Giamarchi 5:48f3f58ebd13 106 CS = 1;
Giamarchi 5:48f3f58ebd13 107 CS = 0;
Giamarchi 5:48f3f58ebd13 108 spi.write(0x0303); // Chiffre des dizaines
Giamarchi 5:48f3f58ebd13 109 CS = 1;
Giamarchi 5:48f3f58ebd13 110 CS = 0;
Giamarchi 5:48f3f58ebd13 111 spi.write(0x0404); // Chiffre des unités
Giamarchi 5:48f3f58ebd13 112 CS = 1;
Giamarchi 5:48f3f58ebd13 113 }
Giamarchi 8:5c8bf540ed8e 114
Giamarchi 8:5c8bf540ed8e 115 void Affiche_Display(uint16_t valeur)
Giamarchi 8:5c8bf540ed8e 116 {
Giamarchi 8:5c8bf540ed8e 117 uint8_t ch_4, ch_3, ch_2, ch_1;
Giamarchi 8:5c8bf540ed8e 118
Giamarchi 8:5c8bf540ed8e 119 ch_4 = valeur/1000;
Giamarchi 8:5c8bf540ed8e 120 valeur = valeur - ch_4*1000;
Giamarchi 8:5c8bf540ed8e 121 ch_3 = valeur/100;
Giamarchi 8:5c8bf540ed8e 122 valeur = valeur - ch_3*100;
Giamarchi 8:5c8bf540ed8e 123 ch_2 = (valeur/10);
Giamarchi 8:5c8bf540ed8e 124 valeur = valeur - ch_2*10;
Giamarchi 8:5c8bf540ed8e 125 ch_1 = valeur;
Giamarchi 8:5c8bf540ed8e 126
Giamarchi 8:5c8bf540ed8e 127 CS = 0;
Giamarchi 8:5c8bf540ed8e 128 spi.write(0x0100 | ch_4); // Chiffre des milliers
Giamarchi 8:5c8bf540ed8e 129 CS = 1;
Giamarchi 8:5c8bf540ed8e 130 CS = 0;
Giamarchi 8:5c8bf540ed8e 131 spi.write(0x0280 | ch_3); // Chiffre des centaines avec le point (8)
Giamarchi 8:5c8bf540ed8e 132 CS = 1;
Giamarchi 8:5c8bf540ed8e 133 CS = 0;
Giamarchi 8:5c8bf540ed8e 134 spi.write(0x0300 | ch_2); // Chiffre des dizaines
Giamarchi 8:5c8bf540ed8e 135 CS = 1;
Giamarchi 8:5c8bf540ed8e 136 CS = 0;
Giamarchi 8:5c8bf540ed8e 137 spi.write(0x0400 | ch_1); // Chiffre des unités
Giamarchi 8:5c8bf540ed8e 138 CS = 1;
Giamarchi 8:5c8bf540ed8e 139 }