Daftar Isi:

Termometer RGB Menggunakan PICO: 6 Langkah
Termometer RGB Menggunakan PICO: 6 Langkah

Video: Termometer RGB Menggunakan PICO: 6 Langkah

Video: Termometer RGB Menggunakan PICO: 6 Langkah
Video: Color (RGB) detector using CircuitPython on Raspberry Pi Pico 2024, Juli
Anonim
Image
Image

Itulah hasil akhir dari usaha kami hari ini. Ini adalah termometer yang akan memberi tahu Anda seberapa hangat ruangan Anda, dengan menggunakan strip LED RGB yang ditempatkan dalam wadah akrilik, yang terhubung ke sensor suhu untuk membaca suhu. Dan kami akan menggunakan PICO untuk menghidupkan proyek ini.

Langkah 1: Komponen

Memberi Daya Strip RGB Dengan Transistor dan Sumber Daya
Memberi Daya Strip RGB Dengan Transistor dan Sumber Daya
  • PICO, tersedia di mellbell.cc ($17)
  • Strip LED RGB 1 meter
  • 3 TIP122 transistor Darlington, bundel 10 di ebay ($ 3,31)
  • 1 PCA9685 16-channel driver PWM 12-bit, tersedia di ebay ($2.12)
  • sumber daya 12v
  • 3 resistor 1k ohm, bundel 100 di ebay ($ 0,99)
  • Papan tempat memotong roti, tersedia di ebay ($2,30)
  • Kabel jumper pria - wanita, bundel 40 di ebay ($ 0,95)

Langkah 2: Menghidupkan Strip RGB Dengan Transistor dan Sumber Daya

Memberi Daya Strip RGB Dengan Transistor dan Sumber Daya
Memberi Daya Strip RGB Dengan Transistor dan Sumber Daya
Memberi Daya Strip RGB Dengan Transistor dan Sumber Daya
Memberi Daya Strip RGB Dengan Transistor dan Sumber Daya
Memberi Daya Strip RGB Dengan Transistor dan Sumber Daya
Memberi Daya Strip RGB Dengan Transistor dan Sumber Daya

Strip LED adalah papan sirkuit fleksibel yang diisi dengan LED. Mereka digunakan dalam banyak cara, karena Anda dapat menggunakannya di rumah, mobil, atau sepeda Anda. Anda bahkan dapat membuat wearable RGB keren dengan menggunakannya.

Jadi, bagaimana mereka bekerja? Ini sebenarnya cukup sederhana. Semua LED di strip LED terhubung secara paralel, dan mereka bertindak seperti satu LED RGB besar. Dan untuk menjalankannya, Anda hanya perlu menghubungkan strip ke sumber listrik arus tinggi 12v.

Untuk mengontrol strip LED dengan mikrokontroler, Anda perlu memisahkan sumber daya dari sumber kontrol. Karena strip LED membutuhkan 12v, dan mikrokontroler kami tidak dapat menawarkan tegangan output sebanyak ini, dan itulah sebabnya kami menghubungkan sumber daya arus tinggi 12v eksternal, sambil mengirim sinyal kontrol dari PICO kami.

Juga, penarikan arus dari setiap sel RGB tinggi, karena setiap LED di dalamnya - LED merah, hijau, dan biru - membutuhkan 20mA untuk beroperasi, yang berarti bahwa kita membutuhkan 60mA untuk menyalakan satu sel RGB. Dan itu sangat bermasalah, karena pin GPIO kami hanya dapat memasok maksimum 40mA per pin, dan menghubungkan strip RGB ke PICO secara langsung akan membakarnya, jadi tolong jangan lakukan itu.

Tapi, ada solusinya, yang disebut Transistor Darlington yang merupakan sepasang transistor yang memiliki gain arus yang sangat tinggi, yang akan membantu kita meningkatkan arus untuk memenuhi kebutuhan kita.

Mari kita pelajari lebih lanjut tentang keuntungan saat ini terlebih dahulu. Penguatan arus adalah properti transistor yang berarti bahwa arus yang melewati transistor akan dikalikan dengannya, dan persamaannya terlihat seperti ini:

arus beban = arus masukan * penguatan transistor.

Ini bahkan lebih kuat dalam transistor Darlington, karena ini adalah sepasang transistor bukan satu transistor, dan efeknya dikalikan satu sama lain, memberi kita keuntungan arus yang sangat besar.

Kami sekarang akan menghubungkan strip LED ke sumber daya eksternal kami, transistor, dan tentu saja PICO kami.

  • Basis (transistor) → D3 (PICO)
  • Kolektor (transistor) → B (strip LED)
  • Pemancar (transistor) → GND
  • +12 (strip LED) → +12 (sumber daya)

Jangan lupa untuk menghubungkan GND PICO ke ground sumber daya

Langkah 3: Mengontrol Warna Strip LED RGB

Mengontrol Warna Strip LED RGB
Mengontrol Warna Strip LED RGB
Mengontrol Warna Strip LED RGB
Mengontrol Warna Strip LED RGB
Mengontrol Warna Strip LED RGB
Mengontrol Warna Strip LED RGB

Kami tahu bahwa PICO kami memiliki satu pin PWM (D3) yang berarti tidak dapat mengontrol 16 LED kami. Inilah sebabnya kami memperkenalkan modul PCA9685 16-channel 12-bit PWM I2C, yang memungkinkan kami memperluas pin PWM PICO.

Pertama-tama, apa itu I2C?

I2C adalah protokol komunikasi yang hanya melibatkan 2 kabel untuk berkomunikasi dengan satu atau lebih perangkat dengan mengatasi alamat perangkat dan data mana yang akan dikirim.

Ada dua jenis perangkat: Yang pertama adalah perangkat master, yang bertanggung jawab untuk mengirim data, dan yang lainnya adalah perangkat budak, yang menerima data. Berikut adalah pin out dari modul PCA9685:

  • VCC → Ini adalah kekuatan untuk papan itu sendiri. 3-5v maks.
  • GND → Ini adalah pin negatif, dan harus terhubung ke GND untuk menyelesaikan rangkaian.
  • V+ → Ini adalah pin daya opsional yang akan memasok daya ke servos jika Anda memiliki salah satu dari mereka yang terhubung ke modul Anda. Anda dapat membiarkannya terputus jika Anda tidak menggunakan servos apa pun.
  • SCL → Pin jam serial, dan kami menghubungkannya ke SCL dari PICO.
  • SDA → Pin Data Serial, dan kami menghubungkannya ke SDA PICO.
  • OE → pin output diaktifkan, pin ini aktif LOW, ketika pin LOW semua output diaktifkan, ketika HIGH semua output dinonaktifkan. Dan pin opsional ini digunakan untuk mengaktifkan atau menonaktifkan pin modul dengan cepat.

Ada 16 port, masing-masing port memiliki V+, GND, PWM. Setiap pin PWM berjalan sepenuhnya secara independen, dan mereka diatur untuk servo tetapi Anda dapat menggunakannya untuk LED dengan mudah. Setiap PWM dapat menangani arus 25mA jadi berhati-hatilah.

Sekarang kita tahu apa pin modul kita dan apa fungsinya, mari kita gunakan untuk menambah jumlah pin PWM PICO, sehingga kita dapat mengontrol strip LED RGB kita.

Kami akan menggunakan modul ini bersama dengan transistor TIP122, dan ini adalah bagaimana Anda harus menghubungkannya ke PICO Anda:

  • VCC (PCA9685) → VCC (PICO).
  • GND (PCA9685) → GND.
  • SDA (PCA9685) → D2 (PICO).
  • SCL (PCA9685) → D3 (PICO).
  • PWM 0 (PCA9685) → BASE (TIP122) pertama.
  • PWM 1 (PCA9685) → BASE (TIP122) kedua.
  • PWM 2 (PCA9685) → BASE (TIP122 ketiga).

Jangan lupa untuk menghubungkan GND PICO dengan GND catu daya. Dan pastikan untuk TIDAK menghubungkan pin VCC PCA9685 dengan power supply +12 volt atau akan rusak

Langkah 4: Kontrol Warna Strip LED RGB Tergantung pada Pembacaan Sensor

Kontrol Warna Strip LED RGB Tergantung pada Pembacaan Sensor
Kontrol Warna Strip LED RGB Tergantung pada Pembacaan Sensor
Kontrol Warna Strip LED RGB Tergantung pada Pembacaan Sensor
Kontrol Warna Strip LED RGB Tergantung pada Pembacaan Sensor

Ini adalah langkah terakhir dalam proyek ini, dan dengan itu proyek kami akan berubah dari "bodoh" menjadi pintar dan memiliki kemampuan untuk berperilaku tergantung pada lingkungannya. Untuk melakukan itu kita akan menghubungkan PICO kita dengan sensor suhu LM35DZ.

Sensor ini memiliki tegangan keluaran analog yang bergantung pada suhu disekitarnya. Ini dimulai pada 0v sesuai dengan 0 Celcius, dan tegangan meningkat 10mV untuk setiap derajat di atas 0c. Komponen ini sangat sederhana dan hanya memiliki 3 kaki, dan mereka terhubung sebagai berikut:

  • VCC (LM35DZ) → VCC (PICO)
  • GND (LM35DZ) → GND (PICO)
  • Keluaran (LM35DZ) → A0 (PICO)

Langkah 5: Kode Terakhir

Kode Terakhir
Kode Terakhir
Kode Terakhir
Kode Terakhir

Sekarang setelah semuanya terhubung ke PICO, mari kita mulai memprogramnya sehingga LED berubah warna tergantung pada suhu.

Untuk ini, kita membutuhkan yang berikut:

Sebuah konst. variabel bernama "tempSensor" dengan nilai A0 yang menerima pembacaan dari sensor suhu

Variabel integer bernama "sensorReading" dengan nilai awal 0. Ini adalah variabel yang akan menyimpan pembacaan sensor mentah

Variabel float bernama "volt" dengan nilai awal 0. Ini adalah variabel yang akan menyimpan nilai pembacaan mentah sensor yang dikonversi ke volt

Variabel float bernama "temp" dengan nilai awal 0. Ini adalah variabel yang akan menyimpan pembacaan volt sensor yang dikonversi dan mengubahnya menjadi suhu

Variabel Integer bernama "mapped" dengan nilai awal 0. Ini akan menyimpan nilai PWM yang kita petakan ke variabel temp, dan variabel ini mengontrol warna strip LED

Dengan menggunakan kode ini, PICO akan membaca data sensor suhu, mengubahnya menjadi volt, kemudian menjadi Celcius, dan akhirnya memetakan derajat Celcius menjadi nilai PWM yang dapat dibaca oleh strip LED kami, dan itulah yang kami butuhkan.

Langkah 6: Anda Selesai

Image
Image

Kami juga membuat wadah akrilik untuk strip LED agar berdiri dengan cara yang bagus. Anda dapat menemukan file CAD di sini jika Anda ingin mengunduhnya.

Anda sekarang memiliki termometer LED yang tampak luar biasa yang secara otomatis memberi tahu Anda suhu saat Anda melihatnya, yang cukup nyaman untuk sedikitnya: P

Tinggalkan komentar jika Anda memiliki saran atau umpan balik, dan jangan lupa untuk mengikuti kami di facebook atau kunjungi kami di mellbell.cc untuk konten yang lebih keren.

Direkomendasikan: