Hogyan lehet díszíteni a szobát egyszerű színek

Hogyan lehet díszíteni a szobát egyszerű színek

Hogyan lehet díszíteni a szobát egyszerű színek

 Sokan észre, hogy gyakran a szupermarketekben és a nagy alapterület több színben kapható díszített gyönyörű üveg akváriumokban. Megpróbáljuk megismételni ugyanazt a dolgot, de az otthonunkban.

Hogyan lehet díszíteni a szobát egyszerű színek

 1. lépés: Anyagok
  1.  Talaj
     Virág (mi választottuk páfrány)
     Üveg tartály egy nyitott felső


    Hogyan lehet díszíteni a szobát egyszerű színek

     2. lépés: Tisztítás
     Mossuk üvegek szappannal és vízzel.
     Hagyjuk száradni, mielőtt öntsük a földre.

    Hogyan lehet díszíteni a szobát egyszerű színek

     3. lépés: Teszt
     Óvatosan helyezze a virág egy tálba, közvetlenül a pot, hogy hogyan is fog kinézni növény.

    Hogyan lehet díszíteni a szobát egyszerű színek

     4. lépés: Szerkesztés
     Mi vegye ki a virág és levágta az extra ágak szükség, mint a mi esetünkben.
    Hogyan lehet díszíteni a szobát egyszerű színek

    Hogyan lehet díszíteni a szobát egyszerű színek

    Hogyan lehet díszíteni a szobát egyszerű színek

     5. lépés: Soil
     Vigyük át a növény egy tartályba, de anélkül, hogy bankot.
     Töltsétek be a földet.
    Hogyan lehet díszíteni a szobát egyszerű színek

     6. lépés: öntözés
     Locsolni virág, hogy tompítsa a talaj. Ne vigyük túlzásba ezt a tényt.
    Hogyan lehet díszíteni a szobát egyszerű színek

    Hogyan lehet díszíteni a szobát egyszerű színek

     7. lépés: Kész
     Díszítik a szobában néhány virágot.  

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA


 Összesen 200 rubelt, hogy vesz egy jó alap egy egyszerű feladatra. A projekt fejeződött külföldi kollégákkal Adruino Arts. Annak végrehajtására kell tudni az alapelvek a robotika, az elektronika és megérteni egy kicsit programozás.
 A videoklip szerzője azt mondja, és megmutatja, hogy mi kell, hogy emiatt.
 Amellett, hogy a lámpák szükségünk van egy sor Grove - Toy Kit. Rendeljen online vásárolhat ár 79,9 $.
 A fő gondolat - meghatározása statikus és dinamikus állapota az objektum által mozgásérzékelés. Ha a válasz pozitív, akkor futtassa a hajtóművek és a lejátszott, előre felvett üzenetet. Ellenkező esetben, aktivált 2. szervo, és egy másik hangfelvétel.
 Meghatározása megy keresztül valamilyen formában a bemenet. Így azt az eredményt kapjuk a bináris kód 0 vagy 1.
 Recorder le tudja játszani a felvett hangot csak 4 külső jellel. Rögzíteni (minden 15 mp.), Akkor be kell kapcsolni a gombot «játék» a «rekordot». A felvétel után ismét a gombot kell váltani. Ezt meg lehet tenni a kódot (a funkció lejátszás ()). Szervo kábel 3 "plusz", "mínusz", és a digitális adatok. Az első 2 szolgálnak táplálékul szervo (max 7) és a 3. csatlakozik a digitális kimenetet, amely információkat kap az állam a kapcsoló és a kódot.
 Először elemzett lámpa. Nem kell elektromos alkatrészek, de meg kell dolgozni alapjaiban. Akkor is meg kell néhány kelléket és kiegészítő elem.
 Készíts egy lyukat a csövön, hogy csatlakozzunk mi design.
 A prototípus robot már!

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

 1. lépés: Glow
 LED-es lámpa IKEA OLEBY (Food napenergiával működő).
 A kapcsoló csak akkor működik, egy digitális eszköz, ezért ez függ az adott hálózathoz. Ha váltani podsoedynym Pay Seeeduino, beállíthatja a digitális kimenet LOW, és akkor nem lesz aktuális. Amikor teszi, hogy nagyobb, az újra megjelenik.
 Még a lámpát, és mi dugja egy ellenállást, hogy megvédje a LED.
 Állítsa be a fényt eleme a fém alap.

Továbbfejlesztett lámpa robot IKEA

 2. lépés: Principle
 Megvan a lámpa mellékelt szervo érzékelő ellenőrzése, a háromtengelyes gyorsulásmérő, felvevő és játszani 4 különböző hangot.
 Az alapelv az a lámpa a következő:

 Kiderült, a zaj (hang)
 A fényforrást tartalmazza
 Fut rekordot №3
 Kézi lámpa Motion (bal-jobb-bal)
 Szervo 90 °
 Befejezett tranzakció

 Ha a zaj, akkor:

 A fényforrást tartalmazza
 Servo lámpával mozgásban maradt
 Fut rekordot №2
 Lámpa vissza a helyére 90 °
 Befejezett tranzakció

 Ha a fém kar elér egy bizonyos (magas) állásba, majd lejátszás rekord №4.

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

Továbbfejlesztett lámpa robot IKEA

 3. lépés: Improvement
 A tervezési munka lehet, hogy némi javulás, mint beágyazása a switch díjat Seeeduino, hogy ellenőrizzék kódfuttatást, hogy szabályos ciklust, ha. Ha a kapcsoló be van kapcsolva - indítási mód auto, ha nem - módú manuális.
 Auto-mód magában szabványos kódot, amikor a lámpa reagál a hang.
 Kézi üzemmódban biztosítja a távoli menedzsmentet a háromtengelyes gyorsulásmérő, helyzetének megváltoztatása a tengelyek X és Y.
 Tudod, hogy egy világítás fel 360 °, hozzátéve, hogy ez egy külön szervo. Tudom létre csatlakozni a Wi-Fi / Ethernet.
 4. lépés: Code
 Szerző kódot (MrLdnr) alább olvasható.
 [Spoiler]
 #include
 const int buttonPin = 4; // Position switch
 int buttonState = 0; // Változó olvasásához gombok helyzetben
 // Servo Beállítás
 Servo myservo2;
 Servo myservo; // Létrehoz szervo-szabályozás
 int pos = 0; // Változó tárolja a szervo helyzetben
 int POS2 = 0; // Változó tárolja a szervo helyzetben
 int ért1;
 int értl2;
 // LED beállítása
 const int ledPin2 = 5; // fő fény
 const int ledPin = 12; // cső fény
 int countlamp2 = 0;
 // Noise Beállítás
 const int thresholdvalue = 300; // A hang hatására
 // 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
 osztály Gyorsulás
 {
 Nyilvános:
 char x;
 char y;
 char z;
};

 char index;
 char ellenőrzése;
 char állapotban;
 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); // Minta / másodperc aktív mód és Auto-Sleep
 Wire.endTransmission ();
 Wire.beginTransmission (MMA766ddr);
 Wire.send (MMA7660_MODE);
 Wire.send (0x01); // aktív üzemmódban
 Wire.endTransmission ();
}

 void setup ()
 {
 mma7660_init (); // Csatlakozz i2c busz (cím szelektív master eszköz)
 Serial.begin (9600);
 // Motion Sensor
 pinMode (6 INPUT); // használt 2 méter külső jel
 // Lámpa fény és bázis fény
 pinMode (ledPin, OUTPUT);
 pinMode (ledPin2 kimenet);
 // Szervók
 // AUDIO
 DDRD | = 0x0C; // D2 és D3 write módban;
 PORTD & = 0xF3; // D2 és D3 állítva alacsony;
 // Noise érzékelő Analóg 0
 // SWITCH
 pinMode (buttonPin, INPUT);
}
 void rec_2_begin ()
 {
 PORTD = (PORTD | 0b00000100) és 0b11110111;
}
 void rec_2_stop ()
 {
 PORTD & = 0xF3;
}
 void play_2 ()
 {
 PORTD = (PORTD | 0b00000100) és 0b11110111;
 delay (audiodelay);
 PORTD & = 0xF3;
}
 ////////////////////////////////////////////////// ////////////////////
 ////////////////////////////////////////////////// /////
 // Funkció, hogy ellenőrizzék a segment_3
 void rec_3_begin ()
 {
 PORTD = (PORTD | 0b00001000) és 0b11111011;
}
 void rec_3_stop ()
 {
 PORTD & = 0xF3;
}
 void play_3 ()
 {
 PORTD = (PORTD | 0b00001000) és 0b11111011;
 delay (audiodelay);
 PORTD & = 0xF3;
}
 ////////////////////////////////////////////////// ///
 ////////////////////////////////////////////////
 // Funkció, hogy ellenőrizzék a segment_4;
 void rec_4_begin ()
 {
 PORTD = PORTD | 0b00001100;
}
 void rec_4_stop ()
 {
 PORTD & = 0xF3;
}
 void play_4 ()
 {
 PORTD = PORTD | 0b00001100;
 delay (audiodelay);
 PORTD & = 0xF3;
}
 //////////////////////

 void check_move ()
 {
 int sensorValue = digitalRead (6);
 if (sensorValue == 1)
 {
 // DigitalWrite (ledPin, HIGH);
 //Serial.println(sensorValue, December); // kiírja a helyzet jelet a monitor.
 // Servo1 ();
}
 más
 {
 // DigitalWrite (ledPin, LOW);
 //Serial.println(sensorValue, December); // kiírja a helyzet jelet a monitor.
 // Servo2 ();
}
}
 void servo1_right ()
 {
 myservo.attach (9);
 A (pos = 90; pos = 90; le- = 1) // megy 0-180 fok
 {
 myservo.write (pos); // Jelzi a szervo helyzetben egy változtatható "POS"
 delay (10); // Waits 15 ms, amíg a szervo álláspontja az,
} * /
}
 void servo1_left ()
 {
 myservo.attach (9);
 A (pos = 90; pos & gt; 1; pos - = 1) // megy 0-180 fok
 {// Lépésekben 1 fok
 myservo.write (pos); // Jelzi a szervo helyzetben egy változtatható "POS"
 delay (10); // Várakozás 15 ms, míg a szervo nem foglal állást
} / *
 play_2 ();
 delay (1000);
 A (pos = 1; pos90) {
 A (pos = posact; pos & gt; 90; pos - = 1) // visszatér a 90 fok
 {// Lépésekben 1 fok
 myservo.write (pos); // Jelzi a szervo helyzetben egy változtatható "POS"
 delay (10); // Várakozás 15 ms, míg a szervo nem foglal állást
}
}
 else {
 A (pos = posact; pos 60; pos - = 1) // megy 0-180 fok
 {// Lépésekben 1 fok
 myservo2.write (pos); // Jelzi a szervo helyzetben egy változtatható "POS"
 delay (10); // Várakozás 15 ms, míg a szervo nem foglal állást
} / *
 play_2 ();
 delay (1000);
 A (pos = 1; pos90) {
 A (pos = posact; pos & gt; 90; pos - = 1) // adja vissza az 90 fok
 {// Lépésekben 1 fok
 myservo2.write (pos); // Jelzi a szervo helyzetben egy változtatható "POS"
 delay (10); // Várakozás 15 ms, míg a szervo nem foglal állást
}
}
 else {
 A (pos = posact; pos<=90 ;="" pos="" +="1)" goes="" from="" 0="" degrees="" to="" 180="">
 {// Lépésekben 1 fok
 myservo2.write (pos); // Jelzi a szervo helyzetben egy változtatható "POS"
 delay (10); // Várakozás 15 ms, míg a szervo nem foglal állást
}
}
}


 void servo1_no ()
 {
 myservo.attach (9);
 A (pos = 90; pos = 90; le- = 1) // megy 180-0 fok
 {
 myservo.write (pos); // Jelzi a szervo helyzetben egy változtatható "POS"
 delay (10); // Várakozás 15 ms, míg a szervo nem foglal állást
}
}
 void servo2 ()
 {
 myservo2.attach (10);
 A (POS2 = 110; POS2< 140;="" pos2="" +="1)" ??="" 0="" ??="" 180="">
 {//
 myservo2.write (POS2); // Jelzi a szervo helyzetben egy változtatható "POS"
 delay (15); // Várakozás 15 ms, míg a szervo nem foglal állást
}
}

 semmissé servo1R ()
 {
 myservo.write (90);
 myservo.detach ();
}
 semmissé servo2R ()
 {
 myservo2.write (90);
 myservo2.detach ();
}
 void lampblink ()
 {
 // Int sensorValue = digitalRead (6);
 // Ha (sensorValue = 1) {
 digitalWrite (ledPin, HIGH);
 // Delay (1);
 // DigitalWrite (ledPin, LOW);
 // Delay (1);
 //}
 // Else
 // DigitalWrite (ledPin, LOW);
}
 void lamptest ()
 {
 (int i = 0; i<100;>
 {
 digitalWrite (12 HIGH);
 delay (50);
 digitalWrite (12 LOW);
 delay (50);
}
}
 void lampoff ()
 {
 // Delay (2000);
 digitalWrite (ledPin, LOW);
}
 // Akseleometr
 semmissé Ecom ()
 {
 unsigned char val [3];
 int count = 0;
 val [0] = val [1] = val [2] = 64;
 Wire.requestFrom (0x4c, 3); // Kéri 3 bájt eszköz slave-módban 0x4c
 while (Wire.available ())
 {
 if (számíthat 63) // újratölt
 {
 val [count] = Wire.receive ();
}
 számíthat ++;
}
 // Átalakítja a jelet a 7 bit 8 bit
 Gyorsulás 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, december); //
 Serial.print ("y =");
 Serial.println (ret.y, december); //
 Serial.print ("z =");
 Serial.println (ret.z, december); //
}
 char olvasás = 0;

 void loop ()
 {
 Ecom (); // Állapotának ellenőrzése a gyorsulásmérő
 digitalWrite (ledPin2HIGH);
 buttonState = digitalRead (buttonPin); // Reading állású kapcsoló
 if (buttonState == HIGH)
 {
 lampblink (); // forduljon LED:
 myservo.attach (9);
 myservo2.attach (10);
 ért1 = ystate;
 ért1 = map (val130 -300.179);
 myservo2.write (ért1);
 értl2 = xstate;
 értl2 = map (értl2 -30.300 179);
 myservo.write (értl2); // Megadja a szervo pozíció értéke szerint ranzhyruemыm
 if (ystate thresholdvalue)
 {
 Serial.println ("IGEN");
 // DigitalWrite (ledNoise, HIGH);
 play_4 ();
 // Lampoff ();
 lampblink ();
 servo1_no ();
 servo1_no ();
 servo1R ();
 delay (1000);
}
 más
 {
 lampoff ();
}
 // Ellenőrzése a mozgás
 int sensorValue = digitalRead (6); // Mozgásérzékelő
 if (sensorValue == 1)
 {
 Serial.println ("Move");
 // Movestate = 1;
 lampblink ();
 // Servo2 ();
 servo2_right ();
 servo1_right ();
 play_2 ();
 delay (1000);
 servo2_return ();
 servo1_return ();
 servo1_left ();
 servo2_left ();
 play_2 ();
 delay (1000);
 servo2_return ();
 servo1_return ();
 // Delay (1000);
}
 más
 {
 // DigitalWrite (ledNoise, LOW);
 // Servo2 ();
 servo1R ();
 servo2R ();
 lampoff ();
 // Play_2 ();
 // Movestate = 0;
}
}
}  




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