Isi kandungan:

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, November
Anonim
Image
Image

Itulah hasil akhir usaha kami hari ini. Ini adalah termometer yang akan memberitahu anda betapa panasnya ruangan anda, dengan menggunakan jalur LED RGB yang diletakkan di dalam bekas akrilik, yang disambungkan ke sensor suhu untuk membaca suhunya. Dan kami akan menggunakan PICO untuk menghidupkan projek ini.

Langkah 1: Komponen

Menghidupkan Jalur RGB Dengan Transistor dan Sumber Kuasa
Menghidupkan Jalur RGB Dengan Transistor dan Sumber Kuasa
  • PICO, boleh didapati di mellbell.cc ($ 17)
  • Jalur LED RGB 1 meter
  • 3 TIP122 Darlington transistor, sekumpulan 10 di ebay ($ 3,31)
  • 1 pemacu PWM 12-bit 16-saluran PCA9685, boleh didapati di ebay ($ 2.12)
  • Sumber kuasa 12v
  • 3 perintang 1k ohm, sekumpulan 100 di ebay ($ 0.99)
  • Papan roti, tersedia di ebay ($ 2.30)
  • Kabel jumper lelaki - wanita, sekumpulan 40 di ebay ($ 0.95)

Langkah 2: Menghidupkan Jalur RGB Dengan Transistor dan Sumber Kuasa

Menghidupkan Jalur RGB Dengan Transistor dan Sumber Kuasa
Menghidupkan Jalur RGB Dengan Transistor dan Sumber Kuasa
Menghidupkan Jalur RGB Dengan Transistor dan Sumber Kuasa
Menghidupkan Jalur RGB Dengan Transistor dan Sumber Kuasa
Menghidupkan Jalur RGB Dengan Transistor dan Sumber Kuasa
Menghidupkan Jalur RGB Dengan Transistor dan Sumber Kuasa

Jalur LED adalah papan litar fleksibel yang diisi dengan LED. Mereka digunakan dalam banyak cara, kerana anda boleh menggunakannya di rumah, kereta, atau basikal anda. Anda juga boleh membuat alat pemakai RGB yang sejuk menggunakannya.

Jadi, bagaimana mereka berfungsi? Ia sebenarnya cukup sederhana. Semua LED dalam jalur LED disambungkan secara selari, dan mereka bertindak seperti satu LED RGB besar. Dan untuk menjalankannya, anda hanya perlu menyambungkan jalur ke sumber kuasa arus tinggi 12v.

Untuk mengawal jalur LED dengan mikrokontroler, anda perlu memisahkan sumber kuasa dari sumber kawalan. Kerana jalur LED memerlukan 12v, dan pengawal mikro kami tidak dapat menawarkan voltan keluaran sebanyak ini, dan itulah sebabnya kami menghubungkan sumber kuasa arus tinggi 12v luaran, sambil menghantar isyarat kawalan dari PICO kami.

Juga, tarikan semasa setiap sel RGB tinggi, kerana setiap LED di dalamnya - LED merah, hijau, dan biru - memerlukan 20mA untuk beroperasi, yang bermaksud bahawa kita memerlukan 60mA untuk menyalakan satu sel RGB. Dan itu sangat bermasalah, kerana pin GPIO kami hanya dapat membekalkan maksimum 40mA per pin, dan menghubungkan jalur RGB ke PICO secara langsung akan membakarnya, jadi jangan lakukannya.

Tetapi, ada penyelesaiannya, dan ia disebut Darlington Transistor yang merupakan sepasang transistor yang mempunyai keuntungan arus yang sangat tinggi, yang akan membantu kita meningkatkan arus untuk memenuhi keperluan kita.

Mari ketahui lebih lanjut mengenai keuntungan semasa terlebih dahulu. Keuntungan semasa adalah harta transistor yang bermaksud bahawa arus yang melewati transistor akan dikalikan dengannya, dan persamaannya kelihatan seperti ini:

beban semasa = arus input * perolehan transistor.

Ini lebih kuat dalam transistor Darlington, kerana ia adalah sepasang transistor bukan satu, dan kesannya dikalikan satu sama lain, memberi kita keuntungan semasa yang besar.

Kami sekarang akan menyambungkan jalur LED ke sumber kuasa luaran kami, transistor, dan tentu saja PICO kami.

  • Pangkalan (transistor) → D3 (PICO)
  • Pemungut (transistor) → B (jalur LED)
  • Pemancar (transistor) → GND
  • +12 (Jalur LED) → +12 (sumber kuasa)

Jangan lupa untuk menyambungkan GND PICO ke tanah sumber kuasa

Langkah 3: Mengawal Warna Jalur LED RGB

Mengawal Warna Jalur LED RGB
Mengawal Warna Jalur LED RGB
Mengawal Warna Jalur LED RGB
Mengawal Warna Jalur LED RGB
Mengawal Warna Jalur LED RGB
Mengawal Warna Jalur LED RGB

Kami tahu bahawa PICO kami mempunyai pin PWM tunggal (D3) yang bermaksud bahawa ia tidak dapat mengawal 16 LED kami secara semula jadi. Inilah sebabnya mengapa kami memperkenalkan modul PWM I2C 12-bit PCA9685 16-saluran, yang membolehkan kami memperluas pin PWM PICO.

Pertama sekali, apa itu I2C?

I2C adalah protokol komunikasi yang hanya melibatkan 2 wayar untuk berkomunikasi dengan satu atau lebih peranti dengan alamat alamat peranti dan data mana yang akan dihantar.

Terdapat dua jenis peranti: Yang pertama adalah peranti induk, yang mana yang bertanggung jawab untuk mengirim data, dan yang lain adalah perangkat hamba, yang menerima data. Berikut adalah pin modul PCA9685:

  • VCC → Ini adalah kekuatan untuk papan itu sendiri. Maksimum 3-5v
  • GND → Ini adalah pin negatif, dan mesti disambungkan ke GND untuk menyelesaikan litar.
  • V + → Ini adalah pin kuasa pilihan yang akan memberi kuasa kepada servo jika anda mempunyai salah satu dari mereka yang tersambung ke modul anda. Anda boleh membiarkannya terputus jika anda tidak menggunakan servo.
  • SCL → Pin jam bersiri, dan kami menyambungkannya ke SCL PICO.
  • SDA → Pin Data Bersiri, dan kami menghubungkannya ke SDA PICO.
  • OE → pin yang diaktifkan output, pin ini aktif RENDAH, apabila pin RENDAH semua output diaktifkan, ketika TINGGI semua output dilumpuhkan. Dan pin pilihan ini digunakan untuk mengaktifkan atau mematikan pin modul dengan cepat.

Terdapat 16 port, setiap port mempunyai V +, GND, PWM. Setiap pin PWM dijalankan sepenuhnya secara bebas, dan mereka disiapkan untuk servos tetapi anda boleh menggunakannya untuk LED dengan mudah. Setiap PWM dapat menangani arus 25mA jadi berhati-hatilah.

Sekarang setelah kita mengetahui apa pin modul kami dan apa yang dilakukannya, mari gunakannya untuk menambah bilangan pin PWM PICO, supaya kami dapat mengawal jalur LED RGB kami.

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 (petua kedua12).
  • PWM 2 (PCA9685) → ASAS (petua ketiga122).

Jangan lupa untuk menghubungkan GND PICO dengan GND bekalan kuasa. Dan pastikan TIDAK menyambungkan pin VCC PCA9685 dengan bekalan kuasa +12 volt atau ia akan rosak

Langkah 4: Kawal Warna Jalur LED RGB Bergantung pada Bacaan Sensor

Kawal Warna Jalur LED RGB Bergantung pada Bacaan Sensor
Kawal Warna Jalur LED RGB Bergantung pada Bacaan Sensor
Kawal Warna Jalur LED RGB Bergantung pada Bacaan Sensor
Kawal Warna Jalur LED RGB Bergantung pada Bacaan Sensor

Ini adalah langkah terakhir dalam projek ini, dan dengan itu projek kita akan berubah dari menjadi "bodoh" menjadi pintar dan mempunyai kemampuan untuk bertindak bergantung pada persekitarannya. Untuk melakukan itu, kami akan menghubungkan PICO kami dengan sensor suhu LM35DZ.

Sensor ini mempunyai voltan keluaran analog yang bergantung pada suhu di sekelilingnya. Ia bermula pada 0v sepadan dengan 0 Celsius, dan voltan meningkat sebanyak 10mV untuk setiap darjah di atas 0c. Komponen ini sangat sederhana dan hanya mempunyai 3 kaki, dan ia dihubungkan seperti berikut:

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

Langkah 5: Kod Akhir

Kod Akhir
Kod Akhir
Kod Akhir
Kod Akhir

Sekarang kita mempunyai semua yang tersambung ke PICO kita, mari mulakan memprogramnya sehingga LED berubah warna bergantung pada suhu.

Untuk ini, kami memerlukan perkara berikut:

Seorang pegawai pemboleh ubah bernama "tempSensor" dengan nilai A0 yang menerima bacaannya dari sensor suhu

Pemboleh ubah integer bernama "sensorReading" dengan nilai awal 0. Ini adalah pemboleh ubah yang akan menjimatkan bacaan sensor mentah

Pemboleh ubah apungan bernama "volt" dengan nilai awal 0. Ini adalah pemboleh ubah yang akan menyimpan nilai bacaan mentah sensor yang ditukar kepada volt

Pemboleh ubah apungan bernama "temp" dengan nilai awal 0. Ini adalah pemboleh ubah yang akan menyelamatkan bacaan volt sensor yang ditukar dan mengubahnya menjadi suhu

Pemboleh ubah Integer bernama "dipetakan" dengan nilai awal 0. Ini akan menjimatkan nilai PWM yang kami petakan pemboleh ubah temp ke, dan pemboleh ubah ini mengawal warna jalur LED

Dengan menggunakan kod ini, PICO akan membaca data sensor suhu, mengubahnya menjadi volt, kemudian menjadi Celsius, dan akhirnya ia memetakan darjah Celsius menjadi nilai PWM yang dapat dibaca oleh jalur LED kami, dan itulah yang kami perlukan.

Langkah 6: Anda Selesai

Image
Image

Kami juga membuat bekas akrilik untuk jalur LED untuk membuatnya berdiri dengan cara yang baik. Anda boleh mendapatkan fail CAD di sini jika anda mahu memuat turunnya.

Anda kini mempunyai termometer LED yang hebat yang secara automatik memberitahu anda suhu ketika anda melihatnya, yang cukup senang untuk dikatakan paling sedikit: P

Tinggalkan komen jika anda mempunyai cadangan atau maklum balas, dan jangan lupa untuk mengikuti kami di facebook atau kunjungi kami di mellbell.cc untuk kandungan yang lebih hebat.

Disyorkan: