Агуулгын хүснэгт:

PICO ашиглан RGB термометр: 6 алхам
PICO ашиглан RGB термометр: 6 алхам

Видео: PICO ашиглан RGB термометр: 6 алхам

Видео: PICO ашиглан RGB термометр: 6 алхам
Видео: Ардуино хичээл №5 LCD дэлгэцийг I2Cпротокол ашиглан хэрхэн програмчлах вэ? 2024, Арваннэгдүгээр
Anonim
Image
Image

Энэ бол бидний өнөөдрийн хичээл зүтгэлийн эцсийн үр дүн байв. Энэ бол термометр бөгөөд температур мэдрэгчтэй холбогдсон нийлэг саванд байрлуулсан RGB LED туузыг ашиглан өрөөндөө хэр дулаахан байгааг танд мэдэгдэх болно. Мөн бид энэ төслийг амьдралд хэрэгжүүлэхийн тулд PICO ашиглах болно.

Алхам 1: бүрэлдэхүүн хэсгүүд

RGB туузыг транзистор ба тэжээлийн эх үүсвэрээр тэжээх
RGB туузыг транзистор ба тэжээлийн эх үүсвэрээр тэжээх
  • PICO, mellbell.cc дээрээс авах боломжтой ($ 17)
  • 1 метрийн RGB LED зурвас
  • 3 TIP122 Darlington транзистор, ebay дээр 10 ширхэг багц ($ 3.31)
  • 1 PCA9685 16 сувгийн 12 битийн PWM драйверыг ebay дээр худалдаж авах боломжтой ($ 2.12)
  • 12 вольтын тэжээлийн эх үүсвэр
  • 3 1 к ом эсэргүүцэл, ebay дээр 100 ширхэг багц (0.99 доллар)
  • Талх, ebay дээрээс авах боломжтой ($ 2.30)
  • Эр - эмэгтэй холбогч утас, ebay дээр 40 ширхэг багц (0.95 доллар)

Алхам 2: RGB туузыг транзистор болон тэжээлийн эх үүсвэрээр тэжээх

RGB туузыг транзистор ба тэжээлийн эх үүсвэрээр тэжээх
RGB туузыг транзистор ба тэжээлийн эх үүсвэрээр тэжээх
RGB туузыг транзистор ба тэжээлийн эх үүсвэрээр тэжээх
RGB туузыг транзистор ба тэжээлийн эх үүсвэрээр тэжээх
RGB туузыг транзистор ба тэжээлийн эх үүсвэрээр тэжээх
RGB туузыг транзистор ба тэжээлийн эх үүсвэрээр тэжээх

LED тууз нь LED -ээр дүүрсэн уян хатан самбар юм. Тэднийг гэртээ, машин, унадаг дугуйнд ашиглах боломжтой тул тэдгээрийг олон талаар ашигладаг. Тэдгээрийг ашиглан та RGB өмсдөг гоёмсог хувцас хийж болно.

Тэгэхээр тэд хэрхэн ажилладаг вэ? Энэ нь үнэндээ маш энгийн юм. LED зурвас дахь бүх LED нь зэрэгцээ холбогдсон бөгөөд тэдгээр нь нэг том RGB LED шиг ажилладаг. Үүнийг ажиллуулахын тулд та туузыг 12 вольтын өндөр гүйдлийн тэжээлийн эх үүсвэрт холбох хэрэгтэй.

LED зурвасыг микроконтроллероор хянахын тулд тэжээлийн эх үүсвэрийг хяналтын эх үүсвэрээс салгах хэрэгтэй. LED зурвас нь 12 вольт шаарддаг тул манай микроконтроллер нь ийм их гаралтын хүчдэлийг санал болгодоггүй тул бид PICO -оосоо хяналтын дохиог дамжуулахдаа 12в өндөр гүйдлийн гадаад эх үүсвэрийг холбодог.

Түүнчлэн, RGB үүр бүрийн өнөөгийн зураг авалт өндөр байгаа бөгөөд улаан, ногоон, цэнхэр өнгийн LED гэрлүүд тус бүрдээ 20 мА ажиллах шаардлагатай байдаг бөгөөд энэ нь нэг RGB үүрийг асаахад 60 мА шаардлагатай гэсэн үг юм. Энэ нь маш асуудалтай, учир нь манай GPIO тээглүүр нь нэг зүү тутамд хамгийн ихдээ 40 мА чадалтай бөгөөд RGB туузыг PICO -той шууд холбох нь үүнийг шатаах болно, тиймээс битгий хийгээрэй.

Гэсэн хэдий ч шийдэл байдаг бөгөөд үүнийг Дарлингтоны транзистор гэж нэрлэдэг бөгөөд энэ нь маш өндөр гүйдэлтэй хос транзистор бөгөөд энэ нь бидний хэрэгцээг хангахын тулд одоогийн хүчийг нэмэгдүүлэхэд тусалдаг.

Эхлээд одоогийн ашиг орлогын талаар илүү ихийг олж мэдье. Одоогийн ашиг нь транзисторын өмч бөгөөд энэ нь транзистороор дамжих гүйдлийг үржүүлж, тэгшитгэл нь дараах байдалтай байна.

ачааллын гүйдэл = оролтын гүйдэл * транзисторын олз.

Энэ нь Дарлингтоны транзисторт илүү хүчтэй байдаг, учир нь энэ нь ганц биш хос транзистор бөгөөд тэдгээрийн үр нөлөөг бие биенээ үржүүлж, одоогийн асар их ашиг авчирдаг.

Одоо бид LED туузыг гадаад тэжээлийн эх үүсвэр болох транзистор, мэдээж PICO -тойгоо холбох болно.

  • Үндсэн (транзистор) → D3 (PICO)
  • Коллектор (транзистор) → B (LED зурвас)
  • Ялгаруулагч (транзистор) → GND
  • +12 (LED зурвас) → +12 (тэжээлийн эх үүсвэр)

PICO -ийн GND -ийг тэжээлийн эх үүсвэртэй холбохоо бүү мартаарай

Алхам 3: RGB LED зурвасын өнгийг хянах

RGB LED зурвасын өнгийг хянах
RGB LED зурвасын өнгийг хянах
RGB LED зурвасын өнгийг хянах
RGB LED зурвасын өнгийг хянах
RGB LED зурвасын өнгийг хянах
RGB LED зурвасын өнгийг хянах

Манай PICO нь ганц ХОУХ -ны зүүтэй (D3) байдаг бөгөөд энэ нь манай 16 LED -ийг угаасаа удирдаж чадахгүй гэсэн үг юм. Тиймээс бид PICO-ийн PWM тээглүүрийг өргөтгөх боломжийг олгодог PCA9685 16 сувгийн 12 битийн PWM I2C модулийг танилцуулж байна.

Юуны өмнө I2C гэж юу вэ?

I2C нь төхөөрөмжийн хаяг болон ямар өгөгдөл илгээх замаар нэг буюу хэд хэдэн төхөөрөмжтэй холбогдохын тулд зөвхөн 2 утсыг багтаасан харилцааны протокол юм.

Хоёр төрлийн төхөөрөмж байдаг: Эхнийх нь өгөгдөл илгээх үүрэгтэй мастер төхөөрөмж, нөгөө нь өгөгдлийг хүлээн авдаг боол төхөөрөмж юм. PCA9685 модулийн зүүг энд харуулав.

  • VCC → Энэ бол өөрөө удирдах зөвлөлийн хүч юм. Хамгийн ихдээ 3-5 вольт.
  • GND → Энэ бол сөрөг зүү бөгөөд хэлхээг дуусгахын тулд GND -тэй холбогдсон байх ёстой.
  • V+ → Энэ бол нэмэлт модуль бөгөөд хэрэв та модульд аль нэгийг нь холбосон бол servo -ийг тэжээх болно. Хэрэв та ямар ч servo ашигладаггүй бол үүнийг салгаж болно.
  • SCL → Цуваа цагийн зүү, бид үүнийг PICO -ийн SCL -тэй холбоно.
  • SDA → Цуваа өгөгдлийн зүү, бид үүнийг PICO -ийн SDA -тай холбодог.
  • OE → гаралт идэвхжүүлсэн зүү, энэ зүү нь LOW идэвхтэй, зүү LOW байхад бүх гаралт идэвхжсэн, өндөр байхад бүх гаралт идэвхгүй болно. Энэхүү нэмэлт зүү нь модулийн тээглүүрийг хурдан идэвхжүүлэх эсвэл идэвхгүй болгоход хэрэглэгддэг.

16 порт байдаг бөгөөд порт бүрт V+, GND, PWM байдаг. ХОУХ -ны зүү бүр бие даан ажилладаг бөгөөд тэдгээр нь servo -д зориулагдсан боловч та тэдгээрийг LED -д хялбархан ашиглаж болно. ХОУХ бүр 25 мА гүйдэл дамжуулах чадвартай тул болгоомжтой байгаарай.

Одоо бид модулийнхаа тээглүүр, юу хийж байгааг мэддэг болсон тул үүнийг ашиглан PGBO -ийн ХОУХ -ны зүүг нэмэгдүүлэхийн тулд RGB LED зурвасыг хянах боломжтой болно.

Бид энэ модулийг TIP122 транзистортой хамт ашиглах гэж байгаа бөгөөд та үүнийг PICO -тойгоо хэрхэн холбох вэ:

  • VCC (PCA9685) → VCC (PICO).
  • GND (PCA9685) → GND.
  • SDA (PCA9685) → D2 (PICO).
  • SCL (PCA9685) → D3 (PICO).
  • ХОУХ 0 (PCA9685) → СУУРЬ (эхний TIP122).
  • ХОУХ 1 (PCA9685) → СУУРЬ (хоёр дахь TIP122).
  • PWM 2 (PCA9685) → BASE (гурав дахь TIP122).

PICO -ийн GND -ийг цахилгаан хангамжийн GND -тэй холбохоо бүү мартаарай. PCA9685 VCC зүүг тэжээлийн +12 вольтоор бүү холбоорой, эс тэгвээс гэмтэх болно

Алхам 4: Мэдрэгчийн уншилтаас хамаарч RGB LED зурвасын өнгийг хянах

Мэдрэгчийн уншилтаас хамааран RGB LED зурвасын өнгийг хянах
Мэдрэгчийн уншилтаас хамааран RGB LED зурвасын өнгийг хянах
Мэдрэгчийн уншилтаас хамаарч RGB LED зурвасын өнгийг хянах
Мэдрэгчийн уншилтаас хамаарч RGB LED зурвасын өнгийг хянах

Энэ бол энэ төслийн хамгийн сүүлийн алхам бөгөөд үүнтэй хамт манай төсөл "тэнэг" байхаас ухаалаг болж, хүрээлэн буй орчноосоо шалтгаалан биеэ авч явах чадвартай болох болно. Үүнийг хийхийн тулд бид PICO -г LM35DZ температур мэдрэгчтэй холбох гэж байна.

Энэхүү мэдрэгч нь аналог гаралтын хүчдэлтэй бөгөөд эргэн тойрны температураас хамаарна. Энэ нь 0 Цельсийн харгалзах 0v -ээс эхэлдэг бөгөөд 0С -ээс дээш градус бүрт хүчдэл 10mV -ээр нэмэгддэг. Энэ бүрэлдэхүүн хэсэг нь маш энгийн бөгөөд зөвхөн 3 хөлтэй бөгөөд тэдгээрийг дараах байдлаар холбосон болно.

  • VCC (LM35DZ) → VCC (PICO)
  • GND (LM35DZ) → GND (PICO)
  • Гаралт (LM35DZ) → A0 (PICO)

Алхам 5: Эцсийн код

Эцсийн код
Эцсийн код
Эцсийн код
Эцсийн код

Одоо бид PICO -тойгоо холбогдсон бүх зүйл байгаа тул үүнийг програмчилж эхлэх боломжтой бөгөөд ингэснээр LED нь температураас хамаарч өнгөө өөрчилдөг.

Үүний тулд бидэнд дараахь зүйлс хэрэгтэй болно.

Const. температур мэдрэгчээс уншилтыг хүлээн авдаг A0 утгатай "tempSensor" нэртэй хувьсагч

Анхны утга 0 "sensorReading" нэртэй бүхэл тоон хувьсагч. Энэ нь түүхий мэдрэгчийн уншилтыг хэмнэх хувьсагч юм

Анхны утга нь "вольт" нэртэй хөвөгч хувьсагч 0. Энэ нь хөрвүүлсэн мэдрэгчийн түүхий уншилтын утгыг вольт болгон хэмнэх хувьсагч юм

Анхны утга 0 "temp" нэртэй хөвөгч хувьсагч. Энэ нь хөрвүүлсэн мэдрэгчийн вольтын заалтыг хэмнэж температур болгон хувиргах хувьсагч юм

Анхны утга 0 -тэй "mapped" нэртэй бүхэл тоон хувьсагч. Энэ нь бидний temp хувьсагчийг дүрсэлсэн PWM утгыг хадгалах бөгөөд энэ хувьсагч нь LED зурвасын өнгийг хянадаг

Энэ кодыг ашигласнаар PICO нь температур мэдрэгчийн өгөгдлийг уншиж, вольт, дараа нь Цельсийн градус болгон хөрвүүлж, эцэст нь Цельсийн градусыг манай LED зурвасаар унших боломжтой ХОУХШ -ийн утга болгон харуулдаг бөгөөд энэ нь бидэнд яг хэрэгтэй зүйл юм.

Алхам 6: Та дууссан

Image
Image

Мөн бид LED туузыг гоёмсог байдлаар босгохын тулд нийлэг сав хийсэн. Хэрэв та татаж авахыг хүсвэл CAD файлуудыг эндээс олж болно.

Танд одоо гайхалтай температуртай LED термометр байгаа бөгөөд үүнийг харахад температурыг автоматаар хэлж өгдөг бөгөөд энэ нь хамгийн энгийнээр хэлэхэд тохиромжтой юм: P

Хэрэв танд ямар нэгэн санал, сэтгэгдэл байвал сэтгэгдлээ үлдээгээрэй, илүү гайхалтай контент авахын тулд биднийг facebook дээр дагах эсвэл mellbell.cc дээр зочлохоо бүү мартаарай.

Зөвлөмж болгож буй: