| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283 |
- /**
- * Minitel library for Arduino (v0.1) / May 2013
- * http://github.com/01010101/Minitel
- *
- * By Jerome Saint-Clair aka 01010101
- * http://saint-clair.net
- *
- * For the Graffiti Research Lab France
- * http://graffitiresearchlab.fr
- *
- * Based on works by the Tetalab (Fabrice, Renaud, PG & Phil)
- * http://tetalab.org
- */
-
- #include <SoftwareSerial.h>
- #include <Minitel.h>
- Minitel m;
- void setup() {
- }
- void loop() {
- m.clearScreen();
- m.pixelate();
-
- m.textMode();
-
-
- int x = 9;
-
-
- // U
- for (int i=5; i<9; i++) {
- m.textByte(123, x, i);
- m.textByte(123, x+2, i);
- }
- m.textChar('\\', x, 9);
- m.textChar('_', x+1, 9);
- m.textByte(123, x+2, 9);
- // ll
- for (int i=1; i<10; i++) {
- m.textByte(123, x+4, i);
- m.textByte(123, x+6, i);
- }
- // A
- m.textChar('/', x+8, 5);
- m.textChar('_', x+9, 4);
- m.textByte(123, x+10, 5);
- for (int i=6; i<9; i++) {
- m.textByte(123, x+8, i);
- m.textByte(123, x+10, i);
- }
- m.textChar('\\', x+8, 9);
- m.textChar('_', x+9, 9);
- m.textChar('\\', x+10, 9);
- m.text("MESSAGERIE AMICALE", 22, 2);
- m.text("ET CONVIVIALE", 22, 3);
-
-
- m.textChar('/', x+4, 10);
- m.textChar('/', x+3, 11);
- m.textChar('/', x+2, 12);
- m.textChar('\\', x+5, 10);
- m.textChar('\\', x+6, 11);
- m.textChar('\\', x+7, 12);
- m.graphicMode();
- m.textColor(RED);
- m.textByte(112, 1, 12);
- m.repeat(9);
- m.textByte(112, 17, 12);
- m.repeat(3);
- m.textByte(112, 34, 12);
- m.repeat(6);
- m.textMode();
- // Line -6
- m.textColor(RED);
- m.textChar('_', 28, 7);
- m.textChar('_');
- // Line -5
-
- m.textByte(123, 28, 8);
- m.textColor(WHITE);
- m.textChar('\\', 30, 8);
- // Line -4
- m.textChar('/', 27, 9);
- m.textColor(RED);
- m.textChar('\\', 31, 9);
- m.textColor(WHITE);
- // Line -3 (10)
- m.textChar('/', 23, 10);
- m.textColor(RED);
- m.textByte(126);
- m.repeat(2);
- m.textChar('_', 27, 10);
- m.textChar('\\', 32, 10);
- m.textColor(WHITE);
- // Line -2 (11)
- m.textChar('/', 22, 11);
-
- m.graphicMode();
-
- // Line 1
- m.textByte(127, 1, 13);
- m.repeat(8);
- m.textByte(39, 10, 13);
- m.textByte(9);
- m.textByte(9);
- m.textByte(96);
- m.textByte(9);
- m.textByte(9);
- m.textByte(9);
- m.textByte(43);
- m.textByte(127);
- m.textByte(127);
- m.textByte(39);
-
- m.textByte(106, 29, 13);
- m.textByte(48);
- m.textByte(32);
- m.textByte(112);
- m.textByte(126);
-
- m.textByte(127, 34, 13);
- m.repeat(6);
-
- // Line 2
- m.textByte(127, 1, 14);
- m.repeat(7);
- m.textByte(39, 9, 14);
- m.textByte(9);
- m.textByte(9);
- m.textByte(120);
- m.textByte(127);
- m.textByte(116);
- // m.textByte(48);
-
-
- m.textByte(112, 26, 14);
- m.textByte(52);
- m.textByte(106, 29, 14);
- m.textByte(127);
- m.repeat(10);
- /*
- m.textByte(32);
- m.textByte(112);
- m.textByte(126);
- m.textByte(127);
- m.repeat(8);
- */
-
- // Line 3
- m.textByte(47, 1, 15);
- m.textByte(39);
- m.textByte(35);
- m.textByte(35);
- m.textByte(9);
- m.textByte(35);
- m.textByte(9);
- m.textMode();
- m.textColor(RED);
- m.textChar('/');
- m.textByte(32);
- m.repeat(5);
- m.textChar('\\');
- m.graphicMode();
- m.textColor(WHITE);
- m.textByte(96, 23, 15);
- m.textByte(124);
- m.textByte(127);
- m.textByte(127);
- m.textByte(37);
-
- m.graphicMode();
- m.textColor(WHITE);
- m.textByte(106, 29, 15);
- m.textByte(127);
- m.repeat(10);
-
- // Line 4
- m.textMode();
- m.textColor(WHITE);
- m.textChar('_', 23, 16);
- m.textChar('_', 24, 16);
- m.textColor(RED); // bras
- m.textChar('_', 25, 16);
- m.textChar('_', 26, 16);
- m.graphicMode();
- m.textColor(WHITE);
- m.textByte(106, 29, 16);
- m.textByte(127);
- m.repeat(10);
-
- // Line 5
- m.textColor(RED);
- m.textByte(127, 1, 17);
- m.textByte(127);
- m.textByte(116);
- m.textByte(112);
- m.textByte(112);
- m.textByte(32);
- m.textByte(32);
- m.textByte(112);
- m.textByte(112);
- m.textByte(124);
- m.repeat(3);
- m.textByte(112);
- m.repeat(2);
- m.textByte(32);
- m.repeat(2);
- m.textColor(WHITE);
- m.textByte(122, 29, 17);
- m.textByte(127);
- m.repeat(10);
-
- // Line 6
- m.textColor(RED);
- m.textByte(127, 1, 18);
- m.repeat(15);
- m.textByte(125);
- m.textByte(112);
- m.repeat(2);
- m.textByte(124);
- m.repeat(6);
- m.textByte(127);
- m.repeat(12);
-
- m.textMode();
- m.invertVideo();
- m.textColor(RED);
- m.bgColor(WHITE);
- m.text(" Si vous connaissez et acceptez les ", 1, 19);
- m.text(" conditions d'accès, tapez votre prénom ", 1, 20);
- m.text(" ou inventez un pseudo (5 à 31 signes) ", 1, 21);
- m.text(" Merci de rester correct. ", 1, 22);
-
- m.standardVideo();
- m.textColor(WHITE);
- m.bgColor(BLACK);
- m.text("...............................", 2, 23);
- m.text("Si vous ne les connaissez pas", 2, 24);
- m.textChar('+', 34, 23);
- m.specialChar(SPE_CHAR_ARROW_RIGHT, 34, 24);
- m.invertVideo();
- m.text("Envoi", 36, 23);
- m.text("Guide", 36, 24);
- m.standardVideo();
-
- m.textColor(WHITE);
-
- m.moveCursorTo(2, 23);
- m.cursor();
-
- delay(20000);
- }
|