Daftar Isi:
- Langkah 1: Bahan
- Langkah 2: Perangkat Keras
- Langkah 3: Perangkat Lunak
- Langkah 4: Pemodelan dan Cetak 3D
- Langkah 5: Perakitan
- Langkah 6: Tes Akhir
Video: TfCD - Plus: 7 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:58
Plus adalah lampu pintar minimal, yang tidak hanya memberi tahu orang tentang kondisi cuaca, tetapi juga menciptakan pengalaman yang menyenangkan bagi pengguna dengan mengubah warna cahaya dengan memutar plus. Bentuknya memberi pengguna kesempatan untuk menggabungkan beberapa modul plus atau membuat lampu besar dengan banyak potongan plus yang ditempatkan oleh teman. Proyek pencahayaan ini merupakan bagian dari mata kuliah Advanced Concept Design (ACD) di universitas TU Delft, dan teknologinya diimplementasikan dengan menggunakan praktik TfCD sebagai sumber inspirasi.
Langkah 1: Bahan
1 Raspberry pi nol w
1 Groove Adxl345 akselerometer
4 Ws2812b LED
1 papan prototipe
Penutup cetak 3D dan potong laser
Langkah 2: Perangkat Keras
LED
LED Neopixel memiliki 4 pin bernama: +5V, GND, Data In dan Data out.
- Pin 4 dari raspberry pi terhubung ke +5V dari semua LED
- Pin 6 dari raspberry pi terhubung ke GND semua LED
- Data Dalam pin LED pertama terhubung ke pin 12 pada raspberry pi.
- Pin Data keluar dari LED pertama terhubung ke Data masuk kedua dan seterusnya.
Silakan lihat diagram pengkabelan untuk pemahaman yang lebih baik.
Akselerometer
Akselerometer memiliki 4 pin bernama: VCC, GND, SDA dan SCL.
- Pin 1 dari raspberry pi terhubung ke VCC.
- Pin 3 dari raspberry pi terhubung ke SCL.
- Pin 5 dari raspberry pi terhubung ke SDA.
- Pin 9 dari raspberry pi terhubung ke GND.
Membangun
- Untuk kenyamanan, LED dapat disolder ke papan prototipe. Kami telah memutuskan untuk memotong papan menjadi bentuk plus sehingga cocok dengan kasing yang dirancang 3D.
- Setelah kami menyolder LED di papan, kami menyolder kabel jumper untuk membuat koneksi antara konektor 0,1" dan LED. Konektor header digunakan untuk memungkinkan raspberry pi terputus dan digunakan kembali untuk proyek mendatang.
Langkah 3: Perangkat Lunak
Gambar Sistem Operasi Raspberry Pi
Pertama-tama kita harus mengaktifkan dan menjalankan Raspberry Pi. Untuk melakukan ini, kami mengikuti langkah-langkah ini:
- Unduh versi terbaru Raspbian dari sini. Anda dapat mengunduhnya secara langsung atau melalui torrent. Anda akan memerlukan penulis gambar untuk menulis OS yang diunduh ke dalam kartu SD (kartu micro SD untuk model Raspberry Pi B+ dan Raspberry Pi Zero).
- Jadi unduh "win32 disk imager" dari sini. Masukkan kartu SD ke dalam laptop/pc dan jalankan image writer. Setelah terbuka, telusuri dan pilih file gambar Raspbian yang diunduh. Pilih perangkat yang benar, yaitu drive yang mewakili kartu SD. Jika drive (atau perangkat) yang dipilih berbeda dari kartu SD, maka drive lain yang dipilih akan rusak. JADI hati-hati.
- Setelah itu, klik tombol "Tulis" di bagian bawah. Sebagai contoh, lihat gambar di bawah, di mana drive kartu SD (atau micro SD) diwakili oleh huruf "G:\" OS sekarang siap untuk penggunaan normal. Namun dalam tutorial ini kita akan menggunakan Raspberry Pi dalam mode headless. Ini berarti tanpa monitor fisik dan keyboard yang terpasang padanya!
- Setelah membakar kartu SD, jangan keluarkan dari komputer Anda! Gunakan editor teks untuk membuka file config.txt yang ada di kartu SD. Pergi ke bawah dan tambahkan dtoverlay=dwc2sebagai baris terakhir:
- Simpan file config.txt sebagai teks biasa dan kemudian buka cmdline.txt Setelah rootwait (kata terakhir pada baris pertama) tambahkan spasi dan kemudian modules-load=dwc2, g_ether.
- Sekarang lepaskan kartu SD dari PC Anda dan masukkan ke dalam Raspberry Pi dan hubungkan ke PC Anda menggunakan kabel USB. Setelah OS boot, Anda akan melihat perangkat Ethernet Gadget baru ditemukan.
- Anda dapat menggunakan ssh [email protected] untuk menyambungkan ke board dan mengontrolnya dari jarak jauh. Untuk petunjuk lebih detail mengenai operasi tanpa kepala, buka di sini. Neopixel Driver
Pustaka rpi_ws281x adalah kunci yang memungkinkan penggunaan NeoPixels dengan Raspberry Pi.
Pertama kita perlu menginstal alat yang diperlukan untuk mengkompilasi perpustakaan. Dalam menjalankan Raspberry Pi Anda: Sudo apt-get update && Sudo apt-get install build-essential python-dev git scons swig Sekarang jalankan perintah ini untuk mengunduh dan mengkompilasi perpustakaan:
git clone https://github.com/jgarff/rpi_ws281x.git && cd rpi_ws281x && scons Akhirnya, setelah perpustakaan berhasil dikompilasi, kita dapat menginstalnya untuk python menggunakan:
cd python && sudo python setup.py install Sekarang hadir kode python yang menggerakkan LED. Kode ini cukup sederhana dengan beberapa komentar untuk membantu Anda. from neopixel import * # Konfigurasi NeoPixel LED_PIN = 18 # Pin GPIO Raspberry Pi terhubung ke piksel LED_BRIGHTNESS = 255 # Atur ke 0 untuk paling gelap dan 255 untuk paling terang LED_COUNT = 4 # Jumlah strip piksel LED = Adafruit_NeoPixel(LED_COUNT, LED_PIN, 800000, 5, Salah, LED_BRIGHTNESS, 0, ws. WS2811_STRIP_GRB) # Inisialisasi strip perpustakaan.begin() strip.setPixelColor(0, Color(255, 255, 255)) strip.show()
Driver ADXL345
Sensor akselerometer yang kami pilih memiliki antarmuka I2C untuk berkomunikasi dengan dunia luar. Untungnya bagi kami, Raspberry Pi juga memiliki antarmuka I2C. Kita hanya perlu mengaktifkannya untuk menggunakannya dalam kode kita sendiri.
Panggil alat konfigurasi Raspbian menggunakan Sudo raspi-config. Setelah berjalan, buka Opsi Interfacing, Opsi Lanjutan, lalu aktifkan I2C. Instal modul python yang relevan sehingga kita dapat menggunakan antarmuka I2C dengan python:
sudo apt-get install python-smbus i2c-tools Kode python berikut memungkinkan kita untuk berkomunikasi dengan sensor akselerometer dan membaca nilai registernya untuk tujuan kita sendiri. import smbus import struct # Konfigurasi akselerometer bus = smbus. SMBus(1) address = 0x53 gain = 3.9e-3 bus.write_byte_data(address, 45, 0x00) # Masuk ke mode standby bus.write_byte_data(address, 44, 0x06) # Bandwidth 6.5Hz bus.write_byte_data(address, 45, 0x08) # Masuk ke mode pengukuran # Baca data dari sensor buf = bus.read_i2c_block_data(address, 50, 6) # Buka paket data dari int16_t ke python integer data = struct.unpack_from (">hhh", buffer(bytearray(buf)), 0)
x = float(data[0]) * keuntungan
y = float(data[1]) * keuntungan
z = float(data[2]) * keuntungan
Detektor Gerakan
Salah satu fitur dari lampu yang kami buat, adalah dapat mendeteksi pergerakan (atau kekurangannya) untuk masuk ke mode interaktif (di mana cahaya berubah berdasarkan rotasi) dan mode prakiraan cuaca (di mana cahaya berubah tergantung pada ramalan cuaca. untuk hari ini). Kode berikut menggunakan fungsi sebelumnya untuk membaca nilai percepatan untuk 3-sumbu dan mengingatkan kita ketika ada gerakan.
akselerasi = getAkselerasi()
dx = abs(prevAccel[0] - accel[0])
dy = abs(prevAccel[1] - accel[1])
dz = abs(prevAccel[2] - accel[2])
if dx > moveThreshold atau dy To > moveThreshold atau dz > moveThreshold:
cetak 'pindah'
pindah = Benar
lain:
pindah = Salah
API Cuaca
Untuk menerima ramalan cuaca kita bisa menggunakan Yahoo Weather. Ini melibatkan berbicara dengan Yahoo Weather Rest API yang bisa jadi agak rumit. Untungnya bagi kami, bagian yang sulit sudah diurus dalam bentuk modul cuaca-api untuk python.
- Pertama kita perlu menginstal modul ini menggunakan: Sudo apt install python-pip && Sudo pip install weather-api
- Silakan kunjungi situs web penulis untuk informasi lebih lanjut tentang modul ini.
Setelah menginstal kode berikut dapatkan kondisi cuaca untuk saat ini
dari cuaca impor Weatherweather = Weather()
lokasi = cuaca.lookup_by_location('dublin')
kondisi = lokasi.kondisi()
cetak(kondisi.teks())
Menyatukan semuanya
Seluruh kode untuk proyek yang menghubungkan semua bagian di atas dapat ditemukan di sini.
Otomatis memulai skrip python saat boot
Untuk dapat memasukkan raspberry pi ke dalam kotak dan menjalankan kode kita setiap kali kita menghubungkannya ke listrik, kita harus memastikan bahwa kode secara otomatis dimulai saat boot. Untuk melakukan ini, kami menggunakan alat yang disebut cron.
- Pertama-tama panggil alat cron menggunakan: sudo crontab -e
-
Langkah sebelumnya akan membuka file konfigurasi, di mana kita menambahkan baris berikut:
@reboot python /home/pi/light.py &
Langkah 4: Pemodelan dan Cetak 3D
Model 3D Plus telah dibuat di Solidworks, dan disimpan sebagai format. Stl. Kemudian untuk model pencetakan 3D, file. Stl diimpor ke dalam perangkat lunak Cura. Setiap sisi plus membutuhkan waktu 2:30 jam untuk diproduksi; jadi setiap Plus penuh membutuhkan waktu sekitar 5 jam untuk dicetak. Dan untuk sisi transparan, kaca plexiglass dipotong dengan laser.
Langkah 5: Perakitan
Dengan bagian cetakan 3D, elektronik dan perangkat lunak di tangan, kami akhirnya dapat merakit produk akhir.
- Pelat atas dan bawah yang dicetak 3D, kami temukan lebih transparan daripada yang diperkirakan. Lapisan aluminium foil memecahkan masalah kebocoran cahaya.
- Namun, lembaran ini bersifat konduktif dan dapat menyebabkan korsleting di dalam sirkuit kami yang tidak terlindungi. Jadi lapisan lain dari papan kartu putih direkatkan di atasnya.
- Segmen Plexiglas yang menyebar direkatkan ke salah satu pelat samping.
- Sebuah lubang dibor di salah satu panel cetak 3D samping. Ini agar kita bisa melewati kabel listrik.
- Setelah kabel daya dipasang melalui lubang, kami menyoldernya ke papan prototipe kami.
- Kami memasang sensor ke raspberry pi dan kemudian pasang ke konektor.
- Kami melampirkan 2 bagian bersama-sama untuk mendapatkan produk akhir kami.
- Secara opsional, Anda dapat merekatkan 2 bagian untuk membuat sambungan yang lebih permanen. Namun perlu diketahui bahwa mungkin sulit untuk masuk ke dalam kotak setelah direkatkan jika Anda ingin mengubah kode nanti.
Direkomendasikan:
HAIKU, Saat Fashion dan Teknologi Bersatu. Proyek TfCD. TU Delft.: 4 Langkah
HAIKU, Saat Fashion dan Teknologi Bersatu. Proyek TfCD. TU Delft.: Haiku adalah konsep yang dikembangkan oleh Mucahit Aydin untuk kursus TU Delft MSc. Prinsip utama kimono ini adalah untuk memperpanjang perasaan dipeluk oleh seseorang. Untuk melakukannya, kimono akan memperlihatkan pola setelah disentuh. Bagaimana? Oleh pelaksana
Simpan dan Kembalikan Nilai Preset Dengan NFC (TfCD): 4 Langkah
Simpan dan Kembalikan Nilai Preset Dengan NFC (TfCD): Kami ingin menguji cara kerjanya untuk menyesuaikan nilai atau pengaturan tertentu dan kemudian mengingat kembali pengaturan ini. Untuk percobaan ini kami menggunakan tag NFC untuk membaca dan kemudian menyimpan nilainya. Nantinya tag tersebut dapat dipindai kembali dan dikirim kembali nilainya untuk mengembalikan cer
Panel Lampu Kustom yang Dapat Dipakai (Kursus Eksplorasi Teknologi - TfCD - Tu Delft): 12 Langkah (dengan Gambar)
Panel Lampu Kustom yang Dapat Dipakai (Kursus Eksplorasi Teknologi - TfCD - Tu Delft): Dalam Instruksi ini, Anda akan belajar cara membuat gambar menyala sendiri yang dapat Anda kenakan! Hal ini dilakukan dengan menggunakan teknologi EL yang dilapisi dengan stiker vinil dan memasangkan pita agar Anda dapat memakainya di lengan Anda. Anda juga dapat mengubah bagian dari p
Deteksi Objek Visual Dengan Kamera (TfCD): 15 Langkah (dengan Gambar)
Visual Object Detection With a Camera (TfCD): Layanan kognitif yang dapat mengenali emosi, wajah orang atau objek sederhana saat ini masih dalam tahap awal pengembangan, namun dengan machine learning, teknologi ini semakin berkembang. Kita bisa berharap untuk melihat lebih banyak keajaiban ini di
Proyek E-textile: Sweat Light T-shirt (TfCD): 7 Langkah (dengan Gambar)
Proyek E-tekstil: Sweat Light T-shirt (TfCD): Tekstil elektronik (E-tekstil) adalah kain yang memungkinkan komponen digital dan elektronik tertanam di dalamnya. Teknologi baru ini hadir dengan banyak kemungkinan. Dalam proyek ini Anda akan membuat prototipe kaos olahraga yang mendeteksi bagaimana