ATtiny85 POV Display (8 / 10 steg)
Steg 8: Programmering av ATtiny85
Du måste ansluta 6 stift på ATtiny85 till arduino och en kondensator för att programmera den.
PIN-anslutningar:
- ATtiny stift 2 till Arduino stift 13 (SCK)
- ATtiny stift 1 till Arduino stift 12 (MISO)
- ATtiny stift 0 till Arduino stift 11 (MOSI)
- ATtiny Reset stift till Arduino stift 10 (RESET)
Du måste också ansluta den + 5V och jord från ATtiny till Arduino.
Bifoga en 10 Micro Farad kondensator mellan Reset och Gnd av Arduino.
(Se diagrammet ovan)
När det är gjort, öppnar Arduino IDE, och gå till verktyg, ombord och välj lämplig styrelsen (vanligtvis det kommer att bli ATtiny85 (1 MHz intern klocka)).
Du bör också välja rätt serieport i verktyg, seriell port.
När det är gjort går du till verktyg, programmerare och ändra det till Arduino som ISP.
När du har gjort allt detta, kopiera och klistra in koden nedan och slå upp, sedan koppla in ATtiny i IC innehavaren och se din POV Display våren i praktiken.
Kod:
int fördröjningstid = 1;
int charBreak = 2.1.
int LED1 = 0;
int LED2 = 1;
int LED3 = 2;
int LED4 = 3;
int LED5 = 4;
void setup()
{
pinMode (LED1, OUTPUT);
pinMode (LED2, OUTPUT);
pinMode (LED3, OUTPUT);
pinMode (LED4, OUTPUT);
pinMode (LED5, OUTPUT);
}
int en [] = {1, 6, 26, 6, 1};
int b [] = {31 21, 21, 10, 0};
int c2 [] = {14, 17, 17, 10, 0};
int d [] = {31 17, 17, 14, 0};
int e [] = {31 21, 21, 17, 0};
int f [] = {31, 20, 20, 16, 0};
int [g] = {14, 17, 19, 10, 0};
int [h] = {31, 4, 4, 4, 31};
int jag [] = {0, 17, 31, 17, 0};
int j [] = {0, 17, 30, 16, 0};
int k [] = {31, 4, 10, 17, 0};
int l [] = {31, 1, 1, 1, 0};
int [m] = {31, 12, 3, 12, 31};
int n [] = {31, 12, 3, 31, 0};
int o [] = {14, 17, 17, 14, 0};
int p [] = {31, 20, 20, 8, 0};
int q [] = {14, 17, 19, 14, 2};
int r [] = {31, 20, 22, 9, 0};
int s [] = {8, 21, 21, 2, 0};
int t [] = {16, 16, 31, 16, 16};
int u [] = {30, 1, 1, 30, 0};
int v [] = {24, 6, 1, 6, 24};
int [w] = {28, 3, 12, 3, 28};
int x[] = {17, 10, 4, 10, 17};
int y [] = {17, 10, 4, 8, 16};
int z [] = {19, 21, 21, 25, 0};
int eos [] = {0, 1, 0, 0, 0};
int exkl [] = {0, 29, 0, 0, 0};
int frå [] = {8, 19, 20, 8, 0};
void displayLine(int line)
{
int Linnea;
Linnea = linje;
om (Linnea > = 16) {digitalWrite (LED1, hög), Linnea-= 16;} annat {digitalWrite (LED1, låg);}
om (Linnea > = 8) {digitalWrite (LED2, hög), Linnea-= 8.} annat {digitalWrite (LED2, låg);}
om (Linnea > = 4) {digitalWrite (LED3, hög), Linnea-= 4.} annat {digitalWrite (LED3, låg);}
om (Linnea > = 2) {digitalWrite (LED4, hög), Linnea-= 2;} annat {digitalWrite (LED4, låg);}
om (Linnea > = 1) {digitalWrite (LED5, hög), Linnea-= 1;} annat {digitalWrite (LED5, låg);}
}
void displayChar(char c)
{
om (c == "a") {för (int jag = 0; jag < 5; i++){displayLine(a[i]);delay(delayTime);} displayLine(0);}
om (c == 'b') {för (int jag = 0; jag < 5; i++){displayLine(b[i]);delay(delayTime);} displayLine(0);}
om (c == "c2") {för (int jag = 0; jag < 5; i++){displayLine(c2[i]);delay(delayTime);} displayLine(0);}
om (c == hade ") {för (int jag = 0; jag < 5; i++){displayLine(d[i]);delay(delayTime);} displayLine(0);}
om (c == "e") {för (int jag = 0; jag < 5; i++){displayLine(e[i]);delay(delayTime);} displayLine(0);}
om (c == "f") {för (int jag = 0; jag < 5; i++){displayLine(f[i]);delay(delayTime);} displayLine(0);}
om (c == "g") {för (int jag = 0; jag < 5; i++){displayLine(g[i]);delay(delayTime);} displayLine(0);}
om (c == "h") {för (int jag = 0; jag < 5; i++){displayLine(h[i]);delay(delayTime);} displayLine(0);}
om (c == "i") {för (int det = 0; det < 5; it++){displayLine(i[it]);delay(delayTime);} displayLine(0);}
om (c == "j") {för (int jag = 0; jag < 5; i++){displayLine(j[i]);delay(delayTime);} displayLine(0);}
om (c == "k") {för (int jag = 0; jag < 5; i++){displayLine(k[i]);delay(delayTime);} displayLine(0);}
om (c == "l") {för (int jag = 0; jag < 5; i++){displayLine(l[i]);delay(delayTime);} displayLine(0);}
om (c == är ") {för (int jag = 0; jag < 5; i++){displayLine(m[i]);delay(delayTime);} displayLine(0);}
om (c == 'n') {för (int jag = 0; jag < 5; i++){displayLine(n[i]);delay(delayTime);} displayLine(0);}
om (c == "o") {för (int jag = 0; jag < 5; i++){displayLine(o[i]);delay(delayTime);} displayLine(0);}
om (c == "p") {för (int jag = 0; jag < 5; i++){displayLine(p[i]);delay(delayTime);} displayLine(0);}
om (c == "q") {för (int jag = 0; jag < 5; i++){displayLine(q[i]);delay(delayTime);} displayLine(0);}
om (c == "r") {för (int jag = 0; jag < 5; i++){displayLine(r[i]);delay(delayTime);} displayLine(0);}
om (c == 's ") {för (int jag = 0; jag < 5; i++){displayLine(s[i]);delay(delayTime);} displayLine(0);}
om (c == 't') {för (int jag = 0; jag < 5; i++){displayLine(t[i]);delay(delayTime);} displayLine(0);}
om (c == 'u') {för (int jag = 0; jag < 5; i++){displayLine(u[i]);delay(delayTime);} displayLine(0);}
om (c == "v") {för (int jag = 0; jag < 5; i++){displayLine(v[i]);delay(delayTime);} displayLine(0);}
om (c == "w") {för (int jag = 0; jag < 5; i++){displayLine(w[i]);delay(delayTime);} displayLine(0);}
om (c == "x") {för (int jag = 0; jag < 5; i++){displayLine(x[i]);delay(delayTime);} displayLine(0);}
om (c == "y") {för (int jag = 0; jag < 5; i++){displayLine(y[i]);delay(delayTime);} displayLine(0);}
om (c == "z") {för (int jag = 0; jag < 5; i++){displayLine(z[i]);delay(delayTime);} displayLine(0);}
om (c == '!') {för (int jag = 0; jag < 5; i++){displayLine(excl[i]);delay(delayTime);} displayLine(0);}
om (c == "?") {för (int jag = 0; jag < 5; i++){displayLine(ques[i]);delay(delayTime);} displayLine(0);}
om (c == ".") {för (int jag = 0; jag < 5; i++){displayLine(eos[i]);delay(delayTime);} displayLine(0);}
Delay(charBreak);
}
void visningssträngen (char * s)
{
för (int jag = 0; jag < = strlen(s); i ++)
{
displayChar(s[i]);
}
}
void loop()
{
visningssträngen ("hello world");
}
Obs: Jag har inte skrivit hela koden mig, jag har precis gjort justeringar av en redan befintlig kod att passa min POV skärm och jag har också justerat olika bokstäver för att få dem att verka bättre.