Jump to: navigation, search

Système Technique Simple - BA3:Aurélie Beghin

Little dance

B3-beghin-arduino.jpg

Note d'intention artistique

Il s'agit d'une animation d'un personnage qui danse sous un espèce de monstre. Il ne se soucie pas du danger.

Synthèse technique détaillant la mise en oeuvre du dispositif technique choisi

  • 1 Arduino Uno;
  • 1 écran lcd;
  • 1 potentiomètre;
  • 11 câbles mâle-mâle;

Fritzing

B3-beghin-fritzing.png B3-beghin schéma.png

Arduino

Pour que votre code soit formaté correctement, ajoutez un espace au début de la ligne.


#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// création des personnages
 byte personnage[8] = {
 0b00000,
 0b01110,
 0b01110,
 0b00100,
 0b11111,
 0b00100,
 0b00100,
 0b01010
 };
 byte personnage2[8] = {
 0b00000,
 0b01110,
 0b01110,
 0b00100,
 0b11100,
 0b00100,
 0b00100,
 0b01000
 };
 byte personnage3[8] = {
 0b00000,
 0b01110,
 0b01110,
 0b00100,
 0b00111,
 0b00100,
 0b00100,
 0b00010
 };
 byte personnage4[8] = {
 0b01110,
 0b01110,
 0b10101,
 0b01110,
 0b00100,
 0b00100,
 0b01010,
 0b00000
 };
 byte inva[8] = {
 0b00000,
 0b01110,
 0b10101,
 0b11111,
 0b10101,
 0b10001,
 0b01010,
 0b00000
 };
 byte inva2[8] = {
 0b00000,
 0b01110,
 0b10101,
 0b11111,
 0b10101,
 0b10001,
 0b10001,
 0b00000
 };
void setup() {
 lcd.begin(16, 2);
 lcd.createChar(3, personnage4);
 lcd.createChar(4, personnage);
 lcd.createChar(5, personnage2);
 lcd.createChar(6, personnage3);
 lcd.createChar(7, inva);
 lcd.createChar(8, inva2);
 lcd.print("I "); 
 lcd.write(byte(0));
 lcd.print(" Arduino! ");
 lcd.write((byte) 1);
}
void loop() {
 //passe d'une animation à une autre
  animation();
  animation2();   
  animation4();
  animation3();
  animation();
  animation5();
}
//permet de classer et de créer les animations
void animation (){
 for (int i = 0; i < 16; i++){
   lcd.setCursor(i,1);
 lcd.write(4);
 lcd.setCursor(i, 0);
 lcd.write(7);
 }
 delay(1000);
 }
 void animation2 (){
 for (int i =0; i < 16; i++){
   lcd.setCursor(i,1);
 lcd.write(5);
 lcd.setCursor(i, 0);
 lcd.write(8);
   } 
   delay(1000);
 }
 void animation3 (){
 for (int i = 0; i < 16; i++){
   lcd.setCursor(i,1);
 lcd.write(6);
 lcd.setCursor(i, 0);
 lcd.write(8);
   }
   
   delay(1000);
 }
 void animation4 (){
 for (int i = 0; i < 16; i++){
   lcd.setCursor(i,1);
 lcd.write(3);
 lcd.setCursor(i, 0);
 lcd.write(7);
 }
 delay(1000);
 }
 void animation5 (){
 for (int i = 0; i < 16; i++){
   lcd.setCursor(i,1);
 lcd.write(3);
 lcd.setCursor(i, 0);
 lcd.write(8);
 }
 delay(1000);
 }

lien pour récupérer les fichiers fritzing et arduino : http://beghin.kooka.be/programmation/arduino/

Références

https://ohmyfarads.wordpress.com/2013/11/05/custom-animated-characters-on-16x2-lcd-with-potentiometer-to-control-animation/