Bagaimana untuk menghiasi bilik warna mudah

Bagaimana untuk menghiasi bilik warna mudah

Bagaimana untuk menghiasi bilik warna mudah

 Ramai daripada anda perasan yang sering di pasar raya dan ruang pejabat yang lebih besar boleh didapati dalam pelbagai warna dihiasi dengan akuarium kaca yang indah. Kami akan cuba untuk mengulangi perkara yang sama, tetapi di rumah kita.

Bagaimana untuk menghiasi bilik warna mudah

 Langkah 1: Bahan
  1.  Tanah
     Bunga (kami memilih pakis)
     Bekas kaca dengan bahagian atas terbuka


    Bagaimana untuk menghiasi bilik warna mudah

     Langkah 2: Pembersihan
     Basuh botol kaca dengan sabun dan air.
     Tinggalkan kering sebelum anda menuang tanah.

    Bagaimana untuk menghiasi bilik warna mudah

     Langkah 3: Ujian
     Dengan berhati-hati meletakkan bunga di dalam mangkuk, betul-betul di periuk untuk melihat bagaimana ia akan melihat tumbuhan.

    Bagaimana untuk menghiasi bilik warna mudah

     Langkah 4: Edit
     Kami mengambil bunga dan memotong cawangan tambahan seperti yang diperlukan, seperti dalam kes kami.
    Bagaimana untuk menghiasi bilik warna mudah

    Bagaimana untuk menghiasi bilik warna mudah

    Bagaimana untuk menghiasi bilik warna mudah

     Langkah 5: Tanah
     Dengan berhati-hati memindahkan kilang di dalam bekas, tetapi tanpa periuk.
     Penuhilah bumi.
    Bagaimana untuk menghiasi bilik warna mudah

     Langkah 6: menyiram
     Bunga disiram untuk melembutkan tanah. Jangan keterlaluan fakta ini.
    Bagaimana untuk menghiasi bilik warna mudah

    Bagaimana untuk menghiasi bilik warna mudah

     Langkah 7: Bersedia
     Hiaskan bilik bunga beberapa.  

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA


 Jumlah 200 Rubles untuk membeli secara baik untuk kerja yang mudah. Projek ini telah siap dengan rakan-rakan asing Adruino Arts. Untuk pelaksanaannya mesti tahu prinsip-prinsip asas robotik, elektronik dan memahami pengaturcaraan sedikit.
 Dalam klip video pengarang memberitahu dan menunjukkan bahawa kita harus mendapat hasil.
 Selain lampu yang kita perlukan satu set Grove - Toy Kit. Pesanan dalam talian anda boleh membeli-belah dengan harga $ 79.9.
 Idea utama - takrif keadaan statik atau dinamik objek oleh pengesanan gerakan. Jika jawapan adalah positif, kemudian berjalan satu daripada penggerak dan mainan semula mesej yang telah dirakam. Jika tidak, diaktifkan servo 2, dan rakaman bunyi yang berbeza.
 Penentuan melalui beberapa bentuk input. Oleh itu, kita akan mendapat hasil dalam kod binari 0 atau 1.
 Perakam boleh memainkan semula bunyi yang dirakam hanya 4 melalui isyarat luaran. Untuk merakam (setiap 15 saat.), Ia adalah perlu untuk menghidupkan butang «bermain» untuk «rekod». Selepas butang rakaman lagi perlu menukar. Ini boleh dilakukan melalui kod (fungsi main ()). Dalam servo kabel adalah 3 "plus", "tolak" dan data digital. Yang pertama 2 menyediakan makanan untuk servo (max 7) dan ke-3 untuk menyambung output digital, yang menerima maklumat mengenai keadaan suis dan oleh kod.
 Pertama dihuraikan lampu. Kita tidak memerlukan komponen elektrik, tetapi perlu bekerja sangat asas. Anda juga memerlukan prop dan menyokong unsur-unsur.
 Buat lubang di dalam tiub untuk menyambung reka bentuk kami.
 Prototaip robot bersedia!

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

 Langkah 1: Glow
 Menggunakan LED lampu IKEA OLEBY (Makanan solar).
 Suis hanya berfungsi dalam peranti digital, dan oleh itu ia bergantung kepada rangkaian semasa. Jika kita menukar podsoedynym Pay Seeeduino, anda boleh menetapkan output RENDAH digital, dan kemudian akan ada semasa. Apabila meletakkan TINGGI, ia muncul semula.
 Malah dalam lampu dan kita pasang perintang untuk melindungi LED.
 Tetapkan unsur cahaya dalam asas logam.

Dinaik taraf robot lampu dengan IKEA

 Langkah 2: Prinsip
 Kami mempunyai lampu dipasang servo kawalan pengesan, tiga paksi pecutan, perakam dan bermain 4 bunyi yang berbeza.
 Prinsip asas lampu adalah seperti berikut:

 Ternyata bunyi (bunyi)
 Lampu dimasukkan
 Larian rekod №3
 Lampu tangan menyediakan gerakan (kiri-kanan-kiri)
 Servo kekal pada 90 °
 Urusniaga yang telah lengkap diisi

 Jika terdapat bunyi, maka:

 Lampu dimasukkan
 Servo dengan Lampu langkah meninggalkan
 Larian rekod №2
 Lampu belakang dalam kedudukan 90 °
 Urusniaga yang telah lengkap diisi

 Jika lengan logam mencapai (tinggi) kedudukan yang tertentu, kemudian bermain rekod №4.

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

Dinaik taraf robot lampu dengan IKEA

 Langkah 3: Penambahbaikan
 Dalam kerja-kerja reka bentuk yang boleh membuat beberapa penambahbaikan seperti pembenaman yuran Seeeduino suis, untuk mengawal pelaksanaan kod menggunakan kitaran biasa IF. Jika suis dihidupkan - memulakan mod auto, jika tidak - manual mod.
 Auto-mod termasuk kod standard apabila lampu yang bertindak balas kepada bunyi.
 Manual-mod menyediakan pengurusan jarak jauh melalui paksi pecutan triple, mengubah kedudukan paksi X dan Y.
 Anda boleh membuat lampu menghidupkan 360 °, menambah kepadanya servo yang berasingan. Bolehkah saya ditubuhkan untuk menyambung melalui Wi-Fi / Ethernet.
 Langkah 4: Kod
 Kod Pengarang (MrLdnr) boleh didapati di bawah.
 [Spoiler]
 #temasuk
 int malar buttonPin = 4; // Jawatan suis
 int buttonState = 0; // Pembolehubah untuk membaca butang kedudukan
 // Persediaan Servo
 Myservo2 servo;
 Myservo servo; // Mencipta untuk kawalan servo
 int pos = 0; // Pembolehubah untuk menyimpan kedudukan servo
 int pos2 = 0; // Pembolehubah untuk menyimpan kedudukan servo
 int VAL1;
 int VAL2;
 // SETUP LED
 int malar ledPin2 = 5; // cahaya Utama
 int malar ledPin = 12; // cahaya Tube
 int countlamp2 = 0;
 // Persediaan Bunyi
 malar int thresholdvalue = 300; // Sambutan membunyikan
 // Set akseleometra
 int ystate;
 int xstate;
 #temasuk
 #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
 kelas Pecutan
 {
 awam:
 char x;
 char y;
 z arang;
};

 indeks arang;
 kawalan arang;
 char negeri;
 int audiodelay = 1000;
 mma7660_init tidak sah (tidak sah)
 {
 Wire.begin ();
 Wire.beginTransmission (MMA766ddr);
 Wire.send (MMA7660_MODE);
 Wire.send (0x00);
 Wire.endTransmission ();
 Wire.beginTransmission (MMA766ddr);
 Wire.send (MMA7660_SR);
 Wire.send (0x07); // Sampel / Mod Aktif Kedua dan Auto-Tidur
 Wire.endTransmission ();
 Wire.beginTransmission (MMA766ddr);
 Wire.send (MMA7660_MODE);
 Wire.send (0x01); // mod aktif
 Wire.endTransmission ();
}

 persediaan tidak sah ()
 {
 mma7660_init (); // Sertai bas I2C (alamat peranti terpilih master)
 Serial.begin (9600);
 // Motion Sensor
 pinMode (6 INPUT); // digunakan 2 kaki untuk isyarat luaran
 // Cahaya lampu dan cahaya asas
 pinMode (ledPin, OUTPUT);
 pinMode (ledPin2 OUTPUT);
 // Servos
 // AUDIO
 DDRD | = 0x0C; // D2 dan D3 tulis dalam mod;
 PORTD & = 0xF3; // D2 dan D3 bakal rendah;
 // Sensor bunyi ke atas Analog 0
 // SWITCH
 pinMode (buttonPin, INPUT);
}
 rec_2_begin tidak sah ()
 {
 PORTD = (PORTD | 0b00000100) & 0b11110111;
}
 rec_2_stop tidak sah ()
 {
 PORTD & = 0xF3;
}
 play_2 tidak sah ()
 {
 PORTD = (PORTD | 0b00000100) & 0b11110111;
 tunda (audiodelay);
 PORTD & = 0xF3;
}
 ////////////////////////////////////////////////// ////////////////////
 ////////////////////////////////////////////////// /////
 // Fungsi untuk mengawal segment_3 yang
 rec_3_begin tidak sah ()
 {
 PORTD = (PORTD | 0b00001000) & 0b11111011;
}
 rec_3_stop tidak sah ()
 {
 PORTD & = 0xF3;
}
 play_3 tidak sah ()
 {
 PORTD = (PORTD | 0b00001000) & 0b11111011;
 tunda (audiodelay);
 PORTD & = 0xF3;
}
 ////////////////////////////////////////////////// ///
 ////////////////////////////////////////////////
 // Fungsi untuk mengawal segment_4 itu;
 rec_4_begin tidak sah ()
 {
 PORTD = PORTD | 0b00001100;
}
 rec_4_stop tidak sah ()
 {
 PORTD & = 0xF3;
}
 play_4 tidak sah ()
 {
 PORTD = PORTD | 0b00001100;
 tunda (audiodelay);
 PORTD & = 0xF3;
}
 //////////////////////

 check_move tidak sah ()
 {
 int sensorValue = digitalRead (6);
 jika (sensorValue == 1)
 {
 // DigitalWrite (ledPin, TINGGI);
 //Serial.println(sensorValue, Disember); // output isyarat kedudukan ke monitor.
 // Servo1 ();
}
 lain
 {
 // DigitalWrite (ledPin, RENDAH);
 //Serial.println(sensorValue, Disember); // output isyarat kedudukan ke monitor.
 // Servo2 ();
}
}
 servo1_right tidak sah ()
 {
 myservo.attach (9);
 untuk (pos = 90; pos = 90; pos- = 1) // pergi 0-180 darjah
 {
 myservo.write (pos); // Menceritakan kedudukan servo melalui 'pos' ubah
 tunda (10); // Menunggu sehingga 15 ms servo yang mengambil kedudukan
} * /
}
 servo1_left tidak sah ()
 {
 myservo.attach (9);
 untuk (pos = 90; pos & gt; 1; pos - = 1) // pergi 0-180 darjah
 {// Kenaikan sebanyak 1 darjah
 myservo.write (pos); // Menceritakan kedudukan servo melalui 'pos' ubah
 tunda (10); // Menunggu 15 ms, manakala servo yang tidak mengambil kedudukan
} / *
 play_2 ();
 tunda (1000);
 untuk (pos = 1; pos90) {
 untuk (pos = posact; pos & gt; 90; pos - = 1) // mengembalikan 90 darjah
 {// Kenaikan sebanyak 1 darjah
 myservo.write (pos); // Menceritakan kedudukan servo melalui 'pos' ubah
 tunda (10); // Menunggu 15 ms, manakala servo yang tidak mengambil kedudukan
}
}
 lain {
 untuk (pos = posact; pos 60; pos - = 1) // pergi 0-180 darjah
 {// Kenaikan sebanyak 1 darjah
 myservo2.write (pos); // Menceritakan kedudukan servo melalui 'pos' ubah
 tunda (10); // Menunggu 15 ms, manakala servo yang tidak mengambil kedudukan
} / *
 play_2 ();
 tunda (1000);
 untuk (pos = 1; pos90) {
 untuk (pos = posact; pos & gt; 90; pos - = 1) // mengembalikan kedudukan 90 darjah
 {// Kenaikan sebanyak 1 darjah
 myservo2.write (pos); // Menceritakan kedudukan servo melalui 'pos' ubah
 tunda (10); // Menunggu 15 ms, manakala servo yang tidak mengambil kedudukan
}
}
 lain {
 untuk (pos = posact; pos<=90 ;="" pos="" +="1)" goes="" from="" 0="" degrees="" to="" 180="">
 {// Kenaikan sebanyak 1 darjah
 myservo2.write (pos); // Menceritakan kedudukan servo melalui 'pos' ubah
 tunda (10); // Menunggu 15 ms, manakala servo yang tidak mengambil kedudukan
}
}
}


 servo1_no tidak sah ()
 {
 myservo.attach (9);
 untuk (pos = 90; pos = 90; pos- = 1) // pergi 180-0 darjah
 {
 myservo.write (pos); // Menceritakan kedudukan servo melalui 'pos' ubah
 tunda (10); // Menunggu 15 ms, manakala servo yang tidak mengambil kedudukan
}
}
 servo2 tidak sah ()
 {
 myservo2.attach (10);
 untuk (pos2 = 110; pos2< 140;="" pos2="" +="1)" ??="" 0="" ??="" 180="">
 {//
 myservo2.write (pos2); // Menceritakan kedudukan servo melalui 'pos' ubah
 tunda (15); // Menunggu 15 ms, manakala servo yang tidak mengambil kedudukan
}
}

 tidak sah servo1R ()
 {
 myservo.write (90);
 myservo.detach ();
}
 tidak sah servo2R ()
 {
 myservo2.write (90);
 myservo2.detach ();
}
 lampblink tidak sah ()
 {
 // Int sensorValue = digitalRead (6);
 // Jika (sensorValue 1 =) {
 digitalWrite (ledPin, TINGGI);
 // Kelewatan (1);
 // DigitalWrite (ledPin, RENDAH);
 // Kelewatan (1);
 //}
 // Yang lain
 // DigitalWrite (ledPin, RENDAH);
}
 lamptest tidak sah ()
 {
 untuk (int i = 0; i<100;>
 {
 digitalWrite (12 TINGGI);
 tunda (50);
 digitalWrite (12 RENDAH);
 tunda (50);
}
}
 lampoff tidak sah ()
 {
 // Kelewatan (2000);
 digitalWrite (ledPin, RENDAH);
}
 // Akseleometr
 tidak sah Ecom ()
 {
 char Val tidak ditandatangani [3];
 kiraan int = 0;
 Val [0] = Val [1] = Val [2] = 64;
 Wire.requestFrom (0x4c, 3); // Minta 3 bait dari alat dalam hamba-mod 0x4c
 manakala (Wire.available ())
 {
 jika (mengira 63) // tambah nilai
 {
 Val [kiraan] = Wire.receive ();
}
 mengira ++;
}
 // Menukarkan isyarat 7 8 bit bit
 Pecutan ret;
 ret.x = ((arang) (Val [0] 2)) / 4;
 ret.y = ((arang) (Val [1] 2)) / 4;
 ret.z = ((arang) (Val [2] 2)) / 4;
 ystate = ret.y;
 xstate = ret.x;
 Serial.print ("x =");
 Serial.println (ret.x, Disember); //
 Serial.print ("y =");
 Serial.println (ret.y, Disember); //
 Serial.print ("z =");
 Serial.println (ret.z, Disember); //
}
 char membaca = 0;

 gelung tidak sah ()
 {
 Ecom (); // Semak status pecutan yang
 digitalWrite (ledPin2HIGH);
 buttonState = digitalRead (buttonPin); // Kedudukan suis Reading
 jika (buttonState == TINGGI)
 {
 lampblink (); // belok LED pada:
 myservo.attach (9);
 myservo2.attach (10);
 VAL1 = ystate;
 VAL1 = peta (val130 -300179);
 myservo2.write (VAL1);
 VAL2 = xstate;
 VAL2 = peta (VAL2 -30.300 179);
 myservo.write (VAL2); // Menetapkan kedudukan servo mengikut ranzhyruemыm nilai
 jika (ystate thresholdvalue)
 {
 Serial.println ("YA");
 // DigitalWrite (ledNoise, TINGGI);
 play_4 ();
 // Lampoff ();
 lampblink ();
 servo1_no ();
 servo1_no ();
 servo1R ();
 tunda (1000);
}
 lain
 {
 lampoff ();
}
 // Semakan untuk gerakan
 int sensorValue = digitalRead (6); // Motion Detector
 jika (sensorValue == 1)
 {
 Serial.println ("Pindah");
 // Movestate = 1;
 lampblink ();
 // Servo2 ();
 servo2_right ();
 servo1_right ();
 play_2 ();
 tunda (1000);
 servo2_return ();
 servo1_return ();
 servo1_left ();
 servo2_left ();
 play_2 ();
 tunda (1000);
 servo2_return ();
 servo1_return ();
 // Kelewatan (1000);
}
 lain
 {
 // DigitalWrite (ledNoise, RENDAH);
 // Servo2 ();
 servo1R ();
 servo2R ();
 lampoff ();
 // Play_2 ();
 // Movestate = 0;
}
}
}  




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