Hoe je bloemen uit servetten maken



Lucht en uiterst delicate bloemen kunnen hun eigen handen maken een geschenk, een heel gewone materiaal - servetten. Product behoort tot de categorie van de eenvoudige, omdat het zelfs de jongste kinderen kunnen trekken, zodat ze hun handen zo ongewoon en mooi boeket als een geschenk aan zijn geliefde moeder, grootmoeder en zus. In servet materiaal voor papierproducten kunnen weefsels die zijn verpakt in een doos te dienen, zakdoeken er is een lichte, luchtige, en fit mogelijk te maken.
In servetten voor producten moeten verschillende gekleurde stiften, schaar, plakband, en stengels kunnen worden gebruikt voor eenvoudige takken, die in voldoende mate kan worden gevonden op de grond, niet oblamuyuchy bomen en struiken.
Hoe je bloemen uit servetten maken

Instructies over hoe je bloemen maken van servetten zijn hier
Zodra u een voldoende aantal kleuren maken kunnen ze een boeket vormen. Ksati stengels kunnen worden gebruikt voor stelen van kunstbloemen, als ze verouderd en ze moeten bijspijkeren.
Hoe je bloemen uit servetten maken

Hoe je bloemen uit servetten maken
Wij verzamelen en krachten lopen budget heksapoda

 Het weglaten rozkazni over hoe ik kwam op het idee om heksapoda bouwen (het was ton van video's op YouTube), ga direct naar het selectieproces details. Het was januari 2012. Ik weet precies wat ik wil van mijn werk en wat - geen. Ik hou van:

 dat elk been was 3 graden van vrijheid - 3dof (3 dimensies van de vrijheid), als een makkelijker optie 2dof - maakt zo'n gevoel van insecten en 4dof - ooit, 3dof en zo kunt u de punt van de voet in de 3D-ruimte vrij te bewegen;
 6 feet. Nogmaals, dit is niet 4 (als onhandig robot sprongen), maar niet zo 8 spinnen die buitensporig zijn;
 klein formaat;
 goedkoop tegen kostprijs;
 met een minimum van platen en verbindingen.

 Stap 1. Allereerst uiteraard moest moederbord voor het kind kiezen. Menig goede en slechte tijd om te lezen door de tijd van de Arduino. Maar op hem en keek als de belangrijkste optie. Soldeer controller zelf - er was geen tijd en neem meer geavanceerde bord met ARM cpu, bijvoorbeeld - het is duur, en te begrijpen hoe hun programma's, hoe te werken met PWM bevindingen, etc. - lang. Een arduyna: IDE gelanceerd, napedalyl code, uploaden gedrukt - en hallo, heb je het knipperen. Schoonheid! ;)
 In eerste instantie ben ik begonnen om te kijken naar arduino mega en klonen, zodat de PWM-uitgangen die kunnen worden gecontroleerd servo ze hadden genoeg. Vergeet niet dat 3dof heksapoda nodig 3 * 6 = 18 horigen en component-channel management. Maar toen vond ik een echte Yazz onder arduino mega, een last van Dagu, bel Red Back Spider Controller. Hier is het op ebay.
 Het biedt al haar uitgangen als afgewerkt 3-pins (grond, voedsel, toon), en de oplossing van voedsel. Kracht van Controller gestabiliseerd, en de connector is dvyhlov zo is (UPD: niet hoe, maar ook gestabiliseerd 5 volt En blijkbaar opgelost met Power-controller als inmenging met de controller 18 gelijktijdige lijfeigenen niet te maken.). Hierdoor kan het bestand naar de terminal 7-30 volt voeding voldoende vermogen (Eee PC vragenlijst van 901 tot 12V en 3A - was genoeg voor alle 18 servo zoemen) en niet voor de gek met een aparte voeding en logica dvyhlov. Ook zal het in de toekomst is gemakkelijk op dit monster pak Li-Po batterij 7,4 volt te zetten. En met dit alles, programmatische oogpunt - dit is een veel voorkomende arduyinov mega-compatibele software en lybamy en ijzer (ander dan shyldov, direct gemonteerd op de originele mega - ze zullen niet werken). De prijs is echter hoger dan zelfs de oorspronkelijke Mega, maar alle andere pro opwegen tegen het.
 Stap 2. Volgende servo's. Op ebay micro servo Vraag hen veel anders. Ik nam de meest krachtige van de kleinste en goedkoopste, 9 gram gewicht, plastic versnelling. Als je veel te nemen waar ze sturen batches - is goedkoper. Ik nam 3 verpakkingen van 6 lijkt te zijn gebeurd op minder dan 2 dollar per stuk. Ik zal je vertellen dat niet meer spijt doorgebracht en neem servo met metalen tandwielen en kogellagers. Deze kunststoffen waren duidelijk merkbaar speling, en de karakteristieke crunch bij overmatige kracht bij het slaat versnellingen. Door de speling - kinematica heel moeilijk nauwkeurig passen (zoals in het algemeen het moeilijkste bleek).
 Dat is alles dat ik bestelde, levering deed het ongeveer $ 100. Accu's en zenders / ontvangers voor bewaking en radyoupravlyaemosty - links voor later. Omdat radiobestuurde machine die ik heb en niet af wat me echt geïnteresseerd - het is voeten! Video's gaan vlot heksapodov op YouTube - Ik keek gefascineerd hem keek, en elke keer de tranen rolden over zijn wangen, en ik verslikte piepen "Ik wil! ". Ik zou niet een afgewerkt stuk te vragen, en ik wil doen bijna alles is!
 Tijdens het wachten op de bestelling te lezen als opgeleide mensen animeren van hun creaties. Natuurlijk, onmiddellijk opgedoken inverse kinematica. Als u eenvoudig en direct over sharnytnыe "ledematen", de directe kinematica zeggen - dit is waar de input hoeken gewrichten ingediend, en de uitgang hebben we een model van de ledematen in de ruimte, de coördinaten van de extreme punten van de ledemaat. Inverse kinematica is - uiteraard in strijd is - de input ontvangen coördinaten van de extreme punten van de ledemaat waar we moeten bereiken, en de uitgang krijgen we hoeken die moeten scharnieren draaien om dit te bereiken. Servo gewoon de ingang hoekpositie waarin ze nodig hebben om terug te keren (één signaal draad gecodeerd PWM / PWM).
 Stap 3. Ik ben begonnen met, wat lezen, na te denken over de uitvoering van de IC. Maar al snel kwam het gevoel dat mijn geval is te complex. En zo omslachtig te implementeren en computationeel zeer moeilijk - de berekening is iteratief. En ik heb 6 poten, die elk moeten worden beschouwd als IC, en gewoon niet erg slim 16Mhts Architectuur AVR. Maar slechts 3 graden van vrijheid. En makkelijk te raden dat het willekeurig punt in dotyahuvannya "kan maar op één manier te bereiken. De beslissing heeft gerijpt in mijn hoofd.
 Maar toen kwam februari en pakjes - één uit China, een andere UK. Het eerste wat ik meestal gewoon pohravsya Betaal arduyinov - pomorhal popylykal LED en een luidspreker er aangesloten. Toen begon de werkelijke IC implementatie, in de klier. Wat hij bouwde een prototype voeten uit schroot materialen (vrij zacht plastmasska dat is gemakkelijk te knippen met een schaar, schroeven en bijlagen - alle van de kits actuatoren). Deze terminator been direct bevestigd aan de raad arduynы. U kunt overwegen hoe de begroting gemaakt gewrichten.
Wij verzamelen en krachten lopen budget heksapoda

Wij verzamelen en krachten lopen budget heksapoda

 Pomyluvavsya dit geval en pomriyav dat als ik op basis van dit werk in de toekomst spayayu terminator, die de oorlog verklaart aan de mensheid, dan later met John Connor Schwarzenegger zal hier terugkeren om me in het verleden en zal dit prototype en zijn rasplavyat in Orodruyne selecteren. Maar niemand kwam terug, niets weggenomen, en ik ging rustig verder.
 Stap 4. Het bleek dat IR hoeft niet te vrezen, in mijn geval het kwam neer op triviale meetkunde, trigonometrie. Gemakkelijker toe te passen op de gewrichten, wendde zich tot Wikipedia en vereerd van insecten. Ze hebben speciale namen voor ledematen:
Wij verzamelen en krachten lopen budget heksapoda

 Russische heeft ook een zeer interessante namen voor deze, maar de "kom", "vertluh", "been", enz., Terwijl in de code niet toe me te slapen. Dus ik 3 ledematen en relevante servo verlof naam Coxa, dijbeen, scheenbeen. Van prototype voeten bovenstaande blijkt dat ik niet eens om afzonderlijke delen Coxa. Het is slechts twee servo gebonden elastische banden. Dijbeen - implementeerde een strook van kunststof, die aan beide zijden zijn gemonteerd hendels lijfeigenen. Dus de laatste overgebleven servodvyzhok - begin tibia te breiden waaraan het is geschroefd een stuk plastic.
 Stap 5. Lanceerde de redactie, niet mudstvuya aangemaakte bestand Leg.h, en in het klas Been. En een hoop extra Muti. Stel dat er een punt in de ruimte A (ax, ay, az), die moet bereiken. Op het bovenaanzicht ziet er als volgt uit:
Wij verzamelen en krachten lopen budget heksapoda

 Figuur I liet onmiddellijk een manier van berekening van de eerste hoek - de rotatiehoek van de servo controle Coxa, waarbij de gehele ledemaat in een horizontaal vlak roteert. Het diagram onmiddellijk rood gemarkeerd variabelen die in de code (niet alle). Niet erg wiskundig, maar comfortabel. Het is duidelijk dat we geïnteresseerd hoek elementair. Eerste primaryCoxaAngle - is slechts de hoek (0; A) om de as X (equivalent aan een hoek in poolcoördinaten). Maar het diagram toont dat terwijl het been zelf - niet raspalozhena op dit punt. De reden is dat de rotatie-as van de coxa is niet om "line-up" - Ik weet niet hoe het precies heet. Niet in het vlak waarin de roterende gewrichten en de andere is 2 voet tip, hier. Dit kan gemakkelijk worden gecompenseerd, overweegt additionalCoxaAngle (als zij van mening was - zelfs utruzhdayus stop omdat nog steeds op school, toch?).
 Samen hebben we het eerste stukje code, deze methode binnenkant bereik (Point & dest):

 zweven hDist = sqrt (sqr (dest.x - _cStart.x) + sqr (dest.y - _cStart.y));
 zweven additionalCoxaAngle = hDist == 0.0? DONT_MOVE
 : Asin (_cFemurOffset / hDist);
 zweven primaryCoxaAngle = polarAngle (dest.x - _cStart.x, dest.y - _cStart.y, _thirdQuarterFix);
 zweven cAngle = hDist == 0.0? DONT_MOVE
 : PrimaryCoxaAngle - additionalCoxaAngle - _cStartAngle;

 Hier dest - dit is het punt waar nazho slepen, _cStart - de coördinaten van hardware (en het centrum van rotatie) coxa, in hDist rekening houden met de afstand van _cStart naar dest in het horizontale vlak. DONT_MOVE - het is gewoon een vlag, wat betekent dat coxa niet hoeft nergens terecht en laat de huidige positie (als dest - ergens rechts op de rotatie-as coxa - zelden, maar het gebeurt). Hier cAngle - dit is een hoek waar je wilt dat de servo zal afwijken van de oorspronkelijke hoek (dat is in het midden van haar operationele bereik). Het blijkt dat als yuzaetsya _cStartAngle - is de hoek in de ruimte, die wordt teruggegeven door de servo devoltu, tijdens de installatie. Over _thirdQuarterFix u vertellen later als je het niet vergeet.
 Stap 6. Dan krijg zelfs nog makkelijker. We hoeven alleen maar te kijken naar de eerder genoemde vliegtuig "line-up":
Wij verzamelen en krachten lopen budget heksapoda

 Dus het probleem plotseling teruggebracht tot het vinden van het snijpunt van 2 cirkels. Een - op het punt waar de "groeiende" onze dijbeen, de tweede - het punt waar we moeten (2d lokale coördinaten) te bereiken. De stralen van de cirkels - de lengte van het femur en tibia, respectievelijk. Als de cirkels elkaar snijden in een van 2 punten kunnen gezamenlijk worden geplaatst. We kiezen altijd de top naar "knie" in de monsters werden gebogen omhoog, niet omlaag. Indien niet overlappen - het is niet dotyanemsya het richtpunt. Een beetje code, over te schakelen naar het vliegtuig is gewoon maar een paar valkuilen wordt rekening gehouden en gedocumenteerd in de commentaren dat ik niet verbaasd toen het onderzoeken van de code. Voor de eenvoud, in dit lokaal te coördineren "vliegtuig up" Ik koos de oorsprong punt waar groeiende dijbeen:
  // Verhuizen naar lokale Coxa-dijbeen-target assenstelsel
 // Noteer het geval wanneer hDist<= _cfemuroffset.="" this="" is="" for="" the="" blind="">
 // We hebben nooit kunnen niet het punt dat is dichter bij de _cStart dan bereiken
 // Dijbeen offset (_fStartFarOffset)
 zweven localDestX = hDist sqr (_fLength + _tLenght))
 {
 inloggen ("niet kunnen bereiken!");
 return false;
}

 Stap 7. Nu localDestX en localDestY - de coördinaten van het richtpunt. Alles wat overblijft - naar het kruispunt cirkels gecentreerd op (00) en (localDestX, localDestY) te vinden, en radii _fLength en _tLength (respectievelijk de lengte en de femur lengte tibia). Met deze student ook niet, maar ik geef toe dat er veel fouten te controleren voor jezelf en iedereen kan doen om wat voor soort domme formules controleren, het verlaten van een referentie die is duidelijk razzhovana dit elementaire geometrische probleem:
  // Vinden gezamenlijke als cirkel snijden (vergelijkingen van http://e-maxx.ru/algo/circles_intersection & http://e-maxx.ru/algo/circle_line_intersection)
 float A = -2 * localDestX;
 zweven B = -2 * localDestY;
 zweven C = sqr (localDestX) + sqr (localDestY) + sqr (_fLength) - sqr (_tLenght);
 float X0 = -A * C / (sqr (A) + sqr (B));
 zweven Y0 = -B * C / (sqr (A) + sqr (B));
 float D = sqrt (sqr (_fLength) - (sqr (C) / (sqr (A) + sqr (B))));
 float mult = sqrt (sqr (D) / (sqr (A) + sqr (B)));
 vlotter ax, ay, bx, door;
 ax = X0 + B * mult;
 bx = X0 - B * mult;
 ay = Y0 - A * mult;
 door = Y0 + A * mult;
 // Kies een oplossing op de top als de gezamenlijke
 drijven jointLocalX = (ax & gt; bx)? bijl: bx;
 drijven jointLocalY = (ax & gt; bx)? ay: door;


 Alles is er nog wat van de ontvangen coördinaten om de juiste hoeken van femur en tibia slaven berekenen:
  zweven primaryFemurAngle = polarAngle (jointLocalX, jointLocalY, false);
 zweven Fangle = primaryFemurAngle - _fStartAngle;
 zweven primaryTibiaAngle = polarAngle (localDestX - jointLocalX, localDestY - jointLocalY, false);
 drijven Tangle = (primaryTibiaAngle - Fangle) - _tStartAngle;

 Stap 8. Opnieuw эlementarschyna - hoekige coördineert alle. Ik hoop dat het benoemen van variabelen moet al duidelijk zijn, bijvoorbeeld, _fStartAngle - het dijbeen beginnen hoek, de hoek waaronder dijbeen wordt geregisseerd door standaard. En de laatste regel methode bereik () (hij zei dat hij ging en zwaaide):
  bewegen (cAngle, Fangle, wirwar); 

 Methode move is direct te typen servo. In feite is het zelfs dan moesten allerlei dingen toe te voegen voor de bescherming tegen slechte hoeken (die servo niet kan terugkeren, maar zal proberen), evenals andere benen die zarkalno en / of verzonden naar de andere partij zijn. Maar zolang we werken alleen met één poot.
 Stap 9. Deze stukken - dit is de laatste code, die is verre van perfect, en het is zeker kan aanzienlijk worden verbeterd. Maar het werkt! Ging nooit voor de middelbare school meetkunde, trigonometrie, we hebben geïmplementeerd polnofunktsyonalnuyu ynversnuyu kinematica voor 3dof voeten! Ja, en we krijgen de oplossing meteen, in één iteratie. Om het allemaal werk, been moest zorgvuldig worden gemeten en klasse verkregen gegevens configureren. waaronder de hoek die de moeilijk in het eindproduct. Misschien als een project avtokad en maak wat mooie renders - het zou gemakkelijker met het meten van hoeken, maar ik had niet de tijd of de wens om te gaan met deze emotie.
 Februari is nog maar net begonnen, en video's voet was al geschied. Op de IC te testen, ik maakte het been beschrijven allerlei figuren in de ruimte (je moet consequent triggeren bereik, het punt op de rechthoek of cirkel code saai en vervelend vermijden, dus niet citaat (en afgewerkt experimenten om primitieven te sporen, ik heb algemene vypylyav)):

 Stap 10. Vervolgens moest het spel eindigen met dit product op één been wordt niet uprыhaesh (hoewel deze robot echt interessant zou maken). Maar ik moet heksapod. Ik ging op zoek naar de dichtstbijzijnde rommelmarkt plexiglas. Gevonden 2 verschillende stukken - een 3 mm dik (voor het lichaam, ben), een 2 mm en blauw (andere ledematen, de servo overeenkomen). In een paar weken uitgehouwen ik een nacht om iets mee te doen. Hij maakte schetsen op papier. probeerde op - alsof alles in orde is, dan is het geval voor een ijzerzaag.
Wij verzamelen en krachten lopen budget heksapoda

Wij verzamelen en krachten lopen budget heksapoda

Wij verzamelen en krachten lopen budget heksapoda

Wij verzamelen en krachten lopen budget heksapoda

Wij verzamelen en krachten lopen budget heksapoda

Wij verzamelen en krachten lopen budget heksapoda

Wij verzamelen en krachten lopen budget heksapoda

Wij verzamelen en krachten lopen budget heksapoda

Wij verzamelen en krachten lopen budget heksapoda

Wij verzamelen en krachten lopen budget heksapoda

 Stap 11. En hier is het, overzeese monster shestylapoe. Tijdens het testen van een been, had ik dit ding een of andere manier liet vragenlijsten op externe schroeven. Genoeg. Maar voeden 6 voeten van hem was te eng. Dus voor een tijdje Ik hing op zijn handen, denken dat ik nodig heb om een ​​meer geschikte vragenlijst krijgen. Maar het bleek een stuk makkelijker, ik hierboven heb genoemd - kwam uit vragenlijst Eee PC 901. Nou, prima.
 Stap 12. Vestigen werk 6 meter bleek moeilijker dan schrijven een voet motor. Half benen spiegelbeelden anderzijds. Naast alle gericht in verschillende richtingen. In het algemeen konfyhuryroval nalashtovuvav en ik zijn erg lang, en het was niet erg inspirerend, dus het geld was niet handig aanpassing, maximale ik kon verwachten - in conclusie LOSA Serial. En dat werkte prima met elementaire * .ino bestand, de aangesloten Leg.h - hebben niet gezien het item. Geklokt krukken voor LOSA (facepalm). Uiteindelijk otrefaktoryu. En hier is een veer kwam velosezon werd geopend in volle kracht, en ik gaf uw huisdier in geval shestylapoho. Dus geslaagd voor de zomer en het najaar van warmte.
 Stap 13. Maar de regen kwam, het was koud en heksapod werd geëxtraheerd. Zijn voeten waren gevestigd, waaronder het zelfde werd geïntroduceerd _thirdQuarterFix functie berekening polarAngle. Het probleem was dat 2 voet (links midden en achter links) verplaatst, zodat het grootste deel van de tijd waren in III kwartaal:
Wij verzamelen en krachten lopen budget heksapoda

 Een polarAngle Ik was naïef - het bleek hoeken van pi-pi aan, de as X. En als soms een van deze 2 voeten moest terugkeren naar de II-e kwartaal, de waarde polarAngle sprong van Pi Pi die eigenlijk had een negatieve invloed op de verdere berekening. Pofyksyl kruk - voor deze 2 voeten polarAngle beschouwd als "anders." Shame, shame on me de code, maar het hele project - een proof of concept, het enige doel van die - niet alleen begrijpen, ik kan verzamelen realistische heksapoda bewegen of niet. Daarom moet de code werken, en op dit moment. En dan refactor - pererefaktorynh.
 Omgaan met het 3e kwartaal, begon stappatronen pedaal. Voor deze klasse geïntroduceerd in punt been standaard die, waarin de voet is waar het werk stil en soepel. Dit punt kan tyuninhuvaty, belangrijk alle voeten op dezelfde coördinaat z (met benen fysiek waren op hetzelfde vlak, het been is nog steeds erg laag tuneRestAngles ()). En in hetzelfde coördinatensysteem Z, kunnen ze ongeveer willekeurig bewegen. Bijna - omdat het bereik van de beweging niet oneindig is, en dat op zijn beurt zal niet verder gaan dan dit dyapazoda - standaard positie van de voeten proberen om ergens in de buurt van het midden van deze serie te plaatsen.
 Stap 14. De code is niet in de tekst van het citaat, het is te basic en ik zal het einde van een link naar de volledige versie van alle sortsa brengen - tegelijkertijd leren om GitHub gebruiken.
 Sequence koos voor een eenvoudige stap - 3 voeten op de grond, 3 - in de lucht herschikt. Aldus, de coördinaten van voeten de standaardpositie - kan worden verdeeld in 2 groepen. Voor deze twee groepen I en provertav stap in de cyclus (zie functie wandeling () in Buggy.ino). En op het einde, elk been berekende een coördinaat hun individuele, op basis van de standaard locatie.
 En het ging! Maar zo ver naar voren. Aan zijn voeten droeg hij elastiekjes om verkeerde gleed op het linoleum. Ik haastte zich naar het schieten op video te laten zien aan vrienden.

 Stap 15. Door de haard-en, natuurlijk, ver weg.

 
 
 
 
 
 
 
 
   




Яндекс.Метрика