Мазмуну:

PICO колдонуу RGB термометр: 6 кадам
PICO колдонуу RGB термометр: 6 кадам

Video: PICO колдонуу RGB термометр: 6 кадам

Video: PICO колдонуу RGB термометр: 6 кадам
Video: Домашний бургер с Американским соусом. На голодный желудок не смотреть. 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 1k ohm резисторлору, 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 в керектелет, жана биздин микроконтроллер ушунчалык көп чыңалуу сунуш кыла албайт, ошондуктан биз тышкы 12в жогорку токтун булагын туташтырып, башкаруу сигналдарын биздин PICOдон жөнөтөбүз.

Ошондой эле, ар бир RGB уячасынын учурдагы тартылуусу жогору, андагы ар бир LED - кызыл, жашыл жана көк LEDлердин иштеши үчүн 20mA керек, башкача айтканда, бир RGB уячасын жарыктандыруу үчүн 60mA керек. Бул абдан көйгөйлүү, анткени биздин GPIO казыктары бир пинге 40 мА максимум жеткире алат жана RGB тилкесин PICOго туташтыруу аны өрттөп жиберет, андыктан муну жасабаңыз.

Бирок, бир чечим бар жана ал Дарлингтон Транзистору деп аталат, бул биздин муктаждыктарыбызды канааттандыруу үчүн агымыбызды жогорулатууга жардам бере турган, өтө жогорку токко ээ болгон транзисторлор жубу.

Келгиле, адегенде учурдагы киреше жөнүндө көбүрөөк билели. Учурдагы пайда транзисторлордун менчиги, бул транзистордон өткөн токтун көбөйтүлүшүн билдирет жана анын теңдемеси мындай болот:

жүк агымы = киргизүү агымы * транзистордук киреше.

Бул Дарлингтон транзисторунда дагы күчтүү, анткени бул бир эмес, бир жуп транзистор жана алардын эффекттери бири -бири менен көбөйтүлүп, бизге учурдагы чоң кирешелерди берет.

Эми биз LED тилкесин тышкы энергия булагыбызга, транзисторго жана албетте PICOго туташтырабыз.

  • Негизги (транзистор) → D3 (PICO)
  • Коллектор (транзистор) → В (LED тилкеси)
  • Эмиттер (транзистор) → GND
  • +12 (LED тилкеси) → +12 (энергия булагы)

PICOнун GND'ин электр булактарына туташтырууну унутпаңыз

3 -кадам: RGB LED тилкесинин түстөрүн көзөмөлдөө

RGB LED тилкесинин түстөрүн көзөмөлдөө
RGB LED тилкесинин түстөрүн көзөмөлдөө
RGB LED тилкесинин түстөрүн көзөмөлдөө
RGB LED тилкесинин түстөрүн көзөмөлдөө
RGB LED тилкесинин түстөрүн көзөмөлдөө
RGB LED тилкесинин түстөрүн көзөмөлдөө

Биз билебиз, биздин PICO бир PWM пини (D3) бар, бул биздин 16 светодиодду жергиликтүү түрдө башкара албайт дегенди билдирет. Мына ошондуктан биз PCA9685 16 каналдуу PWM I2C модулун киргизип жатабыз, ал бизге PICOнун PWM казыктарын кеңейтүүгө мүмкүндүк берет.

Биринчиден, I2C деген эмне?

I2C - бул бир же бир нече түзмөк менен байланышуу үчүн 2 гана зымды камтыган байланыш протоколу, бул түзмөктүн дарегине кайрылып, кайсы маалыматтарды жөнөтүү керек.

Түзмөктөрдүн эки түрү бар: биринчиси - маалыматтарды жөнөтүү үчүн жооптуу болгон башкы түзүлүш, экинчиси - маалыматты кабыл алуучу кулдук түзмөк. Бул жерде PCA9685 модулунун төөнөгүчтөрү бар:

  • VCC → Бул тактанын күчү. 3-5v макс.
  • GND → Бул терс пин болуп саналат жана ал схеманы аягына чыгаруу үчүн GNDге туташышы керек.
  • V+ → Бул сиздин модулуңузга туташкан бирөө болсо, сервоприемниктерге энергия бере турган кошумча кубаткыч. Эгерде сиз кандайдыр бир сервоприёмду колдонбосоңуз, аны ажыратып койсоңуз болот.
  • SCL → Сериялык саат пин, жана биз аны PICOнун SCLине туташтырабыз.
  • SDA → Сериялык маалымат пин, жана биз аны PICOнун SDAсына туташтырабыз.
  • OE → чыгаруу иштетилген пин, бул пин LOW активдүү, пин төмөн болгон учурда бардык чыгуулар иштетилет, ал жогору болгондо бардык чыгымдар өчүрүлөт. Жана бул кошумча пин модулдун казыктарын тез иштетүү же өчүрүү үчүн колдонулат.

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

Эми биз модулубуздун казыктары жана ал эмне кыларын билебиз, аны PGBO PWM казыктарынын санын көбөйтүү үчүн колдонууга уруксат беребиз, ошондо биз RGB LED тилкесин башкара алабыз.

Биз бул модулду TIP122 транзисторлору менен бирге колдонобуз жана аларды PICOго кантип туташтыруу керек:

  • VCC (PCA9685) → VCC (PICO).
  • GND (PCA9685) → GND.
  • SDA (PCA9685) → D2 (PICO).
  • SCL (PCA9685) → D3 (PICO).
  • PWM 0 (PCA9685) → БАЗА (биринчи TIP122).
  • PWM 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ден башталат жана 0c жогору болгон ар бир даража үчүн чыңалуу 10мВга жогорулайт. Бул компонент абдан жөнөкөй жана болгону 3 буту бар жана алар төмөнкүчө туташкан:

  • VCC (LM35DZ) → VCC (PICO)
  • GND (LM35DZ) → GND (PICO)
  • Чыгаруу (LM35DZ) → A0 (PICO)

5 -кадам: Акыркы код

Акыркы код
Акыркы код
Акыркы код
Акыркы код

Эми бизде PICO менен байланышкан нерселердин бардыгы бар, аны LEDлер температурага жараша түсүн өзгөртүү үчүн программалоону баштайлы.

Бул үчүн бизге төмөнкүлөр керек:

A const. температура сенсорунан окуусун алган A0 мааниси бар "tempSensor" деп аталган өзгөрмө

Баштапкы мааниси 0 "sensorReading" деп аталган бүтүн өзгөрмө. Бул чийки сенсордун окуусун сактап калат

Баштапкы мааниси 0 "вольт" деп аталган калкыма өзгөрмөсү. Бул өзгөрүлгөн сенсордун чийки окуу маанисин вольтко сактап калат

Баштапкы мааниси 0 "temp" деп аталган калкыма өзгөрмөсү. Бул которулган сенсор вольттун көрсөткүчтөрүн сактап, аны температурага айландыруучу өзгөрмө

Баштапкы мааниси 0 болгон "картага түшүрүлгөн" бүтүн өзгөрмө. Бул биз температуранын өзгөрмөсүн картага алган PWM маанисин сактап калат жана бул өзгөрмө LED тилкесинин түсүн башкарат

Бул кодду колдонуп, PICO температура сенсорунун маалыматын окуйт, аны вольтко, андан кийин Цельсийге айландырат жана акыры Цельсий даражасын PWM маанисине картага түшүрөт, аны биздин LED тилкесибиз окуй алат жана дал ушул бизге керек.

6 -кадам: Сиз бүттүңүз

Image
Image

Биз ошондой эле LED тилкеси үчүн акрил идиш жасадык, ал жакшы турушу үчүн. CAD файлдарын бул жерден таба аласыз, эгерде сиз аларды жүктөгүңүз келсе.

Сизде азыр эң сонун көрүнгөн LED термометр бар, ал сизге температураны карасаңыз автоматтык түрдө айтат, бул эң аз дегенде айтуу үчүн абдан ыңгайлуу: P

Эгерде сизде кандайдыр бир сунуштар же сын -пикирлер болсо, комментарий калтырыңыз жана бизди фейсбуктан ээрчигенди же mellbell.cc баракчасына кирип, укмуштуудай мазмунга ээ болууну унутпаңыз.

Сунушталууда: