Talaan ng mga Nilalaman:
- Hakbang 1: Mga Bahagi
- Hakbang 2: Pagpapatakbo ng RGB Strip Sa Mga Transistor at isang Pinagmulan ng Lakas
- Hakbang 3: Pagkontrol sa Mga Kulay ng RGB LED Strip
- Hakbang 4: Kontrolin ang RGB LED Strip Color Depende sa Pagbasa ng Sensor
- Hakbang 5: Ang Pangwakas na Code
- Hakbang 6: Tapos Na
Video: RGB Thermometer Gamit ang PICO: 6 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
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
- 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
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
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
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
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
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:
Subukan ang Bare Arduino, Gamit ang Software ng Laro Gamit ang Capacitive Input at LED: 4 na Hakbang
Subukan ang Bare Arduino, Gamit ang Software ng Laro Gamit ang Capacitive Input at LED: " Push-It " Interactive na laro gamit ang isang hubad na Arduino board, walang mga panlabas na bahagi o mga kable na kinakailangan (gumagamit ng isang capacitive 'touch' input). Ipinapakita sa itaas, ipinapakita ang pagtakbo nito sa dalawang magkakaibang board. Push-Mayroon itong dalawang layunin. Upang mabilis na maipakita / v
Internet Clock: Ipakita ang Petsa at Oras Gamit ang isang OLED Gamit ang ESP8266 NodeMCU Sa NTP Protocol: 6 na Hakbang
Internet Clock: Display Date and Time With an OLED Gamit ang ESP8266 NodeMCU With NTP Protocol: Kumusta mga tao sa mga itinuturo na ito na magtatayo kami ng isang orasan sa internet na magkakaroon ng oras mula sa internet kaya't ang proyektong ito ay hindi mangangailangan ng anumang RTC upang tumakbo, kakailanganin lamang nito ang isang nagtatrabaho koneksyon sa internet At para sa proyektong ito kailangan mo ng isang esp8266 na magkakaroon ng
Batay sa Arduino Hindi Makipag-ugnay sa Infrared Thermometer - Thermometer na Batay sa IR Gamit ang Arduino: 4 na Hakbang
Batay sa Arduino na Hindi Nakikipag-ugnay sa Infrared Thermometer | Thermometer na Batay sa IR Gamit ang Arduino: Kumusta mga tao sa mga itinuturo na ito ay gagawa kami ng isang hindi nakikipag-ugnay na Thermometer gamit ang arduino. Dahil kung minsan ang temperatura ng likido / solid ay masyadong mataas o paraan upang mababa at pagkatapos ay mahirap makipag-ugnay dito at basahin ito temperatura noon sa mga tagpong iyon
Hindi gumagana ang NODEMcu Usb Port? I-upload ang Code Gamit ang USB sa TTL (FTDI) Module sa 2 Hakbang lamang: 3 Hakbang
Hindi gumagana ang NODEMcu Usb Port? I-upload ang Code Gamit ang USB sa TTL (FTDI) Module sa Lamang 2 Mga Hakbang: Pagod na sa pagkonekta sa maraming mga wire mula sa USB hanggang TTL module sa NODEMcu, sundin ang itinuturo na ito, upang mai-upload ang code sa 2 hakbang lamang. Kung ang USB port ng Ang NODEMcu ay hindi gumagana, pagkatapos ay huwag panic. Ito lang ang USB driver chip o ang konektor ng USB,
Kontrolin ang Arduino Gamit ang Smartphone Sa pamamagitan ng USB Gamit ang Blynk App: 7 Mga Hakbang (na may Mga Larawan)
Kontrolin ang Arduino Gamit ang Smartphone Sa Pamamagitan ng USB Sa Blynk App: Sa tutorial na ito, matututunan namin kung paano gamitin ang Blynk app at Arduino upang makontrol ang lampara, ang kumbinasyon ay sa pamamagitan ng USB serial port. Ang layunin ng pagtuturo na ito ay upang ipakita ang pinakasimpleng solusyon sa malayo-pagkontrol ng iyong Arduino o c