Bedfellow Robot Bed (63 / 74 stap)

Stap 63: Code


Okay - dus - is wanneer u werkt met code het ideaal om iets te gebruiken als Github om wijzigingen bij te houden. Ik doe dit niet. Dus, ik per ongeluk schreef over de meest recente werkversie van de code. Ik heb de laatst opgeslagen versie, maar ik ben niet zeker hoe compleet is. Het is waarschijnlijk een beetje buggy.

Novertheless, aangezien niemand van u zal waarschijnlijk bouwen dit ding aanwezig die manier, en het bed is momenteel in stukken en niet operationeel is, ik ga om te posten wat ik heb.

Ik ben ook het delen van code van de test voor handmatig controleren van de motoren. Als u op zoek bent op dit project voor een Arduino aan zeer grote motoren via een Alltrax motor controller interfacing, zullen deze code meer nuttig aan u hoe dan ook.

Laatst opgeslagen versie van de Robot Bed test code:

/ * Deze voorbeeldcode is in het publieke domein. * / //establish gashendel pinnen int leftThrottle = 3; LED aangesloten op digital pin 9 int rightThrottle = 5; LED aangesloten op digital pin 9 //establish solenoïde pinnen int leftOn = 7; LED aangesloten op digital pin 9 int rightOn = 8; LED aangesloten op digital pin 9 //establish relais pinnen int leftReverse = 9; int rightReverse = 10; De snelheid van het station verzonden naar de gashendel int gospeed = 86; vluchtige int foserious = 0; VOORSTE int FrontLeftSnd = 30; int FrontLeftRcv = 31; int FrontCenterSnd = 32; int FrontCenterRcv = 33; int FrontRightSnd = 34; int FrontRightRcv = 35; RECHTERKANT int Side1LeftSnd = 36; int Side1LeftRcv = 37; int Side1CenterSnd = 38; int Side1CenterRcv = 39; int Side1RightSnd = 40; int Side1RightRcv = 41; TERUG int BackLeftSnd = 42; int BackLeftRcv = 43; int BackCenterSnd = 44; int BackCenterRcv = 45; int BackRightSnd = 46; int BackRightRcv = 47; LEFT SIDE int. Side2LeftSnd = 49; int Side2LeftRcv = 48; int Side2CenterSnd = 51; int Side2CenterRcv = 50; int Side2RightSnd = 53; int Side2RightRcv = 52; matrix met alle van de namen input- en output-pin. Later gebruikt om te lezen alle van de sensoren in een for-lus. int [SensorOutputs] = {FrontLeftSnd, FrontCenterSnd, FrontRightSnd, Side1LeftSnd, Side1CenterSnd, Side1RightSnd, BackLeftSnd, BackCenterSnd, BackRightSnd, Side2LeftSnd, Side2CenterSnd, Side2RightSnd}; int [SensorInputs] = {FrontLeftRcv, FrontCenterRcv, FrontRightRcv, Side1LeftRcv, Side1CenterRcv, Side1RightRcv, BackLeftRcv, BackCenterRcv, BackRightRcv, Side2LeftRcv, Side2CenterRcv, Side2RightRcv}; int dontgo = 0; aantal totale sensoren int SensorCount = 12; int nothingHappening = 0; int realCloseLike = 0; int goingforward = 0; int goingbackward = 0; int goingright = 0; int goingleft = 0; int backhit = 0; int fronthit = 0; int righthit = 0; int lefthit = 0; int amountToMove = 1000; int geplukt; void setup {cli (); //stop interrupts TCCR1A = 0; / / set hele TCCR1A register op 0 TCCR1B = 0; / / zelfde voor TCCR1B TCNT1 = 0; //initialize waarde van de teller op 0 / / set vergelijk wedstrijd inschrijven voor 1 hz stappen OCR1A = 512; / / = (16 * 10 ^ 6) / (1 * 1024) - 1 (moet < 65536) / / CTC modus TCCR1B inschakelen | = (1 << WGM12); / / Set CS10 en CS12 bits voor 1024 prescaler TCCR1B | = (1 << CS12) | (1 << CS10); inschakelen van de timer vergelijk interrupt TIMSK1 | = (1 << OCIE1A); Sei (); //allow interrupts Serial.begin(9600); pinMode (leftOn, OUTPUT); pinMode (rightOn, OUTPUT); pinMode (leftReverse, OUTPUT); pinMode (rightReverse, OUTPUT); Zorg ervoor dat de stroom is uitgeschakeld digitalWrite (leftOn, laag); digitalWrite (rightOn, laag); digitalWrite (leftReverse, laag); digitalWrite (rightReverse, laag); bumper sensor pins pinMode (18, INPUT); pinMode (19, INPUT); Bepaalde afstand sensor output pinnen pinMode (FrontLeftSnd, uitvoer); PIN 30 pinMode (FrontCenterSnd, uitvoer); PIN 32 pinMode (FrontRightSnd, uitvoer); PIN 34 pinMode (Side1LeftSnd, uitvoer); PIN 36 pinMode (Side1CenterSnd, uitvoer); PIN 38 pinMode (Side1RightSnd, uitvoer); PIN 40 pinMode (BackLeftSnd, uitvoer); PIN 42 pinMode (BackCenterSnd, uitvoer); PIN 44 pinMode (BackRightSnd, uitvoer); PIN 46 pinMode (Side2LeftSnd, uitvoer); PIN 49 pinMode (Side2CenterSnd, uitvoer); PIN 51 pinMode (Side2RightSnd, uitvoer); PIN 53 //Set afstandssensor input pins pinMode (FrontLeftRcv, INPUT); PIN 31 pinMode (FrontCenterRcv, INPUT); PIN 33 pinMode (FrontRightRcv, INPUT); PIN 35 pinMode (Side1LeftRcv, INPUT); PIN 37 pinMode (Side1CenterRcv, INPUT); PIN 39 pinMode (Side1RightRcv, INPUT); PIN 41 pinMode (BackLeftRcv, INPUT); PIN 43 pinMode (BackCenterRcv, INPUT); PIN 45 pinMode (BackRightRcv, INPUT); PIN 47 pinMode (Side2LeftRcv, INPUT); PIN 48 pinMode (Side2CenterRcv, INPUT); PIN 50 pinMode (Side2RightRcv, INPUT); PIN 52 //And wacht een ogenblik delay(3000); } void loop {lookAllAround(); moveRobot(); delay(amountToMove); slowstop(); delay(1500);} ISR(TIMER1_COMPA_vect) {//Interrupt op freq van 1kHz tot meten reed switch rietschakelaar / / genereerd pols golf van frequentie 8kHz/2 = 4 kHz (neemt twee cycli voor volledige Golf-toggle hoog dan laag schakelen) als (lefthit == 0 & & righthit == 0 & & fronthit == 0 & & backhit == 0) {if(digitalRead(18) == HIGH) {hardstop(); Serial.println(goingbackward); Serial.println(goingforward); Serial.println(goingleft); Serial.println(goingright); Serial.println ("FUCK YEAH!"); if(goingright == 1) {righthit = 1; goingright = 0;} if(goingleft == 1) {lefthit = 1; goingleft = 0;} if(goingbackward == 1) {backhit = 1; goingbackward = 0;} if(goingforward == 1) {fronthit = 1; goingforward = 0;}} } Als (lefthit == 0 & & righthit == 0 & & fronthit == 0 & & backhit == 0) {if(digitalRead(19) == HIGH) {hardstop(); Serial.println ("FUCK Nee
!"); Serial.println(goingbackward); Serial.println(goingforward); Serial.println(goingleft); Serial.println(goingright); if(goingbackward == 1) {backhit = 1; goingbackward = 0;} if(goingforward == 1) {fronthit = 1; goingforward = 0;} if(goingright == 1) {righthit = 1; goingright = 0;} if(goingleft == 1) {lefthit = 1; goingleft = 0;}} ongeldig moveRobot()}} {//first zien als hit--als raken tijdens het verplaatsen in een van de richtingen - auto-Kies de andere richting / /--anders kiezen willekeurig if(backhit == 1) {amountToMove = 1000; backhit = 0; fronthit = 0; lefthit = 0; righthit = 0; geplukt = 0;} anders if(fronthit == 1) {amountToMove = 1000; backhit = 0; fronthit = 0; lefthit = 0; righthit = 0; geplukt = 1;} anders if(lefthit == 1) {amountToMove = 500; backhit = 0; fronthit = 0; lefthit = 0; righthit = 0; geplukt = 2;} anders if(righthit == 1) {amountToMove = 500; backhit = 0; fronthit = 0; lefthit = 0; righthit = 0; geplukt = 3; } else {geplukt = random(3); Serial.println ("WTF!?"); amountToMove = 1000; } switch(picked) {0 kast: goingforward = 1; goingbackward = 0; goingright = 0; goingleft = 0; forwards(); Serial.println ("Ga voorwaarts"); breken; geval 1: goingforward = 0; goingbackward = 1; goingright = 0; goingleft = 0; Backwards(); Serial.println ("Ga terug"); breken; geval 2: goingforward = 0; goingbackward = 0; goingright = 1; goingleft = 0; rechts(); Serial.println ("Ga rechts"); breken; Case 3: goingforward = 0; goingbackward = 0; goingright = 0; goingleft = 1; datumwaarde; Serial.println ("Ga links"); breken; } delay(1); vertraging tussen leest voor stabiliteit} ongeldig forwards() {//activate de omgekeerde Relais digitalWrite (leftReverse, hoge) delay(50) digitalWrite (rightReverse, hoge); delay(100); //activate de elektromagneten digitalWrite (leftOn, hoge); digitalWrite (rightOn, hoge); //take een adem-delay(500); //engage de gasklep analogWrite (rightThrottle, gospeed); analogWrite (leftThrottle, gospeed);} ongeldig backwards() {//activate de elektromagneten digitalWrite (leftOn, hoog), digitalWrite (rightOn, hoge); //take een adem delay(500); / / betrekken van de gasklep analogWrite (rightThrottle gospeed); analogWrite (leftThrottle, gospeed); } ongeldig rechts() {if(dontgo == 0) {//activate de elektromagneten digitalWrite (leftOn, hoge); digitalWrite (rightOn, hoge) //activate de omgekeerde Relais digitalWrite (rightReverse, hoge); //take een adem-delay(500); //engage de gasklep analogWrite (rightThrottle, gospeed); analogWrite (leftThrottle, gospeed);} //reset de variabele dontgo = 0;} ongeldig datumwaarde {if(dontgo == 0) {//activate de elektromagneten digitalWrite (leftOn, hoge); digitalWrite (rightOn, hoge) //activate de omgekeerde Relais digitalWrite (leftReverse, hoge); //take een adem-delay(500); //engage de gasklep analogWrite (rightThrottle gospeed); analogWrite (leftThrottle, gospeed); } //reset de variabele dontgo = 0; } void slowstop() {voor (int fadeValue = gospeed; fadeValue > = 0; fadeValue-=5) {/ / de waarde (bereik van 0 tot 255) ingesteld: analogWrite (rightThrottle, fadeValue); analogWrite (leftThrottle, fadeValue); / / wait voor 30 milliseconden om te zien de dimmen effect delay(500);} digitalWrite (leftOn, laag); digitalWrite (rightOn, laag); digitalWrite (leftReverse, laag); digitalWrite (rightReverse, laag); int goingforward = 0; int goingbackward = 0; int goingright = 0; int goingleft = 0; delay(2000); lookAllAround(); delay(1000);} void hardstop() {voor (int fadeValue = gospeed; fadeValue > = 0; fadeValue-=5) {/ / de waarde (bereik ingesteld van 0 tot 255): analogWrite (rightThrottle, fadeValue); analogWrite (leftThrottle, fadeValue); wacht 30 milliseconden om te zien de dimmen effect altDelay(50); } digitalWrite (leftOn, laag); digitalWrite (rightOn, laag); digitalWrite (leftReverse, laag); digitalWrite (rightReverse, laag); } ongeldig altDelay(int x) {voor (unsigned int ik = 0; ik < = x; i ++) {delayMicroseconds(1000);}} void lookAllAround() {lange duur, inch, cm; voor (int thisPin = 0; thisPin < 1; thisPin ++) {digitalWrite (SensorOutputs [thisPin], lage); delayMicroseconds(2); digitalWrite (SensorOutputs [thisPin], hoge); delayMicroseconds(12); digitalWrite (SensorOutputs [thisPin], LOW), duur = pulseIn (SensorInputs [thisPin], hoge); digitalWrite (SensorOutputs [thisPin], laag); / / omzetten van de tijd in een afstand inch = microsecondsToInches(duration); Serial.Print(SensorOutputs[thisPin]); Serial.Print(":"); Serial.Print(inches); Serial.println ("in"); //check en controleer nogmaals / / als (> 10 inch & & < 25 inch) {/ / realCloseLike = 0; / / voor (int checkagain = 0; checkagain < 3; checkagain ++) {/ / delay(100); / / digitalWrite (SensorOutputs [thisPin], laag); / / delayMicroseconds(2); / / digitalWrite (SensorOutputs [thisPin], hoge); / / delayMicroseconds(12); / / digitalWrite (SensorOutputs [thisPin], laag); / / / / duur = pulseIn (SensorInputs [thisPin], hoge); / / duim = microsecondsToInches(duration); / / digitalWrite (SensorOutputs [thisPin], laag); / / / / delay(100); / / / / als (> 10 inch & & < 25 inch) {/ / / / Serial.print(SensorOutputs[thisPin]); / / Serial.print (" : "); Serial.Print(inches); Serial.println ("in"); / / realCloseLike = realCloseLike + 1; / / Als (realCloseLike > 2) {/ / dontgo = 1; / /} / /} / /} / /} //Takes ongeveer 1/2 seconde om te controleren alles van de sensoren @ 50uS delay(100); de lange microsecondsToInches(long microseconds)}} {/ / volgens de Parallax gegevensblad voor de PING))), er zijn / / 73.746 microseconden per inch (dwz geluid reizen aan 1130 voeten per / / seconde). Dit geeft de afstand die is afgelegd door de ping, uitgaande / / en terugkeer, dus wij door 2 delen te krijgen van de afstand van het obstakel. Zie: < een href = "http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf" >< een href = "http://www.parallax.com/dl/docs/prod/acc/28015-PI... < / a" > http://www.parallax.com/dl/docs/prod/acc/28015-PI...</a>> keren microseconden / 74 / 2; }

Motorische controle test codevoorbeeld:

/ * Deze voorbeeldcode is in het publieke domein. * / //establish gashendel pinnen int leftThrottle = 3; LED aangesloten op digital pin 9 int rightThrottle = 5; LED aangesloten op digital pin 9 //establish solenoïde pinnen int leftOn = 7; LED aangesloten op digital pin 9 int rightOn = 8; LED aangesloten op digital pin 9 //establish relais pinnen int leftReverse = 9; int rightReverse = 10; De snelheid van het station verzonden naar de gashendel int gospeed = 82; int nothingHappening = 0; int realCloseLike = 0; int goingforward = 0; int goingbackward = 0; int goingright = 0; int goingleft = 0; int backhit = 0; int fronthit = 0; int righthit = 0; int lefthit = 0; int amountToMove = 1000; int timeToWait = 30000; int geplukt; void setup {cli (); //stop interrupts TCCR1A = 0; / / set hele TCCR1A register op 0 TCCR1B = 0; / / zelfde voor TCCR1B TCNT1 = 0; //initialize waarde van de teller op 0 / / set vergelijk wedstrijd inschrijven voor 1 hz stappen OCR1A = 512; / / = (16 * 10 ^ 6) / (1 * 1024) - 1 (moet < 65536) / / CTC modus TCCR1B inschakelen | = (1 << WGM12); / / Set CS10 en CS12 bits voor 1024 prescaler TCCR1B | = (1 << CS12) | (1 << CS10); inschakelen van de timer vergelijk interrupt TIMSK1 | = (1 << OCIE1A); Sei (); //allow interrupts Serial.begin(9600); pinMode (leftOn, OUTPUT); pinMode (rightOn, OUTPUT); pinMode (leftReverse, OUTPUT); pinMode (rightReverse, OUTPUT); Zorg ervoor dat de stroom is uitgeschakeld digitalWrite (leftOn, laag); digitalWrite (rightOn, laag); digitalWrite (leftReverse, laag); digitalWrite (rightReverse, laag); bumper sensor pins pinMode (18, INPUT); pinMode (19, INPUT); En wacht een ogenblik delay(3000); } void loop {datumwaarde; delay(amountToMove); slowstop(); delay(timeToWait); backwards(); delay(amountToMove); slowstop(); delay(timeToWait); forwards(); delay(amountToMove); slowstop(); delay(timeToWait); rechts(); delay(amountToMove); slowstop(); delay(timeToWait); / / / rechts(); delay(amountToMove); slowstop(); delay(timeToWait); forwards(); delay(amountToMove); slowstop(); delay(timeToWait); backwards(); delay(amountToMove); slowstop(); delay(timeToWait); datumwaarde; delay(amountToMove); slowstop(); delay(timeToWait); / / / forwards(); delay(amountToMove); slowstop(); delay(timeToWait); backwards(); delay(amountToMove); slowstop(); delay(timeToWait); forwards(); delay(amountToMove); slowstop(); delay(timeToWait); backwards(); delay(amountToMove); slowstop(); delay(timeToWait);} ISR(TIMER1_COMPA_vect) {//Interrupt op freq van 1kHz tot meten reed switch rietschakelaar / / genereerd pols golf van frequentie 8kHz/2 = 4 kHz (neemt twee cycli voor volledige Golf-toggle hoog dan laag schakelen) als (lefthit == 0 & & righthit == 0 & & fronthit == 0 & & backhit == 0) {if(digitalRead(18) == HIGH) {hardstop(); Serial.println(goingbackward); Serial.println(goingforward); Serial.println(goingleft); Serial.println(goingright); Serial.println ("FUCK YEAH!"); if(goingright == 1) {righthit = 1; goingright = 0;} if(goingleft == 1) {lefthit = 1; goingleft = 0;} if(goingbackward == 1) {backhit = 1; goingbackward = 0;} if(goingforward == 1) {fronthit = 1; goingforward = 0;}} } Als (lefthit == 0 & & righthit == 0 & & fronthit == 0 & & backhit == 0) {if(digitalRead(19) == HIGH) {hardstop(); Serial.println(goingbackward); Serial.println(goingforward); Serial.println(goingleft); Serial.println(goingright); Serial.println ("FUCK Nee!"); if(goingbackward == 1) {backhit = 1; goingbackward = 0;} if(goingforward == 1) {fronthit = 1; goingforward = 0;} if(goingright == 1) {righthit = 1; goingright = 0;} if(goingleft == 1) {lefthit = 1; goingleft = 0;}} ongeldig moveRobot()}} {//first zien als hit--als raken tijdens het verplaatsen in een van de richtingen - auto-Kies de andere richting / /--anders kiezen willekeurig if(backhit == 1) {amountToMove = 1000; backhit = 0; fronthit = 0; lefthit = 0; righthit = 0; geplukt = 0;} anders if(fronthit == 1) {amountToMove = 1000; backhit = 0; fronthit = 0; lefthit = 0; righthit = 0; geplukt = 1;} anders if(lefthit == 1) {amountToMove = 500; backhit = 0; fronthit = 0; lefthit = 0; righthit = 0; geplukt = 2;} anders if(righthit == 1) {amountToMove = 500; backhit = 0; fronthit = 0; lefthit = 0; righthit = 0; geplukt = 3; } else {geplukt = random(3); Serial.println ("WTF!
?"); amountToMove = 1000; } switch(picked) {0 kast: goingforward = 1; goingbackward = 0; goingright = 0; goingleft = 0; forwards(); Serial.println ("Ga voorwaarts"); breken; geval 1: goingforward = 0; goingbackward = 1; goingright = 0; goingleft = 0; Backwards(); Serial.println ("Ga terug"); breken; geval 2: goingforward = 0; goingbackward = 0; goingright = 1; goingleft = 0; rechts(); Serial.println ("Ga rechts"); breken; Case 3: goingforward = 0; goingbackward = 0; goingright = 0; goingleft = 1; datumwaarde; Serial.println ("Ga links"); breken; } delay(1); vertraging tussen leest voor stabiliteit} ongeldig forwards() {//activate de omgekeerde Relais digitalWrite (leftReverse, hoge) delay(50) digitalWrite (rightReverse, hoge); delay(100); //activate de elektromagneten digitalWrite (leftOn, hoge); digitalWrite (rightOn, hoge); //take een adem-delay(500); //engage de gasklep analogWrite (rightThrottle, gospeed); analogWrite (leftThrottle, gospeed);} ongeldig backwards() {//activate de elektromagneten digitalWrite (leftOn, hoog), digitalWrite (rightOn, hoge); //take een adem delay(500); / / betrekken van de gasklep analogWrite (rightThrottle gospeed); analogWrite (leftThrottle, gospeed); } ongeldig rechts() {//activate de elektromagneten digitalWrite (leftOn, hoge); digitalWrite (rightOn, hoge) //activate de omgekeerde Relais digitalWrite (rightReverse, hoge); //take een adem-delay(500); //engage de gasklep analogWrite (rightThrottle, gospeed); analogWrite (leftThrottle, gospeed);} ongeldig datumwaarde {//activate de elektromagneten digitalWrite (leftOn, hoge); digitalWrite (rightOn, hoge) //activate de omgekeerde Relais digitalWrite (leftReverse, hoge); //take een adem-delay(500); //engage de gasklep analogWrite (rightThrottle, gospeed); analogWrite (leftThrottle gospeed); } void slowstop() {voor (int fadeValue = gospeed; fadeValue > = 0; fadeValue-=5) {/ / de waarde (bereik van 0 tot 255) ingesteld: analogWrite (rightThrottle, fadeValue); analogWrite (leftThrottle, fadeValue); / / wait voor 30 milliseconden om te zien de dimmen effect delay(500);} digitalWrite (leftOn, laag); digitalWrite (rightOn, laag); digitalWrite (leftReverse, laag); digitalWrite (rightReverse, laag); int goingforward = 0; int goingbackward = 0; int goingright = 0; int goingleft = 0;} void hardstop() {voor (int fadeValue = gospeed; fadeValue > = 0; fadeValue-=5) {/ / de waarde (bereik van 0 tot 255) ingesteld : analogWrite (rightThrottle, fadeValue); analogWrite (leftThrottle, fadeValue); wacht 30 milliseconden om te zien de dimmen effect altDelay(50); } digitalWrite (leftOn, laag); digitalWrite (rightOn, laag); digitalWrite (leftReverse, laag); digitalWrite (rightReverse, laag); } ongeldig altDelay(int x) {voor (unsigned int i = 0; ik < = x; i ++) {delayMicroseconds(1000);}}

Gerelateerde Artikelen

Kids Robot Bed

Kids Robot Bed

asymmetrische Robot Bed voor kinderen gemaakt van 2 vellen met multiplex en hand gereedschap. Ik voelde mijn zoon was te jong en potentieel bang om te slapen op een robot zo, hierbij ontbreekt de kleurrijke, geschilderd robotic details die ik had ged
Willekeurige sorteervolgorden

Willekeurige sorteervolgorden

Bij het maken van Bedfellow, omgezet ik in principe mijn persoonlijke queenbed een autonome zelf-rijdende elektrisch voertuig. Laat haar meubels-heid dwaas u niet. Er is een beetje umph hierachter. Het bed is geschikt voor het rijden met een aanhoude
Modulaire Robotic Hand & Arm (met uitgebreide Range of Motion) (3D afgedrukt)

Modulaire Robotic Hand & Arm (met uitgebreide Range of Motion) (3D afgedrukt)

Hallo iedereen! Dit is mijn prototype hand en arm prothese, die ik heb zijn ontwerpen voor verscheidene maanden nu. Het is nog steeds een beetje van een work in progress, en aangezien ik afwerken van met college klassen voor het semester ik heb nog n
Minecraft Instructables Robot

Minecraft Instructables Robot

Ik weet niet over u, maar ik hou van de Instructables Robot. Dus besloten heb ik om een in Minecraft. Zijn vrij groot en het is hol. Ik omgezet de binnenkant in een huis. Ik hoop dat u geniet van dit instructable. Vergeet niet te stemmen.Stap 1: Beno
Child's Robot kostuum met geluidseffecten, Candy Detector en meer

Child's Robot kostuum met geluidseffecten, Candy Detector en meer

ik maakte mijn dochter deze robot kostuum voor halloween. Ik was geïnspireerd door Dit Kid Robot kostuum. Ik nam mij een beetje in een andere richting en toegevoegd een paar meer nieuwigheden zoals lichten in de antennes en oren, een grote knop pad m
Hersenen-gecontroleerde rolstoel Robot

Hersenen-gecontroleerde rolstoel Robot

onze onafhankelijkheid Project indiening is uit te breiden onze vorige Brain-Controlled rolstoel project (1e prijswinnaar van de uitdaging van de gezondheid Humana in coördinatie met jerkey) in een nieuw ontwerp dat gebruikmaakt van een revolutionair
Eenvoudige, elegante peuter Bed

Eenvoudige, elegante peuter Bed

Met twee bladen van triplex en een handvol van schroeven, kunt u een aardige kleine peuter-bed. Dit ontwerp past een wieg matras (ongeveer 52" lange), die de gemiddelde peuter goed in de basisschool duren zal.Mijn peuter draaide net twee. Hij is te g
"Project lancering Platform Robot" deel 1 - het hoofd

"Project lancering Platform Robot" deel 1 - het hoofd

Inleiding;Ik ben in het proces van het bouwen van een robot dat ik kan sommige van mijn vele projecten om te hechten en functie off van de robot zelf hebben. In plaats van het maken van een plat bed op nummers, ik dacht dat het kon gebruiken sommige
Swarmscapers: Autonome mobiel 3D printen Robots

Swarmscapers: Autonome mobiel 3D printen Robots

Swarmscapers is een 2 maand lang onderzoeksproject uitgevoerd in de studio van Creatieve het platform Machines , onderwezen door Jason Kelly Johnson en Michael Shiloh aan het California College van de kunsten in de Digitale Craft Lab. Het is een same
De 4 am glas Robot

De 4 am glas Robot

sommige mensen hebben me gevraagd waar ik mijn ideeën. Ik ben niet zeker, maar ik weet Wanneer ik ze.Ik weet niet waarom, maar ik lijken te krijgen veel van mijn ideeën op ongelegen tijden - halverwege een les home wandelen in het donker, of, vaak ik
Instructable Robot spreker op Pier 9

Instructable Robot spreker op Pier 9

Deze 2m hoog Instructable robot is een sculptuur van de aangedreven luidspreker met beweegbare delen. Ik was zeer gelukkig te worden in opdracht maken deze sculptuur voor Pier 9 workshop. Tijdens mijn verblijf leerde ik te bedienen laser cutter met i
Ada Robotic Hand - Open Bionics

Ada Robotic Hand - Open Bionics

Dit is een stap voor stap handleiding over hoe te een Open Bionics Ada robotic handmaken. Dit is afgeleid van de Dextrus robotic hand, door het Open Hand Project. Het wordt verondersteld u hebt besteld het Ada robotic hand kit of toegang hebben tot e
DIY Robotic Hand gecontroleerd door een handschoen en Arduino

DIY Robotic Hand gecontroleerd door een handschoen en Arduino

Dit idee van het project kwam aan me toen ik zat op een bed in een hotelkamer, terwijl hij op vakantie. Ik dacht: "Het zou echt gaaf om te hebben een robotic hand waarmee ik kan met mijn eigen hand!" Bij thuiskomst, begonnen ik op een reis naar
Schattige 3D afgedrukt Robot Kit

Schattige 3D afgedrukt Robot Kit

In dit instructable, u zult leren hoe maak je een echt schattig kleine robot uit 3D-gedrukte delen!Stap 1: 3D-bestand en afdrukkenMijn leuke Robot kit kunt u downloaden via deze link:Leuke Robot - 3D Print KIT Dit model STL brengen op uw favoriete 3d