Yncréa ISEN Nimes CSI3 Electronique Numérique RF24Network Base 00

Dependencies:   mbed RF24Network RF24

Committer:
Giamarchi
Date:
Sun May 23 23:40:19 2021 +0000
Revision:
5:7937720a2afe
Parent:
4:25610749c91c
Child:
6:b5f1a2ddbb56
no modif

Who changed what in which revision?

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