Datoriserade Etch en skiss (14 / 16 steg)

Steg 14: mer programmering (vinklar och kurvor)



För att göra den etch-a-sketch dra vinkel, du bara måste köra båda motorerna samtidigt. Ritning på 45 grader är ganska lätt--bara stänga båda motorer på i rätt riktning och det fungerar. Vinklar än 45 grader är lite svårare. Låt oss säga att du ville (för en runda nummer) rita en 26,6 grad linje. Detta innebär att du måste dra en enhet vertikalt för varje två enheter du drar vågrätt. Du kan växla fram och tillbaka mellan den horisontella och vertikala motorer i små steg, säger
drawLeft(2)
"drawUp(1)"
och slinga som ett tag, men det blir aldrig så smidig.

Skulle det inte vara mycket svalare köra båda motorer på samma gång och kör den vertikala motorn (i detta fall) hälften så snabbt som den vertikala motorn?

Sättet att göra detta är med PWM. För er som inte känner till denna underbara sak, PWM står för "Pulse bredd Modulation" och är ett sätt att närma sig ett värde mellan 0 och 1 i en digital krets.
Här är en kort genomgång:
Låt säga jag har ett chip som kan producera antingen 0 eller 5 volt. Detta chip driver en elmotor, och jag skulle verkligen vilja köra det på halva hastigheten, eller 2,5 volt. Jag kan inte producera den spänningen direkt från mitt digitala chip, men kanske om jag utgång 0 volt ett tag och sedan 5 volt för samma tid, den genomsnittliga produktionen skulle vara 2,5 volt. Om jag gör det verkligen långsamt motorn kommer att jerk på och av, men om jag växlar mellan 0 och 5 volt verkligen snabbt, motorn kommer att löpa smidigt. Detta beror på att motorn har en hårdhet effekt, och för vissa hög frekvens, kan inte svara lika snabbt som signalen förändras, effektivt genomsnitt spänningen över den. Hurra! Nu kan jag styra en motor hastighet!

"Om jag vill producera en annan spänning, säga, 3 volt, skulle jag bara hålla signalen vid 5 volt för 3/5 av tiden. 2 volt, 2/5 av tiden. AD nauseum"

OK, så praktiskt, vill jag skriva en PWM rutin som kan mata en pwm våg att båda motorerna samtidigt.

void pwm (unsigned char horisontella, unsigned char vertikalt, unsigned char horizontal_direction, unsigned char vertical_direction, int magnitud)
{
unsigned char räkna, utgång;
output = 0;
int längd;
för (int längd = 0; längd < magnitud; längd ++)
för (count = 0; räkna < 255, greve ++)
{
IF(Count<horizontal)
output|=_bv(horizontal_direction);
IF(Count<Vertical)
output|=_bv(vertical_direction);
PORTB = produktion;
}
}

Den vinkel du ritar på (från horisontellt) kommer att vara ganska nära atan(vertical/horizontal).

Nu har du en funktion som låter dig ange storleken och riktningen av en ritade vektor. Detta är den grundläggande, grundläggande komponenten i varje vektor grafik renderer. Söt!

Se Steg
Relaterade Ämnen

Giant Etch en skiss kostym

detta instructable Detaljer de steg jag gick igenom för att skapa den jätte Etch en skiss kostym för Halloween 2008. Se den färdiga kostym nedan.Varje år, vår familj gör en tema kostym, och i år beslutade vi att vara klassiska leksaker. En av mina fa...

Etch en skiss strömförsörjning

Som någon som gillar att ta isär elektroniska saker, jag ofta dra sånt ljusdioder, motorer, rattar, och kopplar ur gamla skräp med planer på att återanvända dem senare. Detta instructable är inte bara ett exempel på att återanvända, men också att ska...

Etch en skiss kostym (funktionella)!

Här är en andra video med närmare upp skott av ledningarna av Etch en skiss kostym....

EtchABot: En mångsidig CNC Etch en skiss

EtchABot använder en Arduino för att förvandla en Etch A Sketch till en själv radera CNC (Computer Numerical Control) ritade maskin. Det har långt ifrån först motoriserade Etch A Sketch på internet. Andra projekt har använt stegmotorer för att förvan...

Hur man gör etch en skiss konst på gimp

väl dess inte bokstavlig konst men det kommer att göra.Har du någonsin sett killarna på tv som kan göra han Mona Lisa eller Barack Obama på etch en skiss? Jag vet att alla har velat ha en värdelös talang som men det enda problemet är att vi har fakti...

Telecran (Etch en skiss) + Arduino = Telecranduino!

jag kom över en massa stegmotorer och jag har sedan dess letat efter ett projekt att göra med barnen.En gammal Telecran (franska för Etch-a-Sketch) senare, vi är i branschen!Vad jag använde för detta projekt:-en arduino Uno-2 stegmotorer-2 easydriver...

Electroluminescent Etch A Sketch

Hi, aftergetting några electroluminescent grejer för en övning för http://hci.rwth-aachen.de/mcp1314 att leka, det är mitt (första) försöka bygga en elektroluminiscent EAS (och göra en Instructable:-):Jag använde:-en Etch A Sketch (ganska självklart...

Etch A Sketch laserskärare baserade Arduino.

i detta projekt tar jag en Arduino Mini Pro ansluta den till en anpassad gjort Etch A Sketch panel och använda den för att styra en Blacknose laser cutter. Resultatet är timmar galen laser skärning roligt, som vi kommer att ta runt de flesta av UK Ma...

Avsnitt 15: Hacka en Etch-A-Sketch att rita cirklar

vi på dumma uppfinningar älskar Etch-A-Sketch, men vi saknar konstnärlig talang för att rita något bra på klassiska leksaken.Så kom vi fram till ett enkelt och billigt sätt att hacka Etch-A-Sketch så att inte bara kan du rita det gamla sättet, men du...

Arduino kontrollerade Pocket Etch A Sketch slumpmässig promenad simulering

detta projekt är resultatet av Wal-Mart utcheckning lane impulsköp av fickformat Etch A Sketch för $3,99.Två stegmotorer Etch A Sketch knopp drivaxlar och en servomotor vänder Etch A Sketch om du vill radera skärmen. Med hjälp av Arduino IDE Serial M...

Hur man ställa in A Permanent Etch A Sketch (som proffsen)

som an Etch A Sketchist mig själv, jag känner att det värsta någon EAS artist kan göra för sig själva är att alltför få knutna till en av deras "skiss Works". Jag har sett detta hända innan och konstnärer har blivit galen försöker skydda sina ko...

Mekanisk torr radera Board

detta är en mekanisk/datoriserade torr styrelse som fungerar nästan exakt som en etch och skiss... även om denna prototyp inte visar Z-axeln har jag instruktioner och en fungerande demo för att visa hur du kan göra en funktionell Z-axeln. (penna och...

Skapa animering och spel: kapitel 2 spelenheter

Välkommen till andra av ett flerdelat series:Att skapa animering och spel: kapitel 2 spelenheterDenna serie kommer att dyka in med Propeller microcontroller baserat system för att skapa din egen grafik, animering och video spel. Jag antar att du bara...

Steampunk Portable Game Box for the Victorian Soul

Jag hade utformat och byggt en krets för en handhållna spel enhet för en tid sedan. I detta projekt har jag omvandlade det till en bärbar gamebox av steampunk stil. Eftersom kretsen har en realtidsklocka och kan visa rumstemperatur också, kan enheten...

Laser-skärare, börja skivning grejer för under 50 dollar

det finns många där ute som gör saker för att vinna en laserskärare. Här är ett projekt för de 500 som inte vinner, men fortfarande vill ha en laserskärare för enkel stencil skärande behov.Detta projekt var tänkt under en chatt med Alex där vi önskat...

Färg glas etsning - konstellation Dice tumlaren

Detta är en uppföljning till mitt populära handledning om stjärnbilden tärningar som precis fått sin 14000th uppfattning. Jag kommer att skapa en tärning torktumlare som ett sätt att visa dig ett snabbt sätt att permanent etch glas i valfri färg som...

Arduino Etch-A-Sketch Clock

jag har sett olika Arduino drivs Etch-A-Sketch klockor på nätet, men ingen med instruktioner (är det någon slags hemlig? Någon planerar på att göra det rika på den globala marknaden för Etch-A-Sketch klockan?). Jag har använt Arduino, men aldrig anvä...

Virtuella Etch A Sketch

Etch A Sketch: berömda, kreativ och unik. Tyvärr har jag ingen aning Vart är en från min barndom, så jag bestämde mig att göra min egen virtuella! Kontrollera ut (och min hemska ritning färdigheter) nedan.Denna Etch A Sketch är ganska likt originalet...

SK3TCH - balans ombord kontrollerade Etch-A-Sketch

SK3TCHHur man använder en Wii Balance Board för att styra en Etch-A-SketchEndast WindowsInnehåll:1. intro och reservdelar2. växlar3. bygga ramen4. montage5. ansluta WiiMote och Balance Board6. GlovePIE7. Arduino + motorstyrning8. bearbetning9. kör de...