Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
wiki:flossmanuals:imprimante-thermique-esoterique:accueil [2021/04/26 12:01] lea_gonthier créée |
wiki:flossmanuals:imprimante-thermique-esoterique:accueil [2021/05/25 11:50] (Version actuelle) lea_gonthier [Programmes] |
||
---|---|---|---|
Ligne 14: | Ligne 14: | ||
===== Intentions : explication du projet et objectifs ===== | ===== Intentions : explication du projet et objectifs ===== | ||
+ | L' | ||
===== Plans et schémas de fonctionnement ===== | ===== Plans et schémas de fonctionnement ===== | ||
+ | {{ : | ||
===== Programmes ===== | ===== Programmes ===== | ||
- | + | ARDUINO | |
+ | |||
+ | < | ||
+ | |||
+ | // | ||
+ | |||
+ | #include " | ||
+ | #include " | ||
+ | #define TX_PIN 6 | ||
+ | #define RX_PIN 5 | ||
+ | |||
+ | SoftwareSerial mySerial(RX_PIN, | ||
+ | Adafruit_Thermal printer(& | ||
+ | |||
+ | //une led est utilisée pour vérifier le bon fonctionnement du bouton. Ce n'est pas obligatoire. | ||
+ | const int buttonPin = 2; // le numéro de la broche utilisée par le bouton | ||
+ | const int ledPin = 13; // le numéro de la broche utilisée par la led | ||
+ | int buttonState = 0; // variable pour vérifier l' | ||
+ | |||
+ | |||
+ | //placez ici le titre de l' | ||
+ | const char string_0[] PROGMEM = "TITRE \n"; | ||
+ | const char string_1[] PROGMEM = "TITRE \n"; | ||
+ | const char string_2[] PROGMEM = "TITRE \n"; | ||
+ | const char string_3[] PROGMEM = "TITRE \n"; | ||
+ | |||
+ | // placez le texte de votre histoire/ | ||
+ | // le texte doit être sur une seule ligne, voir le wiki du projet pour le formatage du texte et des caractères spéciaux | ||
+ | const char string_4[] PROGMEM = " | ||
+ | const char string_5[] PROGMEM = " | ||
+ | const char string_6[] PROGMEM = " | ||
+ | const char string_7[] PROGMEM = " | ||
+ | |||
+ | //fin du mode histoire | ||
+ | |||
+ | |||
+ | // Tableau des textes | ||
+ | |||
+ | const char* const string_table[] PROGMEM = {string_0, string_1, | ||
+ | const char* const string_table1[] PROGMEM = {string_4, string_5, | ||
+ | |||
+ | char buffer[1040]; | ||
+ | |||
+ | int chiffreal = 0; // définit le nom de la valeur aléatoire pour déterminer le texte à utiliser | ||
+ | |||
+ | |||
+ | //fonction intégrant les différents textes à imprimer appelés ici vers 1, vers 2, ... | ||
+ | void vers1 () { | ||
+ | |||
+ | chiffreal = random(0, | ||
+ | |||
+ | { | ||
+ | strcpy_P(buffer, | ||
+ | printer.println(buffer); | ||
+ | delay( 1000 ); // patiente une seconde | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void vers2 () { | ||
+ | { | ||
+ | strcpy_P(buffer, | ||
+ | printer.println(buffer); | ||
+ | delay( 1000 ); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void setup() { | ||
+ | // défini la broche de la led comme une sortie | ||
+ | pinMode(ledPin, | ||
+ | // défini la broche du bouton comme une entrée | ||
+ | pinMode(buttonPin, | ||
+ | // initialise l' | ||
+ | mySerial.begin(19200); | ||
+ | printer.begin(); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | // vérifier l' | ||
+ | buttonState = digitalRead(buttonPin); | ||
+ | |||
+ | // Si le bouton est pressé | ||
+ | if (buttonState == HIGH) { | ||
+ | // Allume la led | ||
+ | digitalWrite(ledPin, | ||
+ | printer.wake(); | ||
+ | printer.feed(1); | ||
+ | printer.boldOn(); | ||
+ | vers1(); // imprime le premier texte | ||
+ | vers2(); // imprime le second texte ... | ||
+ | // vers3(); // en fonction du nombre d' | ||
+ | printer.feed(1); | ||
+ | printer.println(" | ||
+ | printer.boldOff(); | ||
+ | printer.feed(2); | ||
+ | printer.sleep(); | ||
+ | |||
+ | } | ||
+ | else { | ||
+ | // éteins la led et ne fais rien | ||
+ | digitalWrite(ledPin, | ||
+ | |||
+ | |||
+ | } | ||
+ | |||
+ | } | ||
+ | </ | ||
===== Réalisation de la maquette ===== | ===== Réalisation de la maquette ===== | ||
vidéos, photos du making of... | vidéos, photos du making of... | ||