version panneau d'octobre 2018 pour TR de S2 et projet de S3

Dependencies:   mbed

Fork of duj401 by dujardin stephane

Committer:
dujardin
Date:
Fri Nov 25 14:55:07 2016 +0000
Revision:
5:10349dda4f42
Parent:
2:1af4d847d589
Child:
6:edb27e228558
panneau les duj 11 2016

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dujardin 1:95a7e179a181 1 // duj401 pour TR de s2
dujardin 1:95a7e179a181 2 // sans serie wdt ou autre
dujardin 1:95a7e179a181 3 // lieu de programmation >>> dans le draw !!
dujardin 1:95a7e179a181 4
dujardin 0:3cb0bc1eb7fa 5 #include "mbed.h"
dujardin 0:3cb0bc1eb7fa 6 #define LOW 0
dujardin 0:3cb0bc1eb7fa 7 #define HIGH 1
dujardin 0:3cb0bc1eb7fa 8 #define R 0
dujardin 0:3cb0bc1eb7fa 9 #define V 1
dujardin 0:3cb0bc1eb7fa 10 #define B 2
dujardin 2:1af4d847d589 11
dujardin 2:1af4d847d589 12 AnalogIn canx(PC_4);AnalogIn cany(PB_1); DigitalOut plus(PB_15); //adxl335
dujardin 2:1af4d847d589 13
dujardin 0:3cb0bc1eb7fa 14 BusOut ABCD(PA_14,PB_0,PA_15,PC_1); // version 32/32 nucleo f401
dujardin 0:3cb0bc1eb7fa 15 BusOut RVB(PA_7,PA_5,PA_4,PA_1,PA_6,PA_0); // RVB ( R a droite )un seul a ecrire
dujardin 0:3cb0bc1eb7fa 16 DigitalOut CLK(PC_2); // Data clock - rising edge
dujardin 0:3cb0bc1eb7fa 17 DigitalOut LAT(PC_0); // Data latch - active low (pulse up after data load)
dujardin 0:3cb0bc1eb7fa 18 DigitalOut OE(PC_3); // Output enable - active low (hold high during data load, bring low after LAT pulse)
dujardin 0:3cb0bc1eb7fa 19
dujardin 0:3cb0bc1eb7fa 20 char T[32][16][4]; // Tampon affichage 4 temps R1R2V1V2B1B2 32x32 (2*16 )
dujardin 5:10349dda4f42 21 char I[32][32][3]; // Y X rvb .. Image 32x32 en RVB 0 à 15 0: noir
dujardin 0:3cb0bc1eb7fa 22 int L; int M ; int O ; // variables globales idiotes
dujardin 0:3cb0bc1eb7fa 23 char J; char K ; char Q; char S ; char D; char F; // variables à la con
dujardin 0:3cb0bc1eb7fa 24 char G; char H ; char GG;
dujardin 0:3cb0bc1eb7fa 25 char T0 ; char T1 ; char T2 ; char T3;
dujardin 0:3cb0bc1eb7fa 26 int pt1 ; int pt2 ; int pt3 ;int pt4 ;
dujardin 0:3cb0bc1eb7fa 27 int dx ; int dy ; // position du 32/32 dans l'image li hi
dujardin 0:3cb0bc1eb7fa 28 int ax ; int ay ; int comf ; // ax offset en plus de dx et dy
dujardin 0:3cb0bc1eb7fa 29 char pixt ; int rr; int vv ; int bb ; // pour des couleurs
dujardin 2:1af4d847d589 30 float xin; float yin; // lecture accelero
dujardin 2:1af4d847d589 31 int accx ; int accy ; // acceleration
dujardin 5:10349dda4f42 32 int ar; int av ; int ab ; //couleurs de dessin
dujardin 5:10349dda4f42 33 int atr ; int atv ; int atb ; // couleurs du texte
dujardin 5:10349dda4f42 34 int varmax; int all ;//limite maximum pour eclairage all = 1 limite temps
dujardin 0:3cb0bc1eb7fa 35
dujardin 5:10349dda4f42 36 #include "LED.h" // gestion e/s vers matrice a led
dujardin 5:10349dda4f42 37 #include "char.h" // ecriture texte
dujardin 5:10349dda4f42 38 #include "draw.h" // le tableau effectue votre programme dansce draw
dujardin 0:3cb0bc1eb7fa 39
dujardin 0:3cb0bc1eb7fa 40 //***************************************************fin wdt
dujardin 0:3cb0bc1eb7fa 41 void init ()
dujardin 5:10349dda4f42 42 {all = 0 ; // pas de limite expo
dujardin 5:10349dda4f42 43 atr = 0 ; atv = 5 ; atb = 0 ; // couleur texte rouge
dujardin 5:10349dda4f42 44 ar = 0 ; av = 0 ; ab = 0 ; // couleur dessin noir
dujardin 0:3cb0bc1eb7fa 45 dx = 0 ; dy = 0 ; // recherche adresse du tableau dans un 8*8
dujardin 0:3cb0bc1eb7fa 46 ax = 0 ; ay = 0; // offset a ajouter a dx et dy pour mouvement
dujardin 0:3cb0bc1eb7fa 47 Tr(); // efface T
dujardin 0:3cb0bc1eb7fa 48 Ir(); // efface I
dujardin 2:1af4d847d589 49 plus = HIGH ;
dujardin 0:3cb0bc1eb7fa 50 }
dujardin 0:3cb0bc1eb7fa 51
dujardin 0:3cb0bc1eb7fa 52 int main()
dujardin 0:3cb0bc1eb7fa 53 {
dujardin 0:3cb0bc1eb7fa 54 init(); // initialisations importantes
dujardin 0:3cb0bc1eb7fa 55
dujardin 0:3cb0bc1eb7fa 56 //
dujardin 1:95a7e179a181 57 while(1) // boucle sans fin ( temps d'execution 30 ms )
dujardin 2:1af4d847d589 58 {
dujardin 2:1af4d847d589 59 xin = canx.read(); yin= cany.read();
dujardin 5:10349dda4f42 60 // accx = xin * 150-75; accy = yin * 150 - 75 ;
dujardin 5:10349dda4f42 61 accx = xin * 1500-750; accy = yin * 1500 - 750 ; // on amplifie !
dujardin 1:95a7e179a181 62 draw(); // dans draw.h c'est le lieu de votre programme en Tr
dujardin 0:3cb0bc1eb7fa 63
dujardin 1:95a7e179a181 64 IversT(); // recharge votre image I vers T
dujardin 1:95a7e179a181 65 Taffi(); // passe T vers les LEDs
dujardin 1:95a7e179a181 66 Ir(); // efface le dessin dans image I
dujardin 0:3cb0bc1eb7fa 67 }
dujardin 0:3cb0bc1eb7fa 68 }