Artibot - en porträtt måleri robot (1 / 2 steg)

Steg 1: programvara



Arkitekturen ingår en iPhone app för att ta en bild, nedsampla det till 100 x 100 pixlar och konverterar den till gråskala. Bilden var då base64-kodade och laddas upp till en Google App Engine app som bilderna ritas i köar.
Arduino var försedd med en Ethernet-shield så att det kan kommunicera till servern.
För att förklara programvaran, överväga följande ritningen:

I ovanstående modell, vinkel alpha är vinkeln på den första armen från y-axeln och vinkel beta är vinkeln på andra armen från linjen den fortsätter den första arm-riktningen. Detta är vinklarna servomotorer använda som deras värde eller position. R1 och R2 är den första och andra arm längden.
För att beräkna den pen positionen, använder vi dessa ekvationer:
MX = oxe + R1 x sin(alpha)
Min = Ox - R1 x cos(alpha)
x = Mx + R2 x sin(alpha+beta)
y = min - R2 x cos(alpha+beta)
där x växer till höger och y växer ner och origo (0,0) är i det övre vänstra hörnet.

Vi gjorde konverteringen från (alfa, beta) utrymme till bild utrymme i serverkod att göra arduino del enklare. Servern i princip fått en begäran om en viss vinkel alpha och det skulle då gå på alla beta värden, beräkna x, y och karta den till bild utrymme, läsa pixelvärdet och returnera värden för alla betaversioner till arduino.

Ritning sekvensen var stepping axeln (alpha) positionen av en grad och för varje sådan position, flytta armbåge motorn från vissa minsta beta till en maximal beta.

Det allmänna flödet av arduino programvaran var:
1. setup - upprätta anslutning till servern
2. ögla för alpha = minAlpha till maxAlpha
3. Ring servern för att få en sekvens av grå värden för den aktuella alpha
4. hoppa över HTTP svar header-byte och läsa de första byten nyttolast. Detta byte kommer att vara 0 om servern har inga mer data
5. Loop för beta = minBeta till maxBeta
6. Läs nästa tecken som representerar den grå nivån vid nuvarande beta
7. om grå är mörkare än en tröskel, flytta pennan nedåt för 0,5 sekunder, och sedan uppåt (Rita en prick)
8. en gång gjort, göra bara ingenting i en loop - användaren borde trycka på reset-knappen att hämta nästa bild från servern

Arduino skiss källkoden är tillgänglig här:

http://github.com/iroth/artibot

Se Steg
Relaterade Ämnen

Fönstret måleri Robot (arduino, bearbetning, accelerometer)

idén till projektet kom från en av mina favorit "ibles: polargraph. Jag älskade ritformat och tänkte hur coolt det vore att göra detta på sidan av en byggnad? Tyvärr utmaningarna till att inrätta en sådan stor polargraph på en student budget drivit m...

Papper Butterfly Garland (silhuett porträtt Cutter projektet)

Skapa denna vackra svärm av fjärilar för runt barnets huvud eller som en annan typ av färgglada dekoration!Steg 1: Material som behövs Silhouette porträtt elektroniska cutterDator med programvaran Silhouette Studio installeradNågra flexibla tråd (jag...

Hur man gör en glödande robot passar.

Förra året bestämde jag mig att göra lite av ett galet projekt - Making glödande robot passar gör cirkusföreställningar. Detta var så att vi kan utföra i svagt ljus som nattklubbar och festivaler.Detta instructable innebär skulptera, vakuumformning o...

Komisk karaktär lera bead halsband (med hemmagjord lera)

detta är en lera pärla halsband som några av mina favorit serietidning karaktärer: Garfield & Ådi, Snoopy murmeldjur, Hello KItty, Angry Birds (inte en serietidning tecken men jag älskar verkligen dem!), och även Instructables roboten. Detta projekt...

Ständiga Instructables Robot låda

Detta Instructable kommer att lära dig hur du skapar en stående Instructables Robot låda!Tänk på att inte missa steg #16-18 speciellt om du är community manager granska detta Instructable för min framtid själv kommer in dem i tävlingar! hehe: o)Denna...

Sparky Jr. - DIY Telepresence Robot

"Du kan kalla Sparky en stat-av-den-konst schmooze maskin" - Wired MagazineSPARKY: Namnet Sparky är baserad på en akronym för Self porträtt artefakt / ambulerande chassi - en konst projekt startade i början av 90 med skräp, upphittade föremål oc...

Robotic musikspelare och Sequencer med LittleBits AKA Fruityloops IRL

Så jag, tillsammans med många andra däggdjur, älskar att göra musik! Jag gör fånig ljud, kul rappar, men ofta tycker jag själv spelar musik av mig själv och jag önskar jag hade en robot vän som kan fastställa några wicked beats. Det är därför jag gjo...

Geek örhängen: Instructables Robot, Totoro, Gir, Triforce och Wiimotes!

jag ville göra några mycket anpassad och funky örhängen att ge till min lillasyster. Hon älskar alla klassiker--Zelda, Totoro, Nintendo, Invader Zim, robotar, etc., och allmänt älskar att bära något som skriker högt och stolt över att världen "Jag äl...

Hur man gör en Boomerang (The Robot avkastning med mörka draken)

jag hade aldrig gjort en bumerang innan, så jag tänkte det var dags.Detta är två boomerang projekt i en. Instruktionerna för varje är anmärkningsvärt liknande, och du kan följa skillnaderna i noterna på bilderna.Traditionella bumeranger har två forme...

Robot logotyp för Cornhole spelet med siluett stående

Decatur beslutsfattare ville göra en cornhole anges utrymme. Att göra skivor av plywood och 2X4s var svåra. Klippa ut din makerspace är logotyp på en silhuett porträtt enkelt om du följer dessa steg.Steg 1: Steg 1: Anslut din siluett porträtt till di...

PEZbot Instructables Robot candy dispenser

här är hur man förvandlas en söt Easter Bunny PEZ godis dispenser till en cool Easter Bunny PEZbot Instructables Robot candy dispenser.Passar i din skjorta ficka? Kolla!Ganska billigt att göra? Kolla!Snabba nog att glida in i tävlingen innan det slut...

Professionell & hållbara Giant Robot Kaiju kostym!

För de flesta av oss, växer upp tittar på monster film var en stapelvara i vår barndom. Vi älskade att titta på enorma Atom-eldsprutande bestar, stalking en stadsbild medan krossning både byggnader och livrädd innevånare både under fötterna. Vid ett...

BallBot1 Robot projektet...

Hi,Jag var lärare över 100 små barn om robotteknik för nationella Robotics vecka förra året på Oceanside Boys & Girls Club;http://www.brainless.org/ob&GC/Photo&Story.htmlDå från att titta på barnen verkligen lärande insåg jag att jag kunde byg...

Experimentera med en Lego kompatibel polymer lera figur

jag gjort denna polymer anpassade lera figur som en gåva i den första Instructables Gife utbyte. Som den person som porträtteras använder Lego som pedagogiska hjälpmedel i ett yrkesmässigt, jag har lagt till följande saker:-Ett redskap som bröst embl...

DIY Robot mögel Making, gjutning och Arduino fjärrkontroll

Lär dig att bygga din egen unika robot med ComposiMold.Reservdelslista:ComposiStone (2 kg), varmt lim, Spray lim, PureCast605, Elmers lim används ComposiMold, ProtoCast85R, vatten, leksak Robot, silikon, kartong låda, måla, färgade papper, muggar, sl...

Skriva ut & Cut 3D Robot

Skapa denna 3D robot och andra tryckta mönster på bara några minuter med Silhouette CAMEO® eller Silhouette Portrait®. Inget behov av sax eller en kniv!Leveranser måste:Instructables robot filSilhouette Portrait® eller CAMEO®DatorSkrivareVit cardstoc...

Förnya din favorit porträtt... förnya minnen

Jag hade detta porträtt med mig ganska länge, och ville lägga den på min nya målade rummet. Men var inte alltför glad över ramens skick, några av delar av design och färg på ramen hade avklingat. Jag var nästan om att få den stående ram ersatt, när j...

Robotrex Robotic Dinasaur

här är våra robotic projekt. Robotrex. En robotic dinosaurie. Namnet kommer från orden "Robot" och "tyrosaurus-Rex". Inspirerad från våra äldre projekt "Bigfoot" och "glasögon", detta projekt byggdes speciellt för v...

Gör en enkel tvåbent Humanoid Robot (Servo Walking Robot)

Bipeds är riktigt cool eftersom de är överlägset mest kända sorten av robot. Företag har tillbringat decennier och miljoner att göra dessa saker. Jag har velat göra en tvåbent bot för någon gång nu men de flesta av dem behöver mycket av motorer och ä...