projets:fuz:ac_giant_led_matrix
                Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| projets:fuz:ac_giant_led_matrix [2019-02-22 14:06] – barzi | projets:fuz:ac_giant_led_matrix [2023-02-02 22:06] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ======  | + | ======  | 
| <WRAP round box 60%> | <WRAP round box 60%> | ||
| Line 7: | Line 7: | ||
| ===== Ressources ===== | ===== Ressources ===== | ||
| - |   * collab [[user: | + |   * collab [[user: | 
| - | * | + |   * [[https:// | 
| ===== Ressources ===== | ===== Ressources ===== | ||
|   * [[https:// |   * [[https:// | ||
|   * [[https:// |   * [[https:// | ||
| + | |||
| + | ===== Dev log ===== | ||
| + | |||
| + | ==== session 22 fev 2019 ==== | ||
| + | {{: | ||
| + | {{: | ||
| + | {{: | ||
| + | {{: | ||
| + | |||
| + | ===== Code ===== | ||
| + | |||
| + | ++++ Code arduino 240V lettres 2 colonnes | | ||
| + | <code c> | ||
| + | |||
| + | #include < | ||
| + | #define DEBUG false | ||
| + | |||
| + | #define COL_NB 2 | ||
| + | #define LIN_NB 7 | ||
| + | |||
| + | int pin_col[COL_NB] = {3, 2}; | ||
| + | int pin_lin[LIN_NB] = {4, 5, 6, 7, 8, 9, 10}; | ||
| + | |||
| + | int seg[2][7] = { {0, 1, 0, 1, 0, 0, 0},{1, 0, 1, 0, 1, 0, 0} }; | ||
| + | |||
| + | //AC | ||
| + | # | ||
| + | int last_AC_detect = LOW; | ||
| + | |||
| + | void setup() { | ||
| + | //AC | ||
| + |   pinMode2(pinACsense, | ||
| + |   pinMode2(LED_BUILTIN, | ||
| + | |||
| + | for (int i = 0; i < COL_NB; i++) { | ||
| + |     pinMode2(pin_col[i], | ||
| + | } | ||
| + | |||
| + | for (int i = 0; i < LIN_NB; i++) { | ||
| + |     pinMode2(pin_lin[i], | ||
| + | } | ||
| + | |||
| + |   if (DEBUG) Serial.begin(115200); | ||
| + |   if (DEBUG) Serial.println(" | ||
| + | } | ||
| + | |||
| + | |||
| + | int letter[7]; | ||
| + | |||
| + | void loop() { | ||
| + | //int digitNb = ((long)millis / 1000) % 2; | ||
| + | |||
| + | // COLONNES < 2 | ||
| + | for (int j = 0; j < 2; j++) { | ||
| + | |||
| + | // copy current letter | ||
| + | /* | ||
| + | for (int k = 0; k < 7; k++) { | ||
| + | letter[k] = seg[j][k]; | ||
| + |       if (DEBUG) Serial.print(letter[k]); | ||
| + |       if (DEBUG) Serial.print(" | ||
| + | } | ||
| + |     if (DEBUG) Serial.println("" | ||
| + | */ | ||
| + |     //////////////////// | ||
| + | |||
| + | // allume une colonne | ||
| + | int b = pin_col[j]; | ||
| + |     digitalWrite2(b, | ||
| + | |||
| + | |||
| + | // LIGNES < 7 | ||
| + | for (int i = 0; i < 7; i++) { | ||
| + | |||
| + | int a = pin_lin[i]; | ||
| + | |||
| + | //if (letter[i] == 1) { | ||
| + | if (seg[j][i] == 1) { | ||
| + |         digitalWrite2(a, | ||
| + |         if (DEBUG) Serial.print(" | ||
| + | } | ||
| + | else { | ||
| + |         digitalWrite2(a, | ||
| + |         if (DEBUG) Serial.print(" | ||
| + | } | ||
| + |       if (DEBUG) Serial.println("" | ||
| + | |||
| + | } // end lines | ||
| + | |||
| + | |||
| + | // persistence retinienne (env 40ms) | ||
| + |      | ||
| + |     delayMicroseconds(9000); | ||
| + |      | ||
| + | // Wait for AC sync... | ||
| + | int AC_detect = LOW; | ||
| + | while ( AC_detect != HIGH) { | ||
| + |       AC_detect = digitalRead2(pinACsense); | ||
| + | } | ||
| + | |||
| + | |||
| + | // cols down | ||
| + |     digitalWrite2(b, | ||
| + | |||
| + | // lines down | ||
| + | for (int t = 0; t < 7; t++) { | ||
| + | int z = pin_lin[t]; | ||
| + |       digitalWrite2(z, | ||
| + | } | ||
| + |      | ||
| + | } // end cols | ||
| + | |||
| + | } | ||
| + | </ | ||
| + | ++++ | ||
| + | |||
| + | ++++ Code arduino 240V led matrix test simple  | ||
| + | <code c> | ||
| + | #define COL_NB 2 | ||
| + | #define LIN_NB 7 | ||
| + | |||
| + | int pin_col[COL_NB] = {2, 3}; | ||
| + | int pin_lin[LIN_NB] = {4, 5, 6, 7, 8, 9, 10}; | ||
| + | |||
| + | |||
| + | |||
| + | void setup() { | ||
| + | for (int i = 0; i < COL_NB; i++) { | ||
| + |     pinMode(pin_col[i], | ||
| + | } | ||
| + | |||
| + | for (int i = 0; i < LIN_NB; i++) { | ||
| + |     pinMode(pin_lin[i], | ||
| + | } | ||
| + | |||
| + |   Serial.begin(114200); | ||
| + |   Serial.println(" | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | |||
| + | for (int i = 0; i < 2; i++) { | ||
| + | int a = random(2) + 2; | ||
| + |     //int a=pin_col[i]; | ||
| + | |||
| + |     digitalWrite(a, | ||
| + |     Serial.print(" | ||
| + |     Serial.println(a); | ||
| + | |||
| + | for (int j = 0; j < LIN_NB; j++) { | ||
| + | int b = random(7) + 4; | ||
| + |       //int a=pin_lin[j]; | ||
| + | |||
| + |       digitalWrite(b, | ||
| + |       Serial.print(" | ||
| + |       Serial.println(pin_lin[j]); | ||
| + | delay(50); | ||
| + |        | ||
| + |       random(5)==0? | ||
| + | } | ||
| + | |||
| + |     digitalWrite(a, | ||
| + | |||
| + | /* | ||
| + | for (int j = 0; j < LIN_NB; j++) { | ||
| + |           // | ||
| + |           Serial.print(" | ||
| + |           Serial.println(pin_lin[j]); | ||
| + | delay(10); | ||
| + |           digitalWrite(pin_lin[j], | ||
| + | } | ||
| + | |||
| + |         digitalWrite(pin_col[i], | ||
| + | */ | ||
| + | } | ||
| + | |||
| + | } | ||
| + | </ | ||
| + | ++++ | ||
| + | |||
| + | ++++ Code arduino 240V led matrix with AC sensing and FastIO | | ||
| + | <code c> | ||
| + | #include < | ||
| + | |||
| + | |||
| + | #define COL_NB 2 | ||
| + | #define LIN_NB 7 | ||
| + | |||
| + | int pin_col[COL_NB] = {2, 3}; | ||
| + | int pin_lin[LIN_NB] = {4, 5, 6, 7, 8, 9, 10}; | ||
| + | |||
| + | //AC | ||
| + | # | ||
| + | int last_AC_detect = LOW; | ||
| + | |||
| + | void setup() { | ||
| + | //AC | ||
| + |   pinMode2(pinACsense, | ||
| + |   pinMode2(LED_BUILTIN, | ||
| + | |||
| + | for (int i = 0; i < COL_NB; i++) { | ||
| + |     pinMode2(pin_col[i], | ||
| + | } | ||
| + | |||
| + | for (int i = 0; i < LIN_NB; i++) { | ||
| + |     pinMode2(pin_lin[i], | ||
| + | } | ||
| + | |||
| + |   // | ||
| + |   // | ||
| + | } | ||
| + | |||
| + | int intensity_time = 0; | ||
| + | int step = 40; | ||
| + | // bool back_from_last_scan = false; | ||
| + |    | ||
| + | void loop() { | ||
| + |    | ||
| + | // LIGNES < 7 | ||
| + | for (int i = 0; i < 4; i++) { | ||
| + | |||
| + | /* | ||
| + | int AC_detect = LOW; | ||
| + | // Wait for AC sync... | ||
| + | while ( AC_detect != HIGH || back_from_last_scan) { | ||
| + |       AC_detect = digitalRead(pinACsense); | ||
| + | } | ||
| + | */ | ||
| + | int a = pin_lin[i]; | ||
| + | |||
| + |     digitalWrite2(a, | ||
| + | |||
| + | // COLONNES < 2 | ||
| + | for (int j = 0; j < 2; j++) { | ||
| + | |||
| + | int b = pin_col[j]; | ||
| + |       digitalWrite2(b, | ||
| + | |||
| + | } | ||
| + | |||
| + | int AC_detect = LOW; | ||
| + | // Wait for AC sync... | ||
| + | while ( AC_detect != HIGH) { | ||
| + |       AC_detect = digitalRead2(pinACsense); | ||
| + | } | ||
| + |      | ||
| + |     // | ||
| + | /* | ||
| + |         delayMicroseconds(intensity_time); | ||
| + | intensity_time += step; | ||
| + | if(abs(intensity_time) > 9000) step=-step; | ||
| + | */ | ||
| + | // ligne down | ||
| + |     digitalWrite2(a, | ||
| + | |||
| + | // cols down | ||
| + | for (int j = 0; j < 2; j++) { | ||
| + | int b = pin_col[j]; | ||
| + |       digitalWrite2(b, | ||
| + | } | ||
| + | |||
| + | // back_from_last_scan = true; | ||
| + | |||
| + | } | ||
| + | |||
| + | } | ||
| + | </ | ||
| + | ++++ | ||
| + | |||
| ===== Roadmap ===== | ===== Roadmap ===== | ||
projets/fuz/ac_giant_led_matrix.1550844395.txt.gz · Last modified:  (external edit)