metshein.com

Arduino Pro Mini ja valguse mõõtmine

Selles postituses õpime kuidas kasutada Arduino Pro Mini valguse mõõtmisel. Täpsemalt öeldes mõõdame me valgustihedust (luks), mis näitab kui palju valgusvoogu (lm) langeb pinnaühikule (m2). Näiteks kui 1m2 langeb 1luumen, siis on pinna valgustihedus 1 luks. Orienteeruvad suurused:

  • 0,2lux – kuuvalgus väljas
  • 200lux – soovitav valgus ruumis olemiseks
  • 300-500lux – soovitav lugemiseks
  • 1500lux – vajalik peentöödeks
  • 10 000lux – päike talvisel päeval
  • 100 000lux – päike suvisel keskpäeval

Vajalikud komponendid

Loomulikult ei suuda Arduino Mini Pro ise valgust mõõta ja seepärast meil on vaja mõnda andurit ja ekraani tulemuse kuvamiseks.

Mis on Arduino Mini Pro

Mini Pro on Arduino arendusplaatide perekonna üks väiksemaid liikmeid.

Oma omaduste poolest ei jää ta kuidagi alla oma vanemale vennale Uno’le. Samuti on tal programmeeritav ATmega328P 16MHz protsessor, 32KB mälu jne. Oma väiksuse on ta saanud tänu USB sisendi kaotamisega.

Tabelit jälgides näeme, et võime toita seda kuni 12V pingega. Kuid siinkohal olla ettevaatlik, sest on olnud juhtumeid, kus 12V selle läbi kärsatab. Hoiame meie sisendpinge 5V ümber. Kui juba hoiatamiseks läks, siis ole tähelepanelik Pro Mini nõrgema kaksikvenna suhtes, sest too on varustatud ATmega168 protsessoriga ja kasutab vaid 3,3V.

Aduino Pro Mini programmeerimine

Kuna Arduino Pro Mini tuleb ilma USB liideseta, siis tuleb kuidagi sellele ligi pääseda, et oma kood sinna sokutada. Vaatame siinkohal kahte võimalust:

  1. FTDI adapter
  2. Arduino Uno

FTDI adapter ja ühendamine Pro Miniga

FTDI on ettevõte, mis on loonud FT232RL kivil baasil adapteri, mille abiga saad luua ühenduse ülemineku jadalt rööpsele (USB to UART). Valida on nö kaabel ja trükkplaadi versiooni.

Lisaks FTDI’le on turul ka näiteks Silicon Labs CP2102, Prolific Technologies PL2032HX jm. Kuna mul on FTDI trükkplaadi versioon pärit droonindusest, siis vaatame seda võimalust. Arduino Pro Mini programmeerimiseks ühenda juhtmed alljärgnevalt:

Pro Mini —> FTDI

BLK—>DTR
GND—>GND
VCC—>VCC
RXI—>TXO
TXO—>RXI

Ühenda FTDI adapter arvutiga ning esimest korda ühendamisel kannata ära draiverite paigaldamine. Windows 8 ja 10 peaks seda tegema automaatselt. Kui peaks mingi probleem olema, siis draiverid leiad siit: www.ftdichip.com/FTDrivers.htm 

Seejärel ava Arduino IDE programm ning Tools alt vali:

  • Board: Arduino Pro Mini
  • Processor: ATmega328 (5V,  16MHz)
  • Port: “COM5” (see võib erineda)

Ja testimiseks lae üles näiteks lihtne File>Example>01.Basics>Blink

Arduino Pro Mini programmeerimine Arduino Unoga

Kui FTDI adapterit pole, siis on võimalus Pro Mini programmeerida ka teise Arduino arendusplaadiga. Minul on käespärast Arduino Uno. Suurim erinevus FTDIga on, et kui enne ühendasime RX ja TX risti, siis siin on need otse ühendatud.

Pro Mini —> Uno

BLK—>RESET
GND—>GND
VCC—>5V
RXI—>RX
TXO—>TX

Seejärel ava Arduino IDE programm ning Tools alt vali:

  • Board: Arduino Pro Mini
  • Processor: ATmega328 (5V,  16MHz)
  • Port: “COM4” (see võib erineda)

Ja testimiseks lae üles näiteks lihtne File>Example>01.Basics>Blink

Valgussensori ja ekraani ühendamine

Anname siis Arduino Pro Minile tööd. Mõõdame valgustihedust ja kuvame selle mingil ekraanil.

BH1750 valgussensor

BH1750 on digitaalne valgussensor, mis suhtleb Arduinoga läbi I2C protokolli. Andurist saadav tulemus on luksides (lx) ja ei pea eraldi ümberarvutama. Mõõdetav vahemik 1-65535lx ning töötab 3.3-5V peal.

Arduino koodi kirjutades on meil vaja vastavat teeki, mille leiad siit: https://github.com/claws/BH1750. Lisamiseks Arduino IDE vali menüüst Sketch>Include Library>Add .ZIP Library…

128*32 OLED ekraan

Ekraaniks olen valinud 128*32 OLED LCD, mis töötab SPI või IIC liidesega ning töötab 3.3-5V peal.

Töötamiseks kasutame teeki: https://github.com/olikraus/u8g2

Ekraani ja valgussensori ühendamine Arduino Pro Miniga

Mõlemad laiendusplaadid ühendame Arduino SDA ja SCL porti. Kuna seadmed on erinevad, siis on nende füüsilised aadressid erinevad ning Arduino suudab neil vahet teha.

Kood

Kui oled mõlemad teegid programmi tõmmanud, siis loome uue projekti ja lisame need programmi algusesse. U8g2 teek töötab päris paljude ekraanidega. Kui kasutad mõnda muud ekraani, siis ava teegiga kaasa tulevad näited. Seal on nimekiri töötavate ekraanidega. Lisaks sellele kasutame fonti, mille suurus on 24. Erksama päeva puhul ei jää ruumi kuvamiseks ja sel juhul vali väiksem font. U8g2 teegi puhul järgi kindlasti dokumentatsiooni, et millised funtksioonid on võimalikud ja kuidas valida fonti.

Valmis 🙂

0 responses on "Arduino Pro Mini ja valguse mõõtmine"

Leave a Message