Talaan ng mga Nilalaman:

RGB Thermometer Gamit ang PICO: 6 Hakbang
RGB Thermometer Gamit ang PICO: 6 Hakbang

Video: RGB Thermometer Gamit ang PICO: 6 Hakbang

Video: RGB Thermometer Gamit ang PICO: 6 Hakbang
Video: DIY Smart Thermostat For Under $40 Using Raspberry Pi Pico W 2024, Hulyo
Anonim
Image
Image

Iyon ang huling resulta ng aming pagsisikap ngayon. Ito ay isang thermometer na ipaalam sa iyo kung gaano ito kainit sa iyong silid, sa pamamagitan ng paggamit ng isang RGB LED strip na nakalagay sa isang lalagyan na acrylic, na konektado sa isang sensor ng temperatura upang mabasa ang temperatura. At gagamitin namin ang PICO upang mabuhay ang proyektong ito.

Hakbang 1: Mga Bahagi

Pagpapatakbo ng RGB Strip Sa Mga Transistor at isang Pinagmulan ng Lakas
Pagpapatakbo ng RGB Strip Sa Mga Transistor at isang Pinagmulan ng Lakas
  • PICO, magagamit sa mellbell.cc ($ 17)
  • 1 metro RGB LED strip
  • 3 TIP122 Darlington transistor, isang bundle ng 10 sa ebay ($ 3.31)
  • 1 PCA9685 16-channel 12-bit PWM driver, magagamit sa ebay ($ 2.12)
  • 12v mapagkukunan ng kuryente
  • 3 1k ohm resistors, isang bundle ng 100 sa ebay ($ 0.99)
  • Isang breadboard, magagamit sa ebay ($ 2.30)
  • Lalaki - mga babaeng jumper wires, isang bundle ng 40 sa ebay ($ 0.95)

Hakbang 2: Pagpapatakbo ng RGB Strip Sa Mga Transistor at isang Pinagmulan ng Lakas

Pagpapatakbo ng RGB Strip Sa Mga Transistor at isang Pinagmulan ng Lakas
Pagpapatakbo ng RGB Strip Sa Mga Transistor at isang Pinagmulan ng Lakas
Pagpapatakbo ng RGB Strip Sa Mga Transistor at isang Pinagmulan ng Lakas
Pagpapatakbo ng RGB Strip Sa Mga Transistor at isang Pinagmulan ng Lakas
Pagpapatakbo ng RGB Strip Sa Mga Transistor at isang Pinagmulan ng Lakas
Pagpapatakbo ng RGB Strip Sa Mga Transistor at isang Pinagmulan ng Lakas

Ang mga LED strip ay nababaluktot na mga circuit board na pinuno ng mga LED. Ginagamit ang mga ito sa maraming paraan, dahil magagamit mo ang mga ito sa iyong bahay, iyong kotse, o bisikleta. Maaari ka ring lumikha ng mga cool na RGB na naisusuot gamit ang mga ito.

Kaya, paano sila gumagana? Ito ay talagang medyo simple. Ang lahat ng mga LED sa LED strip ay konektado sa kahanay, at kumikilos sila tulad ng isang malaking RGB LED. At upang patakbuhin ito, kailangan mo lamang ikonekta ang strip sa isang 12v mataas na kasalukuyang mapagkukunan ng kuryente.

Upang makontrol ang LED strip gamit ang isang microcontroller, kailangan mong ihiwalay ang mapagkukunan ng kuryente mula sa mapagkukunan ng kontrol. Dahil ang LED strip ay nangangailangan ng 12v, at ang aming microcontroller ay hindi maaaring mag-alok ng mas maraming output voltage, at iyon ang dahilan kung bakit kumokonekta kami ng isang panlabas na 12v mataas na kasalukuyang mapagkukunan ng kuryente, habang nagpapadala ng mga signal ng kontrol mula sa aming PICO.

Gayundin, ang kasalukuyang gumuhit ng bawat RGB cell ay mataas, dahil ang bawat solong LED dito - ang pula, berde, at asul na LEDs - ay nangangailangan ng 20mA upang mapatakbo, na nangangahulugang kailangan namin ng 60mA upang mapatakbo ang isang solong RGB cell. At iyon ay napaka may problema, dahil ang aming mga GPIO pin ay maaari lamang magbigay ng maximum na 40mA bawat pin, at ang pagkonekta sa RGB strip sa PICO nang direkta ay susunugin, kaya't mangyaring huwag gawin ito.

