Random sorteringsordningar (2 / 4 steg)

Steg 2: kod


Okej - så - när du arbetar med kod det är perfekt att använda något liknande Github att hålla reda på ändringar. Jag gör inte detta. Alltså skrev jag av misstag över den senaste fungerande versionen av koden. Jag har den senast sparade versionen, men jag är inte säker på hur komplett det är. Det är sannolikt lite buggig.

Novertheless, eftersom ingen av er kommer sannolikt att bygga det här någon som sätt, och sängen är för närvarande i bitar och inte fungerar, jag kommer bara att lägga upp vad jag har.

Jag delar också Provningsmetod för att manuellt kontrollera motorerna. Om du tittar på detta projekt för gränsyta en Arduino till mycket stora motorer via en Alltrax motor controller, kommer att här koden vara mer användbar för dig ändå.

Senast sparade versionen av Robot Bed Provningsmetod:

/*
Denna exempelkod är offentlig.

*/

upprätta spjäll pins
int leftThrottle = 3; LED är ansluten till digital pin 9
int rightThrottle = 5; LED är ansluten till digital pin 9

upprätta magnetventil pins
int leftOn = 7. LED är ansluten till digital pin 9
int rightOn = 8; LED är ansluten till digital pin 9

upprätta contactor pins
int leftReverse = 9;
int rightReverse = 10;

Körhastighet skickas till gasen
int gospeed = 86.

flyktiga int foserious = 0;

FRAMSIDAN
int FrontLeftSnd = 30.
int FrontLeftRcv = 31;

int FrontCenterSnd = 32.
int FrontCenterRcv = 33.

int FrontRightSnd = 34.
int FrontRightRcv = 35.

HÖGER SIDA
int Side1LeftSnd = 36.
int Side1LeftRcv = 37.

int Side1CenterSnd = 38.
int Side1CenterRcv = 39.

int Side1RightSnd = 40;
int Side1RightRcv = 41;

TILLBAKA
int BackLeftSnd = 42.
int BackLeftRcv = 43;

int BackCenterSnd = 44.
int BackCenterRcv = 45;

int BackRightSnd = 46.
int BackRightRcv = 47;

VÄNSTER SIDA
int Side2LeftSnd = 49.
int Side2LeftRcv = 48.

int Side2CenterSnd = 51.
int Side2CenterRcv = 50;

int Side2RightSnd = 53;
int Side2RightRcv = 52;

matris för alla inkommande och utgående stift namn. Senare brukade läsa alla sensorer i en for-loop.
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;

antalet totala sensorer
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 plockade;

void setup() {

(CLI); //stop avbrott

TCCR1A = 0; / / Ställ in hela TCCR1A register till 0
TCCR1B = 0; / / samma för TCCR1B
TCNT1 = 0; //initialize värde till 0
Set jämför match registrera för 1hz steg
OCR1A = 512; / / = (16 * 10 ^ 6) / (1 * 1024) - 1 (måste vara < 65536)
Aktivera CTC läge
TCCR1B | = (1 << WGM12);
Anger CS10 och CS12 bitar för 1024 prescaler
TCCR1B | = (1 << CS12) | (1 << CS10);
Aktivera timern jämför avbrott
TIMSK1 | = (1 << OCIE1A);

SEI (); //allow avbrott

Serial.BEGIN(9600);

pinMode (leftOn, produktionen);
pinMode (rightOn, produktionen);

pinMode (leftReverse, produktionen);
pinMode (rightReverse, produktionen);

Se till att strömmen är avstängd
digitalWrite (leftOn, låg);
digitalWrite (rightOn, låg);
digitalWrite (leftReverse, låg);
digitalWrite (rightReverse, låg);

stötfångare sensor stift
pinMode (18, ingång);
pinMode (19, ingång);

Ange avståndet sensor utgångsstift
pinMode (FrontLeftSnd, OUTPUT); stift 30
pinMode (FrontCenterSnd, OUTPUT); PIN 32
pinMode (FrontRightSnd, OUTPUT); PIN 34
pinMode (Side1LeftSnd, OUTPUT); PIN 36
pinMode (Side1CenterSnd, OUTPUT); PIN 38
pinMode (Side1RightSnd, OUTPUT); stift 40
pinMode (BackLeftSnd, OUTPUT); stift 42
pinMode (BackCenterSnd, OUTPUT); PIN 44
pinMode (BackRightSnd, OUTPUT); PIN 46
pinMode (Side2LeftSnd, OUTPUT); PIN 49
pinMode (Side2CenterSnd, OUTPUT); PIN 51
pinMode (Side2RightSnd, OUTPUT); PIN 53

Ange avståndet sensor input pins
pinMode (FrontLeftRcv, indata); stift 31
pinMode (FrontCenterRcv, indata); PIN 33
pinMode (FrontRightRcv, indata); PIN 35
pinMode (Side1LeftRcv, indata); stift 37
pinMode (Side1CenterRcv, indata); PIN-kod 39
pinMode (Side1RightRcv, indata); PIN 41
pinMode (BackLeftRcv, indata); stift 43
pinMode (BackCenterRcv, indata); PIN 45
pinMode (BackRightRcv, indata); PIN 47
pinMode (Side2LeftRcv, indata); PIN 48
pinMode (Side2CenterRcv, indata); PIN 50
pinMode (Side2RightRcv, indata); PIN 52

Och vänta en stund
Delay(3000);

}

void loop() {

lookAllAround();

moveRobot();
Delay(amountToMove);
slowstop();
Delay(1500);

}

ISR(TIMER1_COMPA_vect) {
Avbryta på freq 1 kHz att mäta reed switch / / genererar puls våg av frekvens 8kHz/2 = 4 kHz (tar två cykler för full wave-växla hög sedan växla låg)

om (lefthit == 0 & & righthit == 0 & & fronthit == 0 & & backhit == 0) {
IF(digitalRead(18) == hög) {
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;
}
}

}

om (lefthit == 0 & & righthit == 0 & & fronthit == 0 & & backhit == 0) {
IF(digitalRead(19) == hög) {
hardstop();
Serial.println ("FUCK NO!");
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;
}
}
}

}

void moveRobot() {

först se om hit--om hit medan du flyttar i någon av riktningarna - auto-pick åt andra hållet
--annars plocka slumpmässigt
IF(backhit == 1) {
amountToMove = 1000;

backhit = 0;
fronthit = 0;
lefthit = 0;
righthit = 0;
plockade = 0;
}
annat if(fronthit == 1) {
amountToMove = 1000;

backhit = 0;
fronthit = 0;
lefthit = 0;
righthit = 0; plockade = 1;
}
annat if(lefthit == 1) {
amountToMove = 500.

backhit = 0;
fronthit = 0;
lefthit = 0;
righthit = 0;
plockade = 2;
}
annat if(righthit == 1) {
amountToMove = 500.

backhit = 0;
fronthit = 0;
lefthit = 0;
righthit = 0;
plockade = 3;
}
annat {
plockade = random(3);
Serial.println("WTF!?");
amountToMove = 1000;
}

Switch(Picked) {
fall 0:
goingforward = 1;
goingbackward = 0;
goingright = 0;
goingleft = 0;
forwards();
Serial.println ("gå framlänges");

bryta;
fall 1:
goingforward = 0;
goingbackward = 1;
goingright = 0;
goingleft = 0;
Backwards();
Serial.println ("gå tillbaka");

bryta;
fall 2:
goingforward = 0;
goingbackward = 0;
goingright = 1;
goingleft = 0;
Right();
Serial.println ("go rätt");

bryta;
fall 3:
goingforward = 0;
goingbackward = 0;
goingright = 0;
goingleft = 1;
Left();
Serial.println ("gå kvar");

bryta;
}

Delay(1); dröjsmål i mellan läser för stabilitet

}

void forwards() {

Aktivera den omvända contactoren
digitalWrite (leftReverse, hög);
Delay(50);
digitalWrite (rightReverse, hög);

Delay(100);

Aktivera solenoider
digitalWrite (leftOn, hög);
digitalWrite (rightOn, hög);

ta ett andetag
Delay(500);

engagera spjäll
analogWrite (rightThrottle, gospeed);
analogWrite (leftThrottle, gospeed);

}

void backwards() {

Aktivera solenoider
digitalWrite (leftOn, hög);
digitalWrite (rightOn, hög);

ta ett andetag
Delay(500);

engagera spjäll
analogWrite (rightThrottle, gospeed);
analogWrite (leftThrottle, gospeed);

}

