Paso 6: El código
El código original es de un hallazgo de internet que se observa en los comentarios
Yo he modificado mucho
Algunas cuestiones:
sin un sensor de pasillo, uno tendrá que jugar con el tiempo entre las palabras para obtener una imagen razonablemente estable
Bicicleta de Arduino POV
//
por Scott Mitchell
www.OpenObject.org
Urbanismo de código abierto
//
Copyright (C) 2008 Scott Mitchell 10/12/2008
//
Este programa es software libre: usted puede redistribuirlo y/o modificar
bajo los términos de la GNU General Public License publicada por
la Free Software Foundation, ya sea la versión 3 de la licencia, o
(a su opción) cualquier versión posterior.
//
//============================================================
6/2011 modificado pesadamente por c. Dubois para mi proyecto POV
Sensor Hall es un interruptor, usé el código diferente para él
también se utiliza una font.h que encontré
// ------------------------------------------------------------
definición de alfabeto
#include "font.h"
definir los pines de Arduino LED en uso
const int [] LEDpins = {}
1,2,3,4,5,6,7};
número de LEDs
const int charHeight = sizeof(LEDpins);
const int charWidth = 5;
int var = 0;
int worddelay = 50000;
configuración de sensor
const int sensorPIN = 0; definir el conector de sensor de Arduino
Boolean sensorFlag = false; almacena el estado del sensor
int sensVal; variable para almacenar el valor que viene desde el sensor
[] textString de const char = "CLAIRE";
[] textString2 de const char = "es una";
[] textString3 de const char = "Miel";
[] textString4 de const char = "Tejón";
void setup()
{
pinMode (13, salida);
pinMode (1, salida);
pinMode (2, salida);
pinMode (3, salida);
pinMode (4, salida);
pinMode (5, salida);
pinMode (6, salida);
pinMode (7, salida);
Serial.Begin(9600);
}
void loop()
{
Encienda el Led por un círculo en medio y prueba arduino es alimentado
digitalWrite (13, HIGH); prende el LED
sensVal = analogRead(sensorPIN); leer el Sensor de efecto Hall
Serial.println(sensVal);
Delay (500);
Si (sensVal! = 1023) {}
Encender los leds para comprobar que funciona y crear círculos
digitalWrite (1, alto); prende el LED
Delay(500);
digitalWrite (2, alto); prende el LED
Delay(500);
digitalWrite (3, alto); prende el LED
Delay(500);
digitalWrite (4, alto); prende el LED
Delay(500);
digitalWrite (5, alto); prende el LED
Delay(500);
digitalWrite (6, alto); prende el LED
Delay(500);
digitalWrite (7, alto); prende el LED
retraso para permitir que el ventilador se para
retrasar (3000);
imprimir cada carta de la textString
entonces clara e impresión textstring2
var = 0;
mientras (var < 200) {}
hacer algo repetitivo 150 veces
para (int k = 0; k < sizeof(textString); k ++) {}
printLetter(textString[k]);
}
var ++;
espacio entre palabras
delayMicroseconds(worddelay);
}
claro los LEDs
digitalWrite (1, bajo); fijar el LED apagado
digitalWrite (2, bajo); fijar el LED apagado
digitalWrite (3, bajo); fijar el LED apagado
digitalWrite (4, bajo); fijar el LED apagado
digitalWrite (5, bajo); fijar el LED apagado
digitalWrite (6, bajo); fijar el LED apagado
digitalWrite (7, bajo); fijar el LED apagado
retardo entre frases
Delay (500);
// ------------------------------
--ahora segunda frase---
var = 0;
mientras (var < 100) {}
hacer algo repetitivo 75 veces
para (int k = 0; k < sizeof(textString2); k ++) {}
printLetter(textString2[k]);
}
var ++;
espacio entre palabras
delayMicroseconds(worddelay);
}
claro los LEDs
digitalWrite (1, bajo); fijar el LED apagado
digitalWrite (2, bajo); fijar el LED apagado
digitalWrite (3, bajo); fijar el LED apagado
digitalWrite (4, bajo); fijar el LED apagado
digitalWrite (5, bajo); fijar el LED apagado
digitalWrite (6, bajo); fijar el LED apagado
digitalWrite (7, bajo); fijar el LED apagado
retardo entre frases
Delay (500);
--ahora no tercera frase---
var = 0;
mientras (var < 100) {}
hacer algo repetitivo 200 veces
para (int k = 0; k < sizeof(textString3); k ++) {}
printLetter(textString3[k]);
}
var ++;
espacio entre palabras
delayMicroseconds(worddelay);
}
claro los LEDs
digitalWrite (1, bajo); fijar el LED apagado
digitalWrite (2, bajo); fijar el LED apagado
digitalWrite (3, bajo); fijar el LED apagado
digitalWrite (4, bajo); fijar el LED apagado
digitalWrite (5, bajo); fijar el LED apagado
digitalWrite (6, bajo); fijar el LED apagado
digitalWrite (7, bajo); fijar el LED apagado
retardo entre frases
Delay (250);
--ahora no cuarta frase---
var = 0;
mientras (var < 175) {}
hacer algo repetitivo 200 veces
para (int k = 0; k < sizeof(textString4); k ++) {}
printLetter(textString4[k]);
}
var ++;
espacio entre palabras
delayMicroseconds(worddelay);
}
}
// }
// ------------------- Functions _________________
void printLetter(char ch)
{
Asegúrese de que el carácter está dentro de los límites del alfabeto (definidos por el archivo de font.h)
Si no es así, hacer que un carácter en blanco
Si (ch < 32 || ch > 126) {}
CH = 32;
}
resta el carácter de espacio (el número ASCII se convierte en el número de índice de la fuente)
CH-= 32;
paso a través de cada byte de la matriz de caracteres
para (int i = 0; i < charWidth; i ++) {}
byte b = fuente [ch] [i];
cambio por el octeto de bits y salida al pin
para (int j = 0; j < charHeight; j ++) {}
digitalWrite (LEDpins [j]! (b & (1 << j)));
}
espacio entre columnas
delayMicroseconds(425);
}
claro los LEDs
digitalWrite (1, bajo); prende el LED
digitalWrite (2, bajo); prende el LED
digitalWrite (3, bajo); prende el LED
digitalWrite (4, bajo); prende el LED
digitalWrite (5, bajo); prende el LED
digitalWrite (6, bajo); prende el LED
digitalWrite (7, bajo); prende el LED
espacio entre letras
delayMicroseconds(2600);
}