Hvordan dekorere et rom enkle farger

Hvordan dekorere et rom enkle farger

Hvordan dekorere et rom enkle farger

 Mange av dere har lagt merke til at ofte i supermarkeder og større kontorlokaler tilgjengelig i forskjellige farger dekorert med vakre glass akvarier. Vi vil prøve å gjenta det samme, men i våre hjem.

Hvordan dekorere et rom enkle farger

 Trinn 1: Materialer
  1.  Jord
     Blomst (vi valgte bregne)
     Glassbeholder med en åpen topp


    Hvordan dekorere et rom enkle farger

     Trinn 2: Rengjøring
     Vask glassflasker med såpe og vann.
     La det tørke før du helle bakken.

    Hvordan dekorere et rom enkle farger

     Trinn 3: Test
     Legg forsiktig en blomst i en bolle, midt i potten for å se hvordan det vil se anlegget.

    Hvordan dekorere et rom enkle farger

     Trinn 4: Edit
     Vi tar ut blomsten og kuttet av de ekstra grener som trengs, som i vårt tilfelle.
    Hvordan dekorere et rom enkle farger

    Hvordan dekorere et rom enkle farger

    Hvordan dekorere et rom enkle farger

     Trinn 5: Jord
     Overføre nøye anlegget i en beholder, men uten potten.
     Fyll jorden.
    Hvordan dekorere et rom enkle farger

     Trinn 6: vanning
     Vannes blomst å myke jorda. Ikke overdriv dette faktum.
    Hvordan dekorere et rom enkle farger

    Hvordan dekorere et rom enkle farger

     Trinn 7: Klar
     Dekorere rommet et par blomster.  

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA


 Totalt 200 rubler for å kjøpe et godt grunnlag for en enkel jobb. Prosjektet ble gjennomført med utenlandske kolleger Adruino Arts. For gjennomføringen må kjenne de grunnleggende prinsippene for robotikk, elektronikk og forstå litt programmering.
 I videoklippet forfatter av forteller og viser at vi bør få et resultat.
 I tillegg til lampene må vi et sett av Grove - Toy Kit. Bestill på nettet kan du handle etter pris 79,9 $.
 Hovedideen - Definisjon av statisk eller dynamisk tilstanden til objektet ved bevegelsesdeteksjon. Hvis svaret er positivt, og deretter kjøre en av aktuatorer og spille av forhåndsinnspilt melding. Ellers aktivert andre servo, og en annen lyd opptak.
 Fastsettelse av å gå gjennom noen form for innspill. Dermed får vi resultatet i binær kode 0 eller 1.
 Opptakeren kan spille av innspilt lyd bare 4 via et eksternt signal. For å ta opp (hver 15 sek.), Er det nødvendig å slå på knappen «play» til «record». Etter innspillingen knappen igjen bør bytte. Dette kan gjøres gjennom koden (funksjon play ()). I servo kabelen er 3 "pluss", "minus" og de digitale data. De første 2 skaffe mat til servo (maks 7) og tredje kobles til en digital utgang, som mottar informasjon om tilstanden på bryteren og av kode.
 Først analyseres lampe. Vi trenger ikke elektriske komponenter, men må jobbe veldig fundament. Du trenger også noen rekvisitter og støtteelementer.
 Lag et hull i røret for å koble vår design.
 Prototypen robot er klar!

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

 Trinn 1: Glow
 Ved hjelp av LED-lampe IKEA Oleby (Food solcelledrevet).
 Bryteren fungerer bare i en digital enhet, og derfor det avhenger av dagens nettverk. Hvis vi bytter podsoedynym Pay Seeeduino, kan du sette den digitale utgangen LOW, og da blir det strøm. Når du legger HIGH, vises det.
 Selv innenfor lampe og vi kobler en motstand å beskytte LED.
 Still lyselement i metallbasen.

Oppgradert lampe robot med IKEA

 Trinn 2: Prinsipp
 Vi har lampen festet servo detektor kontroll, triple akse akselerometer, opptaker og spille fire forskjellige lyder.
 Det grunnleggende prinsippet om lampen er som følger:

 Det viser seg at støy (lyd)
 Lampe inkludert
 Kjører rekord №3
 Hånd gir lampen bevegelse (venstre-høyre-venstre)
 Servo fortsatt ved 90 °
 Fullført transaksjonen

 Hvis det er støy, deretter:

 Lampe inkludert
 Servo med Lamp flytte igjen
 Kjører rekord №2
 Lampe tilbake i posisjon 90 °
 Fullført transaksjonen

 Dersom metall arm når en viss (høy) posisjon, deretter spille rekord №4.

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

Oppgradert lampe robot med IKEA

 Trinn 3: Forbedring
 I utformingen arbeid kan gjøre noen forbedringer som embedding en bytteavgift Seeeduino, for å kontrollere kjøring av kode ved hjelp av en regelmessig syklus IF. Hvis bryteren er slått på - start modus auto, hvis ikke - Stilling manuelt.
 Auto-modus inkluderer standard kode når lampen reagerer på lyd.
 Manuell-modus gir ekstern forvaltning gjennom en trippel akse akselerometer, endre plasseringen av aksene X og Y.
 Du kan gjøre en sving lysene på 360 °, og legger til det en egen servo. Kan jeg satt opp til å koble til via Wi-Fi / Ethernet.
 Trinn 4: Code
 Forfatter kode (MrLdnr) finner du nedenfor.
 [Spoiler]
 # Include
 const int buttonPin = 4; // Posisjonsbryter
 int = 0 buttonState; // Variabel for å lese stillingsknapper
 // Servo Setup
 Servo myservo2;
 Servo myservo; // Oppretter for servo kontroll
 int pos = 0; // Variabel å lagre servo stilling
 int = 0 pos2; // Variabel å lagre servo stilling
 int VAL1;
 int val2;
 // LED OPPSETT
 const int ledPin2 = 5; // Hoved lys
 const int ledPin = 12; // Tube lys
 int = 0 countlamp2;
 // Noise Setup
 const int thresholdvalue = 300; // Responsen til lyd
 // Set akseleometra
 int ystate;
 int xstate;
 # Include
 #define MMA766ddr 0x4c
 #define MMA7660_X 0x00
 #define MMA7660_Y 0x01
 #define MMA7660_Z 0x02
 #define MMA7660_TILT 0x03
 #define MMA7660_SRST 0x04
 #define MMA7660_SPCNT 0x05
 #define MMA7660_INTSU 0x06
 #define MMA7660_MODE 0x07
 #define MMA7660_SR 0x08
 #define MMA7660_PDET 0x09
 #define MMA7660_PD 0x0A
 klasse Akselerasjon
 {
 public:
 røye x;
 røye y;
 røye z;
};

 røye indeksen;
 røye kontroll;
 røye tilstand;
 int audiodelay = 1000;
 void mma7660_init (void)
 {
 Wire.begin ();
 Wire.beginTransmission (MMA766ddr);
 Wire.send (MMA7660_MODE);
 Wire.send (0x00);
 Wire.endTransmission ();
 Wire.beginTransmission (MMA766ddr);
 Wire.send (MMA7660_SR);
 Wire.send (0x07); // Prøver / Second aktiv modus og Auto-Sleep
 Wire.endTransmission ();
 Wire.beginTransmission (MMA766ddr);
 Wire.send (MMA7660_MODE);
 Wire.send (0x01); // aktiv modus
 Wire.endTransmission ();
}

 void setup ()
 {
 mma7660_init (); // Bli i2c buss (adresse selektiv hovedenhet)
 Serial.begin (9600);
 // Motion Sensor
 pinMode (6 INPUT); // brukt 2 meter for eksternt signal
 // Lampe lys og basen lys
 pinMode (ledPin, UTGANG);
 pinMode (ledPin2 UTGANG);
 // Servoer
 // AUDIO
 DDRD | = 0x0C; // D2 og D3 skrive i modus;
 PORTD & = 0xF3; // D2 og D3 satt til lav;
 // Støy sensor på Analog 0
 // SWITCH
 pinMode (buttonPin, INPUT);
}
 ugyldig rec_2_begin ()
 {
 PORTD = (PORTD | 0b00000100) og 0b11110111;
}
 ugyldig rec_2_stop ()
 {
 PORTD & = 0xF3;
}
 void play_2 ()
 {
 PORTD = (PORTD | 0b00000100) og 0b11110111;
 forsinkelse (audiodelay);
 PORTD & = 0xF3;
}
 ////////////////////////////////////////////////// ////////////////////
 ////////////////////////////////////////////////// /////
 // Funksjon for å kontrollere segment_3
 ugyldig rec_3_begin ()
 {
 PORTD = (PORTD | 0b00001000) og 0b11111011;
}
 ugyldig rec_3_stop ()
 {
 PORTD & = 0xF3;
}
 void play_3 ()
 {
 PORTD = (PORTD | 0b00001000) og 0b11111011;
 forsinkelse (audiodelay);
 PORTD & = 0xF3;
}
 ////////////////////////////////////////////////// ///
 ////////////////////////////////////////////////
 // Funksjon for å kontrollere segment_4;
 ugyldig rec_4_begin ()
 {
 PORTD = PORTD | 0b00001100;
}
 ugyldig rec_4_stop ()
 {
 PORTD & = 0xF3;
}
 void play_4 ()
 {
 PORTD = PORTD | 0b00001100;
 forsinkelse (audiodelay);
 PORTD & = 0xF3;
}
 //////////////////////

 ugyldig check_move ()
 {
 int sensorValue = digitalRead (6);
 if (sensorValue == 1)
 {
 // DigitalWrite (ledPin, HIGH);
 //Serial.println(sensorValue, DEC); // utgang posisjonen signal til skjermen.
 // Servo1 ();
}
 annet
 {
 // DigitalWrite (ledPin, LOW);
 //Serial.println(sensorValue, DEC); // utgang posisjonen signal til skjermen.
 // Servo2 ();
}
}
 ugyldig servo1_right ()
 {
 myservo.attach (9);
 for (pos = 90; pos = 90; besittelses = 1) // går fra 0 til 180 grader
 {
 myservo.write (pos); // Forteller servo posisjon gjennom en variabel 'pos'
 forsinkelse (10); // Waits 15 ms til servo tar stillingen
} * /
}
 ugyldig servo1_left ()
 {
 myservo.attach (9);
 for (pos = 90, pos & gt; 1; pos - = 1) // går fra 0 til 180 grader
 {// Trinn på 1 grad
 myservo.write (pos); // Forteller servo posisjon gjennom en variabel 'pos'
 forsinkelse (10); // Waits i 15 ms, mens servo ikke ta stilling
} / *
 play_2 ();
 forsinkelse (1000);
 for (pos = 1; pos90) {
 for (pos = posact; pos & gt; 90; pos - = 1) // returnerer 90 grader
 {// Trinn på 1 grad
 myservo.write (pos); // Forteller servo posisjon gjennom en variabel 'pos'
 forsinkelse (10); // Waits i 15 ms, mens servo ikke ta stilling
}
}
 else {
 for (pos = posact; pos 60, pos - = 1) // går fra 0 til 180 grader
 {// Trinn på 1 grad
 myservo2.write (pos); // Forteller servo posisjon gjennom en variabel 'pos'
 forsinkelse (10); // Waits i 15 ms, mens servo ikke ta stilling
} / *
 play_2 ();
 forsinkelse (1000);
 for (pos = 1; pos90) {
 for (pos = posact; pos & gt; 90; pos - = 1) // returnerer posisjonen til 90 grader
 {// Trinn på 1 grad
 myservo2.write (pos); // Forteller servo posisjon gjennom en variabel 'pos'
 forsinkelse (10); // Waits i 15 ms, mens servo ikke ta stilling
}
}
 else {
 for (pos = posact; pos<=90 ;="" pos="" +="1)" goes="" from="" 0="" degrees="" to="" 180="">
 {// Trinn på 1 grad
 myservo2.write (pos); // Forteller servo posisjon gjennom en variabel 'pos'
 forsinkelse (10); // Waits i 15 ms, mens servo ikke ta stilling
}
}
}


 ugyldig servo1_no ()
 {
 myservo.attach (9);
 for (pos = 90; pos = 90; besittelses = 1) // går 180-0 grader
 {
 myservo.write (pos); // Forteller servo posisjon gjennom en variabel 'pos'
 forsinkelse (10); // Waits i 15 ms, mens servo ikke ta stilling
}
}
 ugyldig servo2 ()
 {
 myservo2.attach (10);
 for (pos2 = 110; pos2< 140;="" pos2="" +="1)" ??="" 0="" ??="" 180="">
 {//
 myservo2.write (pos2); // Forteller servo posisjon gjennom en variabel 'pos'
 forsinkelse (15); // Waits i 15 ms, mens servo ikke ta stilling
}
}

 ugyldig servo1R ()
 {
 myservo.write (90);
 myservo.detach ();
}
 ugyldig servo2R ()
 {
 myservo2.write (90);
 myservo2.detach ();
}
 ugyldig lampblink ()
 {
 // Int sensorValue = digitalRead (6);
 // Hvis (sensorValue en =) {
 digitalWrite (ledPin, HIGH);
 // Delay (1);
 // DigitalWrite (ledPin, LOW);
 // Delay (1);
 //}
 // Else
 // DigitalWrite (ledPin, LOW);
}
 ugyldig lampetest ()
 {
 for (int i = 0; i<100;>
 {
 digitalWrite (12 HIGH);
 forsinkelse (50);
 digitalWrite (12 LOW);
 forsinkelse (50);
}
}
 ugyldig lampoff ()
 {
 // Delay (2000);
 digitalWrite (ledPin, LOW);
}
 // Akseleometr
 ugyldig Ecom ()
 {
 unsigned char val [3];
 int teller = 0;
 val [0] = val [1] = val [2] = 64;
 Wire.requestFrom (0x4c, 3); // Asks tre byte fra enheten i slave-modus 0x4c
 while (Wire.available ())
 {
 if (teller 63) // laster
 {
 val [teller] = Wire.receive ();
}
 telle ++;
}
 // Konverterer signalet av 7 bits 8 bits
 Akselerasjon ret;
 ret.x = ((char) (val [0] 2)) / 4;
 ret.y = ((char) (val [1] 2)) / 4;
 ret.z = ((char) (val [2] 2)) / 4;
 ystate = ret.y;
 xstate = ret.x;
 Serial.print («x =");
 Serial.println (ret.x, DEC); //
 Serial.print ("y =");
 Serial.println (ret.y, DEC); //
 Serial.print ("z =");
 Serial.println (ret.z, DEC); //
}
 røye lesing = 0;

 void loop ()
 {
 Ecom (); // Sjekk status på akselerometeret
 digitalWrite (ledPin2HIGH);
 buttonState = digitalRead (buttonPin); // Reading posisjonsbryter
 if (buttonState == HIGH)
 {
 lampblink (); // ta til LED på:
 myservo.attach (9);
 myservo2.attach (10);
 VAL1 = ystate;
 VAL1 = kartet (val130 -300 179);
 myservo2.write (VAL1);
 val2 = xstate;
 val2 = kartet (val2 -30 300 179);
 myservo.write (val2); // Setter servo posisjon i henhold til verdien ranzhyruemыm
 if (ystate thresholdvalue)
 {
 Serial.println ("JA");
 // DigitalWrite (ledNoise, HIGH);
 play_4 ();
 // Lampoff ();
 lampblink ();
 servo1_no ();
 servo1_no ();
 servo1R ();
 forsinkelse (1000);
}
 annet
 {
 lampoff ();
}
 // Ser etter bevegelse
 int sensorValue = digitalRead (6); // Bevegelsesdetektor
 if (sensorValue == 1)
 {
 Serial.println ("Move");
 // Movestate = 1;
 lampblink ();
 // Servo2 ();
 servo2_right ();
 servo1_right ();
 play_2 ();
 forsinkelse (1000);
 servo2_return ();
 servo1_return ();
 servo1_left ();
 servo2_left ();
 play_2 ();
 forsinkelse (1000);
 servo2_return ();
 servo1_return ();
 // Delay (1000);
}
 annet
 {
 // DigitalWrite (ledNoise, LOW);
 // Servo2 ();
 servo1R ();
 servo2R ();
 lampoff ();
 // Play_2 ();
 // Movestate = 0;
}
}
}  




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