void right() {

IF(dontgo == 0) {
Aktivera solenoider
digitalWrite (leftOn, hög);
digitalWrite (rightOn, hög);

Aktivera den omvända contactoren
digitalWrite (rightReverse, hög);

ta ett andetag
Delay(500);

engagera spjäll
analogWrite (rightThrottle, gospeed);
analogWrite (leftThrottle, gospeed);
}

återställa variabeln
dontgo = 0;

}

void left() {

IF(dontgo == 0) {
Aktivera solenoider
digitalWrite (leftOn, hög);
digitalWrite (rightOn, hög);

Aktivera den omvända contactoren
digitalWrite (leftReverse, hög);

ta ett andetag
Delay(500);

engagera spjäll
analogWrite (rightThrottle, gospeed);
analogWrite (leftThrottle, gospeed);
}

återställa variabeln
dontgo = 0;

}

void slowstop()
{

för (int fadeValue = gospeed; fadeValue > = 0; fadeValue-=5) {
anger värdet (varierar från 0 till 255):
analogWrite (rightThrottle, fadeValue);
analogWrite (leftThrottle, fadeValue);
vänta 30 millisekunder att se ljusreglering effekten
Delay(500);
}

digitalWrite (leftOn, låg);
digitalWrite (rightOn, låg);
digitalWrite (leftReverse, låg);
digitalWrite (rightReverse, låg);

int goingforward = 0;
int goingbackward = 0;
int goingright = 0;
int goingleft = 0;

Delay(2000);
lookAllAround();
Delay(1000);

}

void hardstop()
{

för (int fadeValue = gospeed; fadeValue > = 0; fadeValue-=5) {
anger värdet (varierar från 0 till 255):
analogWrite (rightThrottle, fadeValue);
analogWrite (leftThrottle, fadeValue);
vänta 30 millisekunder att se ljusreglering effekten
altDelay(50);
}

digitalWrite (leftOn, låg);
digitalWrite (rightOn, låg);
digitalWrite (leftReverse, låg);
digitalWrite (rightReverse, låg);
}

void altDelay(int x) {
för (unsigned int jag = 0; jag < = x; i ++)
{
delayMicroseconds(1000);
}
}

void lookAllAround() {

lång varaktighet, tum, cm;

för (int thisPin = 0; thisPin < 1; thisPin ++) {

digitalWrite (SensorOutputs [thisPin], låg);
delayMicroseconds(2);
digitalWrite (SensorOutputs [thisPin], hög);
delayMicroseconds(12);
digitalWrite (SensorOutputs [thisPin], låg);

längd = pulseIn (SensorInputs [thisPin], hög);
digitalWrite (SensorOutputs [thisPin], låg);

konvertera tiden till ett avstånd
tum = microsecondsToInches(duration);

Serial.Print(SensorOutputs[thisPin]);
Serial.Print(":");
Serial.Print(inches);
Serial.println ("in");

//check och kontrollera igen
om (inches > 10 & & inches < 25) {
realCloseLike = 0;
för (int checkagain = 0; checkagain < 3; checkagain ++) {
Delay(100);
digitalWrite (SensorOutputs [thisPin], låg);
delayMicroseconds(2);
digitalWrite (SensorOutputs [thisPin], hög);
delayMicroseconds(12);
digitalWrite (SensorOutputs [thisPin], låg);
//
längd = pulseIn (SensorInputs [thisPin], hög);
tum = microsecondsToInches(duration);
digitalWrite (SensorOutputs [thisPin], låg);
//
Delay(100);
//
om (inches > 10 & & inches < 25) {
//
Serial.Print(SensorOutputs[thisPin]);
Serial.Print(":");
Serial.Print(inches);
Serial.println ("in");
//
realCloseLike = realCloseLike + 1.
//
om (realCloseLike > 2) {
dontgo = 1;
// }
// }
// }
// }

Tar ca 1/2 sekund för att kontrollera alla sensorerna @ 50uS
Delay(100);

}
}

lång microsecondsToInches(long microseconds)
{
Enligt Parallaxs datablad för PING))), det finns
73.746 mikrosekunder per tum (dvs. ljud resor på 1130 fot per
det andra). Detta ger vägsträcka som ping, utgående
och tillbaka, så vi delar med 2 att få distansera av hindret.
Se: < en href = "http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf" >< en href = "http://www.parallax.com/dl/docs/prod/acc/28015-PI... < / a" > http://www.parallax.com/dl/docs/prod/acc/28015-PI...</a>>
återvända mikrosekunder / 74 / 2;
}

Motorisk kontroll test kodexempel:

/*
Denna exempelkod är offentlig.

*/

upprätta spjäll pins
int leftThrottle = 3; LED är ansluten till digital pin 9
int rightThrottle = 5; LED är ansluten till digital pin 9

upprätta magnetventil pins
int leftOn = 7. LED är ansluten till digital pin 9
int rightOn = 8; LED är ansluten till digital pin 9

upprätta contactor pins
int leftReverse = 9;
int rightReverse = 10;

Körhastighet skickas till gasen
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 plockade;

void setup() {

(CLI); //stop avbrott

TCCR1A = 0; / / Ställ in hela TCCR1A register till 0
TCCR1B = 0; / / samma för TCCR1B
TCNT1 = 0; //initialize värde till 0
Set jämför match registrera för 1hz steg
OCR1A = 512; / / = (16 * 10 ^ 6) / (1 * 1024) - 1 (måste vara < 65536)
Aktivera CTC läge
TCCR1B | = (1 << WGM12);
Anger CS10 och CS12 bitar för 1024 prescaler
TCCR1B | = (1 << CS12) | (1 << CS10);
Aktivera timern jämför avbrott
TIMSK1 | = (1 << OCIE1A);

SEI (); //allow avbrott

Serial.BEGIN(9600);

pinMode (leftOn, produktionen);
pinMode (rightOn, produktionen);

pinMode (leftReverse, produktionen);
pinMode (rightReverse, produktionen);

Se till att strömmen är avstängd
digitalWrite (leftOn, låg);
digitalWrite (rightOn, låg);
digitalWrite (leftReverse, låg);
digitalWrite (rightReverse, låg);

stötfångare sensor stift
pinMode (18, ingång);
pinMode (19, ingång);

Och vänta en stund
Delay(3000);

}

void loop() {

Left();
Delay(amountToMove);
slowstop();
Delay(timeToWait);

Backwards();
Delay(amountToMove);
slowstop();
Delay(timeToWait);

forwards();
Delay(amountToMove);
slowstop();
Delay(timeToWait);

Right();
Delay(amountToMove);
slowstop();
Delay(timeToWait);

///

Right();
Delay(amountToMove);
slowstop();
Delay(timeToWait);

forwards();
Delay(amountToMove);
slowstop();
Delay(timeToWait);

Backwards();
Delay(amountToMove);
slowstop();
Delay(timeToWait);

Left();
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) {
Avbryta på freq 1 kHz att mäta reed switch / / genererar puls våg av frekvens 8kHz/2 = 4 kHz (tar två cykler för full wave-växla hög sedan växla låg)

om (lefthit == 0 & & righthit == 0 & & fronthit == 0 & & backhit == 0) {
IF(digitalRead(18) == hög) {
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;
}
}

}

om (lefthit == 0 & & righthit == 0 & & fronthit == 0 & & backhit == 0) {
IF(digitalRead(19) == hög) {
hardstop();

Serial.println(goingbackward);
Serial.println(goingforward);
Serial.println(goingleft);
Serial.println(goingright);
Serial.println ("FUCK NO!");

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;
}
}
}

}

void moveRobot() {

först se om hit--om hit medan du flyttar i någon av riktningarna - auto-pick åt andra hållet
--annars plocka slumpmässigt
IF(backhit == 1) {
amountToMove = 1000;

backhit = 0;
fronthit = 0;
lefthit = 0;
righthit = 0;
plockade = 0;
}
annat if(fronthit == 1) {
amountToMove = 1000;

backhit = 0;
fronthit = 0;
lefthit = 0;
righthit = 0; plockade = 1;
}
annat if(lefthit == 1) {
amountToMove = 500.

backhit = 0;
fronthit = 0;
lefthit = 0;
righthit = 0;
plockade = 2;
}
annat if(righthit == 1) {
amountToMove = 500.

backhit = 0;
fronthit = 0;
lefthit = 0;
righthit = 0;
plockade = 3;
}
annat {
plockade = random(3);
Serial.println("WTF!?");
amountToMove = 1000;
}

Switch(Picked) {
fall 0:
goingforward = 1;
goingbackward = 0;
goingright = 0;
goingleft = 0;
forwards();
Serial.println ("gå framlänges");

bryta;
fall 1:
goingforward = 0;
goingbackward = 1;
goingright = 0;
goingleft = 0;
Backwards();
Serial.println ("gå tillbaka");

bryta;
fall 2:
goingforward = 0;
goingbackward = 0;
goingright = 1;
goingleft = 0;
Right();
Serial.println ("go rätt");

bryta;
fall 3:
goingforward = 0;
goingbackward = 0;
goingright = 0;
goingleft = 1;
Left();
Serial.println ("gå kvar");

bryta;
}

Delay(1); dröjsmål i mellan läser för stabilitet

}

void forwards() {

Aktivera den omvända contactoren
digitalWrite (leftReverse, hög);
Delay(50);
digitalWrite (rightReverse, hög);

Delay(100);

Aktivera solenoider
digitalWrite (leftOn, hög);
digitalWrite (rightOn, hög);

ta ett andetag
Delay(500);

engagera spjäll
analogWrite (rightThrottle, gospeed);
analogWrite (leftThrottle, gospeed);

}

void backwards() {

Aktivera solenoider
digitalWrite (leftOn, hög);
digitalWrite (rightOn, hög);

ta ett andetag
Delay(500);

engagera spjäll
analogWrite (rightThrottle, gospeed);
analogWrite (leftThrottle, gospeed);

}

void right() {

Aktivera solenoider
digitalWrite (leftOn, hög);
digitalWrite (rightOn, hög);

Aktivera den omvända contactoren
digitalWrite (rightReverse, hög);

ta ett andetag
Delay(500);

engagera spjäll
analogWrite (rightThrottle, gospeed);
analogWrite (leftThrottle, gospeed);

}

void left() {

Aktivera solenoider
digitalWrite (leftOn, hög);
digitalWrite (rightOn, hög);

Aktivera den omvända contactoren
digitalWrite (leftReverse, hög);

ta ett andetag
Delay(500);

engagera spjäll
analogWrite (rightThrottle, gospeed);
analogWrite (leftThrottle, gospeed);

}

void slowstop()
{

för (int fadeValue = gospeed; fadeValue > = 0; fadeValue-=5) {
anger värdet (varierar från 0 till 255):
analogWrite (rightThrottle, fadeValue);
analogWrite (leftThrottle, fadeValue);
vänta 30 millisekunder att se ljusreglering effekten
Delay(500);
}

digitalWrite (leftOn, låg);
digitalWrite (rightOn, låg);
digitalWrite (leftReverse, låg);
digitalWrite (rightReverse, låg);

int goingforward = 0;
int goingbackward = 0;
int goingright = 0;
int goingleft = 0;

}

void hardstop()
{

för (int fadeValue = gospeed; fadeValue > = 0; fadeValue-=5) {
anger värdet (varierar från 0 till 255):
analogWrite (rightThrottle, fadeValue);
analogWrite (leftThrottle, fadeValue);
vänta 30 millisekunder att se ljusreglering effekten
altDelay(50);
}

digitalWrite (leftOn, låg);
digitalWrite (rightOn, låg);
digitalWrite (leftReverse, låg);
digitalWrite (rightReverse, låg);
}

void altDelay(int x) {
för (unsigned int jag = 0; jag < = x; i ++)
{
delayMicroseconds(1000);
}
}

Se Steg
Relaterade Ämnen

Python modellering av Random walk

Min enkla bit kod skriven i Python kan du modellera och simulera random walk och visa diagrammet av slumpmässig promenad i realtid eftersom det är skapat. Varje gång du kör programmet får du ett annat resultat. Random walk förklaras av Wikipedia:"A r...

Randome geodesic nödbostäder

för en vanlig människa som det innebär att du kan skapa en struktur som skydd enkelt och till låg kostnad. Du behöver inte använda en geodetisk miniräknare eller räkna ut fjäderben böj vinklar eller ens oroa dig för att göra en cover. Det är också et...

Hur man gör Random Generator

Random generator av miniräknareSteg 1: förberedelse Se till att din miniräknare har slumpmässiga funktion. Dess märkta som Ran #.Steg 2: Programmet Bara folow video https://youtu.be/6U8St96SdgE...

My Random Knex Contest #7 knex tank

Detta är förRandom Knex Contest #7 av Hiyadudez det är en tank men det bästa jag kan göra med vilka knex delar jag har kvar för min dreadnoughtmen detta är min första tävling så vara trevligt...

Halo 2 Brute Shot, lite random saker jag har gjort och en enkät.

Righty-o, så jag har runt två år av random skit som jag har gjort och tänkte att jag kanske också lägga dem någonstans i stället för att ta bort dem från existens. De är antingen mig eller en modifierad version av någon annans skapelse. Dessutom är j...

Random Knex bild action pistol

bara en random pistol jag bygga = D dess inget speciellt och inte skjuta riktigt långt och har inte en tidning: cOm du har några idéer som du vill att jag ska bygga bara säga det och jag kommer!Ursäkta min dåliga engelska btw...

Random robot sak jag gjorde

random sak...

Random vapen

Detta är bara några random sak jag kom upp medSteg 1: bit grevebit räkning:stavar:blå: 2gul: 4Red: 4Flexi lila: 4anslutningar:ljus grå: 4gul: 4blå: 8vit: 15Steg 2: hanteraSteg 3: stick Steg 4: flexi bit...

Random flimrande LED snöflinga

i denna Juldekoration Instructables vi producerar en random flimrande LED belysta snöflinga som är lätt, låg kostnad och snabb att bygga genom att hacka (ändra) en LED te ljus.Sammanfattning: Anslut den LED te ljus till en optisk koppling att signale...

Random lego skapelser

lite random crations jag gjortSteg 1: rainbow ganska enkelt hade jag lila så men det är bara gjort av 2 x 2 rutorSteg 2: brandbil sorts menade att det ska vara en brandbil visade sig mer som en ambulansSteg 3: kärlek tecken jag satte e bakåt med flit...

Återskapa Moooi Random light av Bertjan Pot

det finns ett antal tutorials ute för denna särskilda fixtur. Jag rekommenderar att titta på några av dem. Jag tittade på ca tre innan vi inleder detta och resultatet ligger under. Detta är bara mitt sätt att göra detta projekt. Jag uppmuntrar dig at...

Sandning konkava ytor med DIY skum Pad/Random Orbital

hur man sand konkav topografiska ytor utan att köpa en fancy skum-vadderade fastsättning för din Random Orbital SanderSteg 1: Cut polystyren i en cirkel samma form som din pad Skär polystyren i en cirkel samma form som din padSteg 2: spray följa ett...

Random Instructable (med batch)

Idag var jag ute efter gamla randomiser knappen... men mycket att min dissapointment, det verkar har tagits bort (eller jag har gått blind) så jag om att göra min egen, och här är detMed denna enkla batchfile, kan du hitta dig själv några slumpmässig...

Hur att lagra din Random Orbital Sander skivor i en shopmade låda!

Inget märkvärdigt, bara ett snabbt och enkelt sätt att bygga en fin förvaringsenhet för din random orbital krok och ögla slipning skivor.Lagra dina skivor på detta sätt kraftigt förbättrar din effektivitet. En ordnad butik inte bara ser bra ut det hj...

Random bana sandpapper justering jig

här är en mycket enkel jigg kan du i ca 5 minuter som hjälper dig justera hålen i din sandpapper till damm samling hålen i din random bana sander....

Random dekoration

så, Hej alla. Denna random dekoration är inte svårt att göra och det finns inga specifika steg till denna sak. Bara samla lite gamla saker och låta fantasin flöda. Ha roligt att göra!:)...

Random Arduino LED Fader.

Slumpmässighet. Det är så lätt i verkligheten. I elektronik världen, ja... det är verkligen svårt. Visst är det möjligt att skapa "pseudo-slumpmässiga" effekter, men inte verkligen är slumpmässig. Det enda sättet att faktiskt skapa slumpmässighe...

Lustiga skämt att spela på Random människor

syftet med detta Instructable är att visa, steg för steg, ett skämt som kan spelas på en mängd slumpmässiga människor.Kronologi av stegen är viktigt och varje steg måste "säljas".Ännu mer "lustiga" med dina vänner.Bästa lycka till denn...

En random show off video.

Det är bara jag visar upp....