Ngunit, mayroong isang solusyon, at ito ay tinatawag na Darlington Transistor na kung saan ay isang pares ng transistors na may napakataas na kasalukuyang kita, na makakatulong sa amin na mapalakas ang aming kasalukuyang upang mapunan ang aming mga pangangailangan.

Alamin muna ang tungkol sa kasalukuyang kita. Ang kasalukuyang kita ay isang pag-aari ng mga transistors na nangangahulugang ang kasalukuyang pagdaan sa transistor ay magpaparami nito, at ang equation nito ay ganito ang hitsura:

kasalukuyang pag-load = kasalukuyang pag-input * makakuha ng transistor.

Ito ay kahit na mas malakas sa isang Darlington transistor, dahil ito ay isang pares ng transistors hindi isang solong isa, at ang kanilang mga epekto ay pinarami ng bawat isa, na nagbibigay sa amin ng napakalaking kasalukuyang mga natamo.

Ikonekta namin ngayon ang LED strip sa aming panlabas na mapagkukunan ng kuryente, ang transistor, at syempre ang aming PICO.

  • Base (transistor) → D3 (PICO)
  • Kolektor (transistor) → B (LED strip)
  • Emitter (transistor) → GND
  • +12 (LED strip) → +12 (pinagmulan ng kuryente)

Huwag kalimutan na ikonekta ang GND ng PICO sa pinagmumulan ng kuryente

Hakbang 3: Pagkontrol sa Mga Kulay ng RGB LED Strip

Pagkontrol sa Mga Kulay ng RGB LED Strip
Pagkontrol sa Mga Kulay ng RGB LED Strip
Pagkontrol sa Mga Kulay ng RGB LED Strip
Pagkontrol sa Mga Kulay ng RGB LED Strip
Pagkontrol sa Mga Kulay ng RGB LED Strip
Pagkontrol sa Mga Kulay ng RGB LED Strip

Alam namin na ang aming PICO ay may isang solong PWM pin (D3) na nangangahulugang hindi nito makontrol nang natural ang aming 16 na LED. Ito ang dahilan kung bakit ipinakikilala namin ang module ng PCA9685 16-channel 12-bit PWM I2C, na hinahayaan kaming palawakin ang mga PWM na pin ng PICO.

Una sa lahat, ano ang I2C?

Ang I2C ay isang protocol ng komunikasyon na nagsasangkot lamang ng 2 wires upang makipag-usap sa isa o higit pang mga aparato sa pamamagitan ng pagtugon sa address ng aparato at kung aling data ang ipapadala.

Mayroong dalawang uri ng mga aparato: Ang una ay ang master device, na siyang responsable sa pagpapadala ng data, at ang isa pa ay ang aparato ng alipin, na tumatanggap ng data. Narito ang mga pin ng module ng PCA9685:

  • VCC → Ito ang kapangyarihan para sa board na ito mismo. 3-5v max
  • GND → Ito ang negatibong pin, at dapat itong konektado sa GND upang makumpleto ang circuit.
  • V + → Ito ay isang opsyonal na power pin na magbibigay ng lakas sa mga servos kung mayroon kang alinman sa mga ito na konektado sa iyong module. Maaari mong iwanan ito na nakakabit kung hindi ka gumagamit ng anumang mga servo.
  • SCL → Serial pin na orasan, at ikinonekta namin ito sa SCL ng PICO.
  • SDA → Serial Data pin, at ikinonekta namin ito sa SDA ng PICO.
  • OE → pin na pinagana ang output, ang pin na ito ay aktibo LOW, kapag ang pin ay LOW lahat ng mga output ay pinagana, kapag TAAS ang lahat ng mga output ay hindi pinagana. At ang opsyonal na pin na ito ay ginagamit upang mabilis na paganahin o huwag paganahin ang mga pin ng module.

Mayroong 16 port, ang bawat port ay may V +, GND, PWM. Ang bawat pin ng PWM ay tumatakbo nang ganap na nakapag-iisa, at naka-set up ang mga ito para sa mga servo ngunit madali mo itong magagamit para sa mga LED. Ang bawat PWM ay maaaring hawakan ang 25mA ng kasalukuyang kaya mag-ingat.

Ngayong alam na natin kung ano ang mga pin ng aming module at kung ano ang ginagawa nito, hinahayaan itong gamitin upang madagdagan ang bilang ng mga PWM na pin ng PICO, upang makontrol natin ang aming RGB LED strip.

