Isi kandungan:

TfCD - Plus: 7 Langkah
TfCD - Plus: 7 Langkah

Video: TfCD - Plus: 7 Langkah

Video: TfCD - Plus: 7 Langkah
Video: Про риски работы на условиях TFP #макияж #макияжмосква #tfp 2024, Julai
Anonim
Image
Image
Bahan-bahan
Bahan-bahan

Plus adalah cahaya pintar minimum, yang tidak hanya memberi tahu orang tentang keadaan cuaca, tetapi juga menciptakan pengalaman yang menyenangkan bagi pengguna dengan perubahan yang dilakukan dalam warna cahaya dengan memutar nilai tambah. Bentuknya memberi pengguna peluang untuk menggabungkan beberapa modul tambah atau membuat lampu besar dengan banyak potongan tambah yang ditempatkan oleh rakan. Projek pencahayaan ini adalah sebahagian daripada kursus Advanced Concept Design (ACD) di universiti TU Delft, dan teknologi yang dilaksanakan dengan menggunakan praktik TfCD sebagai sumber inspirasi.

Langkah 1: Bahan

Bahan-bahan
Bahan-bahan
Bahan-bahan
Bahan-bahan

1 Raspberry pi sifar w

1 pecutan Groove Adxl345

LED 4 Ws2812b

1 Papan prototaip

Kandang cetak 3D dan potong laser

Langkah 2: Perkakasan

Perkakasan
Perkakasan
Perkakasan
Perkakasan
Perkakasan
Perkakasan
Perkakasan
Perkakasan

LED

LED Neopixel mempunyai 4 pin bernama: + 5V, GND, Data In dan Data out.

  1. Pin 4 raspberry pi disambungkan ke + 5V semua LED
  2. Pin 6 dari raspberry pi disambungkan ke GND semua LED
  3. Data In pin LED pertama disambungkan ke pin 12 pada raspberry pi.
  4. Pin keluar Data dari LED pertama disambungkan ke Data di kedua dan seterusnya.

Lihat rajah pendawaian untuk pemahaman yang lebih baik.

Pecut

Accelerometer mempunyai 4 pin bernama: VCC, GND, SDA dan SCL.

  1. Pin 1 dari raspberry pi disambungkan ke VCC.
  2. Pin 3 dari raspberry pi disambungkan ke SCL.
  3. Pin 5 raspberry pi disambungkan ke SDA.
  4. Pin 9 dari raspberry pi disambungkan ke GND.

Membina

  1. Untuk kemudahan, LED boleh disolder ke papan prototaip. Kami telah memutuskan untuk memotong papan menjadi bentuk tambah sehingga sesuai dengan casing yang dirancang 3D.
  2. Sebaik sahaja kami menyolder LED di papan, kami memasang kabel jumper untuk membuat sambungan antara penyambung header 0.1 "dan LED. Penyambung header digunakan untuk membolehkan pi raspberry terputus dan digunakan semula untuk projek yang akan datang.

Langkah 3: Perisian

Perisian
Perisian

Imej Sistem Operasi Raspberry Pi

Mula-mula kita perlu menghidupkan Raspberry Pi dan berjalan. Untuk melakukan ini, kami mengikuti langkah-langkah berikut:

  1. Muat turun versi terbaru Raspbian dari sini. Anda boleh memuat turunnya secara langsung atau melalui torrents. Anda memerlukan penulis gambar untuk menulis OS yang dimuat turun ke dalam kad SD (kad micro SD sekiranya model Raspberry Pi B + dan Raspberry Pi Zero).
  2. Oleh itu, muat turun "win32 disk imager" dari sini. Masukkan kad SD ke dalam komputer riba / komputer dan jalankan penulis gambar. Setelah dibuka, semak dan pilih fail gambar Raspbian yang dimuat turun. Pilih peranti yang betul, iaitu pemacu yang mewakili kad SD. Sekiranya pemacu (atau peranti) yang dipilih berbeza dari kad SD maka pemacu yang dipilih yang lain akan menjadi rosak. Jadi berhati-hati.
  3. Selepas itu, klik pada butang "Tulis" di bahagian bawah. Sebagai contoh, lihat gambar di bawah, di mana pemacu kad SD (atau mikro SD) diwakili oleh huruf "G: \" OS sekarang siap untuk penggunaan biasa. Namun dalam tutorial ini kita akan menggunakan Raspberry Pi dalam mod tanpa kepala. Ini bermaksud tanpa monitor fizikal dan papan kekunci yang terpasang padanya!
  4. Setelah membakar kad SD, jangan keluarkan dari komputer anda! Gunakan penyunting teks untuk membuka fail config.txt yang terdapat dalam kad SD. Pergi ke bahagian bawah dan tambahkan dtoverlay = dwc2 sebagai baris terakhir:
  5. Simpan fail config.txt sebagai teks biasa dan kemudian buka cmdline.txt Setelah rootwait (kata terakhir pada baris pertama) tambahkan ruang dan kemudian modul-load = dwc2, g_ether.
  6. Sekarang keluarkan kad SD dari PC anda dan masukkan ke Raspberry Pi dan sambungkan ke PC anda menggunakan kabel USB. Setelah OS dimuat, anda akan melihat peranti Ethernet Gadget baru ditemui.
  7. Anda boleh menggunakan ssh [email protected] untuk menyambung ke papan dan mengawalnya dari jauh. Untuk arahan yang lebih terperinci mengenai operasi tanpa kepala pergi ke sini. Pemandu Neopixel

Perpustakaan rpi_ws281x adalah kunci yang memungkinkan penggunaan NeoPixels dengan Raspberry Pi.

Pertama kita perlu memasang alat yang diperlukan untuk menyusun perpustakaan. Dalam Raspberry Pi anda jalankan: sudo apt-get update & sudo apt-get install build-essential python-dev git scons swig Sekarang jalankan arahan ini untuk memuat turun dan menyusun perpustakaan:

git clone https://github.com/jgarff/rpi_ws281x.git && cd rpi_ws281x && scons Akhirnya, setelah perpustakaan berjaya disusun, kita dapat memasangnya untuk python menggunakan:

cd python && sudo python setup.py install Sekarang datang kod python yang memacu LED. Kodnya agak mudah dengan beberapa komen untuk membantu anda. dari import neopixel * # Konfigurasi NeoPixel LED_PIN = 18 # Pin GPIO Raspberry Pi yang disambungkan ke piksel LED_BRIGHTNESS = 255 # Tetapkan ke 0 untuk paling gelap dan 255 untuk LED paling terang_COUNT = 4 # Bilangan jalur piksel LED = Adafruit_NeoPixel (LED_COUNT, LED_PIN, 800000, 800000, 5, False, LED_BRIGHTNESS, 0, ws. WS2811_STRIP_GRB) # Permulaan jalur perpustakaan.begin () strip.setPixelColor (0, Color (255, 255, 255)) strip.show ()

Pemandu ADXL345

Sensor pecutan yang telah kami pilih mempunyai antaramuka I2C untuk berkomunikasi dengan dunia luar. Nasib baik untuk kami, Raspberry Pi juga mempunyai antara muka I2C. Kita hanya perlu mengaktifkannya untuk menggunakan kod kita sendiri.

Panggil alat konfigurasi Raspbian menggunakan sudo raspi-config. Setelah berjalan, pergi ke Interfacing Options, Advanced Options dan kemudian aktifkan I2C. Pasang modul python yang berkaitan supaya kita dapat menggunakan antara muka I2C dalam python:

sudo apt-get install python-smbus i2c-tools Kod python berikut membolehkan kita berkomunikasi dengan sensor pecutan dan membaca nilai daftarnya untuk tujuan kita sendiri. import smbus import struct # Accelerometer configurations bus = smbus. SMBus (1) address = 0x53 gain = 3.9e-3 bus.write_byte_data (address, 45, 0x00) # Pergi ke mod tunggu sedia bus.write_byte_data (alamat, 44, 0x06) # Bandwidth 6.5Hz bus.write_byte_data (address, 45, 0x08) # Pergi ke mod pengukuran # Membaca data dari sensor buf = bus.read_i2c_block_data (alamat, 50, 6) # Membongkar data dari int16_t ke python integer data = struct.unpack_from ("> hhh", penyangga (bytearray (buf)), 0)

x = terapung (data [0]) * perolehan

y = terapung (data [1]) * perolehan

z = terapung (data [2]) * perolehan

Pengesan Pergerakan

Salah satu ciri cahaya yang kita buat, adalah ia dapat mengesan pergerakan (atau kurang) memasuki mod interaktif (di mana cahaya berubah berdasarkan putaran) dan mod ramalan cuaca (di mana cahaya berubah bergantung pada ramalan cuaca untuk hari ini). Kod berikut menggunakan fungsi sebelumnya untuk membaca nilai pecutan bagi 3-paksi dan memberi tahu kita apabila terdapat pergerakan.

accel = getAcceleration ()

dx = abs (prevAccel [0] - accel [0])

dy = abs (prevAccel [1] - accel [1])

dz = abs (prevAccel [2] - accel [2])

jika dx> moveThreshold atau dy To> moveThreshold atau dz> moveThreshold:

cetak 'dipindahkan'

bergerak = Benar

lain:

dipindahkan = Salah

API Cuaca

Untuk menerima ramalan cuaca, kita dapat menggunakan Yahoo Weather. Ini melibatkan bercakap dengan Yahoo Weather Rest API yang agak rumit. Nasib baik bagi kami, bahagian yang sukar sudah dijaga dalam bentuk modul cuaca-api untuk python.

  1. Mula-mula kita perlu memasang modul ini menggunakan: sudo apt install python-pip && sudo pip install weather-api
  2. Sila lawati laman web pengarang untuk maklumat lebih lanjut mengenai modul ini.

Setelah memasang kod berikut mendapat keadaan cuaca buat masa ini

dari import cuaca Weatherweather = Cuaca ()

location = weather.lookup_by_location ('dublin')

condition = location.condition ()

cetak (condition.text ())

Menggabungkan semuanya

Seluruh kod untuk projek yang menghubungkan semua bahagian di atas boleh didapati di sini.

Memulakan skrip python secara automatik pada waktu boot

Untuk dapat memasukkan raspberry pi ke dalam kotak dan memilikinya menjalankan kod kita setiap kali kita menyambungkannya ke kuasa, kita mesti memastikan bahawa kod itu dimulakan secara automatik semasa boot. Untuk melakukan ini, kami menggunakan alat yang dipanggil cron.

  1. Mula-mula memanggil alat cron menggunakan: sudo crontab -e
  2. Langkah-langkah sebelumnya akan membuka fail konfigurasi, di mana kita menambah baris berikut:

    @reboot python /home/pi/light.py &

Langkah 4: Pemodelan dan Cetakan 3D

Pemodelan dan Cetakan 3D
Pemodelan dan Cetakan 3D
Pemodelan dan Cetakan 3D
Pemodelan dan Cetakan 3D

Model 3D Plus telah dibuat dalam Solidworks, dan disimpan dalam format. Stl. Kemudian untuk mencetak 3D model, file. Stl diimport dalam perisian Cura. Setiap sisi tambah memerlukan 2:30 jam untuk menghasilkan; jadi setiap Plus penuh mengambil masa sekitar 5 jam untuk dicetak. Dan untuk bahagian yang telus, plexiglass dipotong dengan laser.

Langkah 5: Perhimpunan

perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan

Dengan bahagian bercetak 3D, elektronik dan perisian yang ada, akhirnya kita dapat mengumpulkan produk akhir.

  1. Plat atas dan bawah yang dicetak 3D, didapati lebih telus daripada yang dijangkakan. Lapisan aluminium foil menyelesaikan masalah kebocoran cahaya.
  2. Walau bagaimanapun, helaian ini bersifat konduktif dan boleh menyebabkan seluar pendek dalam litar kami yang tidak dilindungi. Sehingga lapisan papan kad putih dilekatkan di atas.
  3. Segmen Plexiglas yang tersebar terpaku pada salah satu plat sisi.
  4. Lubang digerudi di salah satu panel bercetak 3D sisi. Ini supaya kita dapat melalui kabel kuasa.
  5. Sekali, kabel kuasa dipasang melalui lubang, kami memasangkannya ke papan prototaip kami.
  6. Kami memasang sensor ke pi raspberry dan kemudian memasangkannya ke penyambung.
  7. Kami melekatkan 2 kepingan tersebut untuk mendapatkan produk akhir kami.
  8. Sebagai pilihan, anda boleh melekatkan 2 bahagian untuk membuat sambungan yang lebih kekal. Namun perlu diketahui bahawa mungkin sukar untuk masuk ke dalam kotak setelah terpaku jika anda ingin menukar kodnya kemudian.

Disyorkan: