Ardudro (4 / 7 stap)

Stap 4: Mijn code. Nog meer yay.


Dit is de huidige versie van de code (rev2), en het biedt alleen ondersteuning voor x en y reset knoppen en weinig anders (nog steeds bezig met functies frezen).
Gewoon kopiëren en plakken in de arduino en het zou moeten werken als u al de encoder en tv bibliotheken.

Ardudro programma, herziening 2

#define ENCODER_OPTIMIZE_INTERRUPTS
heb niet geprobeerd met behulp van de bovenstaande regel, kan het sneller maken, maar kan niet.
#include < Encoder.h >
#include < TVout.h >
int xminus = 0;
int yminus = 0;
Encoder myEnc (2, 7), //flip "myEnc" en "Ecy" als de X- en Y-assen achteruit zijn
Encoder Ecy (3, 6);
zweven anaval = 0;
zweven value01 = 0;
zweven val = 1000;
drijvende-kommawaarde;
float value10;
float value100;
int
int r = 0;
zweven pos = 0;
int rd = 4;
lange np = 0;
zweven incr = 0.000390625; 1/2560, dit aantal kan veranderen voor uw installatie.  Zorg ervoor dat u een decimaal getal, niet een fractie.
int onx = 12;
int negx = 0;
lange npy = 0;
int ty = 0;
TVout TV;
Const int buttonx = 11; //flip deze twee (x en y of de nummers) als de knoppen uitgeschakeld zijn.
Const int buttony = 10;
unsigned char x, y;
Ik char = 48;
int ic = 6;
VOID Setup {}
pinMode(buttonx,INPUT);
pinMode(buttony,INPUT);
digitalWrite(buttonx,HIGH);
digitalWrite(buttony,HIGH);
x = 0;
y = 0;
TV.begin(_NTSC,110,30);
}

void loop {}
if(digitalRead(buttonx) == 0) {//this hoeft niet te worden Lees onmiddellijk, dus we de lus gebruiken
in plaats van een interrupt.  Plus, de encoders gebruiken de andere interrupts.
myEnc.write(0);
}
if(digitalRead(buttony) == 0) {//same hier.
Ecy.write(0);
}

NP = myEnc.read();
NP = np *-1; uncomment als de X-as wordt gespiegeld
delay(1);
Ty = 0;
TV.print_char(onx,ty,'X');
Als (val! = np) {}
Als (np < 0) {}
Val = -1 * np;
negx = 1;
} else {}
Val = np;
negx = 0;
}
}
DISP();
NP = Ecy.read();
NP = np *-1; //uncomment als de Y-as is gespiegeld
delay(1);
Ty = 10;
TV.print_char(onx,ty,'Y');
Als (val! = np) {}
Als (np < 0) {}
Val = -1 * np;
negx = 1;
} else {}
Val = np;
negx = 0;
}
}
DISP();
}

ongeldig stringer() {}
value01 = val;
waarde = val / 10;
value10 = val / 100;
value100 = val / 1000;
waarde = int(value);
value10 = int(value10);
value100 = int(value100);
value01 = int(value01);
value01 = value01 - (waarde * 10);
waarde = waarde - (value10 * 10);
value10 = value10 - (value100 * 10);
}

ongeldig disp() {}
Val = val * incr;
Val = int(val * 1000);
Stringer();
Als (negx == 1) {}
TV.print_char(onx-ic,ty,'-');
} else {}
TV.print_char (onx-ic, ty,' ');
}
TV.print_char(onx+ic,ty,char(value100)+48);
TV.print_char(onx+(ic*2),ty,char(value10)+48);
TV.print_char(onx+(ic*3),ty,char(value)+48);
TV.print_char(onx+(ic*4),ty,char(value01)+48);

}

Gerelateerde Artikelen