Gagamitin namin ang modyul na ito kasama ang mga TIP122 transistor, at ito ang kung paano mo dapat ikonekta ang mga ito sa iyong PICO:

  • VCC (PCA9685) → VCC (PICO).
  • GND (PCA9685) → GND.
  • SDA (PCA9685) → D2 (PICO).
  • SCL (PCA9685) → D3 (PICO).
  • PWM 0 (PCA9685) → BASE (unang TIP122).
  • PWM 1 (PCA9685) → BASE (pangalawang TIP122).
  • PWM 2 (PCA9685) → BASE (pangatlong TIP122).

Huwag kalimutan na ikonekta ang GND ng PICO sa GND ng power supply. At tiyaking HINDI makakonekta ang PCA9685 VCC pin na may +12 volts ng power supply o masisira ito

Hakbang 4: Kontrolin ang RGB LED Strip Color Depende sa Pagbasa ng Sensor

Kontrolin ang RGB LED Strip Color Depende sa Pagbasa ng Sensor
Kontrolin ang RGB LED Strip Color Depende sa Pagbasa ng Sensor
Kontrolin ang RGB LED Strip Color Depende sa Pagbasa ng Sensor
Kontrolin ang RGB LED Strip Color Depende sa Pagbasa ng Sensor

Ito ang huling hakbang sa proyektong ito, at kasama nito ang aming proyekto ay magbabago mula sa pagiging "hangal" hanggang sa pagiging matalino at may kakayahang kumilos depende sa kapaligiran nito. Upang magawa iyon, ikonekta namin ang aming PICO sa sensor ng temperatura ng LM35DZ.

Ang sensor na ito ay may isang analog na boltahe ng output na nakasalalay sa temperatura sa paligid nito. Nagsisimula ito sa 0v na naaayon sa 0 Celsius, at ang boltahe ay tumataas ng 10mV para sa bawat degree sa itaas 0c. Ang sangkap na ito ay napaka-simple at mayroon lamang 3 mga binti, at nakakonekta ang mga ito tulad ng sumusunod:

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

Hakbang 5: Ang Pangwakas na Code

Ang Pangwakas na Code
Ang Pangwakas na Code
Ang Pangwakas na Code
Ang Pangwakas na Code

Ngayon na mayroon kaming lahat na konektado sa aming PICO, hinahayaan na simulan itong i-program upang ang mga LED ay magbago ng kulay depende sa temperatura.

Para sa mga ito, kailangan namin ang sumusunod:

Ang isang konstitusyon variable na pinangalanang "tempSensor" na may halagang A0 na tumatanggap ng pagbabasa nito mula sa sensor ng temperatura

Isang variable na integer na nagngangalang "sensorReading" na may paunang halaga 0. Ito ang variable na makatipid sa pagbabasa ng hilaw na sensor

Ang isang variable na float na pinangalanang "volts" na may paunang halaga 0. Ito ang variable na makatipid sa na-convert na sensor na raw na halaga ng pagbabasa sa volts

Ang isang variable na float na pinangalanang "temp" na may paunang halaga 0. Ito ang variable na makatipid sa na-convert na mga pagbasa ng sensor volts at i-convert ito sa temperatura

Isang variable na Integer na pinangalanang "nai-map" na may paunang halaga 0. Sine-save nito ang halagang PWM na nai-map namin ang temp variable, at kinokontrol ng variable na ito ang kulay ng LED strip

Gamit ang code na ito, babasahin ng PICO ang data ng sensor ng temperatura, i-convert ito sa volts, pagkatapos ay sa Celsius, at sa wakas ay nai-map ang Celsius degree sa isang halaga na PWM na mababasa ng aming LED strip, at iyon mismo ang kailangan namin.

Hakbang 6: Tapos Na

Image
Image

Gumawa rin kami ng lalagyan na acrylic para sa LED strip upang mapanindigan ito sa isang magandang paraan. Maaari mong makita ang mga CAD file dito kung nais mong i-download ang mga ito.

Mayroon ka ngayong isang kahanga-hangang pagtingin sa LED thermometer na awtomatikong nagsasabi sa iyo ng temperatura kapag tiningnan mo ito, na kung saan ay maginhawa upang masabi: P

Mag-iwan ng komento kung mayroon kang anumang mga mungkahi o puna, at huwag kalimutang sundan kami sa facebook o bisitahin kami sa mellbell.cc para sa mas kahanga-hangang nilalaman.

Inirerekumendang: