Ilmajaam

Tõenäoliselt on tegemist ühe lihtsaima Arduino-projektiga üldse inimesele, kes igapäevalselt teemaga kokku puutub. Minu jaoks on alljärgnev endiselt pigem elevust tekitav, sest olen enda vastu aus – minu teadmised tarkvaraarendamisest on piisavalt napid selleks, et ise toimiv kood valmis kirjutada ning see kõige esimene baseerub väga suures osas kellegi teise tööl ning näidetel. See ei vähenda aga asjaajamise väärtust ning mis kõige tähtsam – see kohmakas hunnik juhtmeid täiesti toimib.

Ma rõhutan õpilastele iganädalaselt seda, kui õnnelikul ajal nad saavad koolis käia – tehnoloogiaõpetuse tund pakub neile võimalusi ehitada ja töötada projektide kallal, millest mina võisin ainult väga hea kujutlusvõime korral und näha. Olemas on kõik alates juhenditest Google-is kuni veebikaubamajadeni Hiinas, mis ainult kutsuvad ehitama asju, mis võivad ja kindlasti on ühel hetkel õpilastele aluseks millelegi suurele ja tähtsale. Mina õpetajana püüan olla parim suunaja, kellele võib tulevikus saata mälestuseks vaid tüki Kuu pinnalt kaasa toodud kivist.

Siinkohal kirjeldatud ilmajaama juhend ja koodinäited on inglise keelsena leitav kenasti Instructables.com lehelt, kus kasutaja SomnathB4 on kenasti kogu protsessi lahti kirjutanud. Pisikesi mugandusi siiski oli vaja sisse viia.

Ilmajaama tööpõhimõte on lihtne – sensor registreerib õhutemperatuuri ja õhuniiskuse ning vastavaid väärtusi kuvatakse LCD ekraanil. Vea korral kuvatakse teade, mis ütleb, et andmeid ei õnnestunud kuvada.

Vajaminevad osad

  1. Arduino UNO (kasutusel Hiina kloon) – $2.91
  2. DHT22 temperatuuri ja niiskuse sensor – $4.94
  3. 20×4 LCD ekraan ja l2c shield (PCF 8585) – $7.09
  4. 10K takisti – $3.13
  5. Mõned isane-isane, emane-emane kaablid  – $2.37
  6. Jootevaba arendusplaat – $2.38
  7. Toide (valikuline) – $2.30

Takistid, kaablid on hulgihinnaga ja tükihind on tegelikult olematu.

Ühendused

  1. lc2 shield ühendamine ekraaniga. Ainus koht, kus vaja läheb veidi jootmist (tõe huvides aitas siin sõber Alo). Paigutamine on lihtne, tuleb vaid nõelad aukudega kohakuti sättida
  2. l2c shield -> Arduino
  • SCL A5
  • SDA A4
  • GND GND
  • VCC +5V
  1. DHT 22 sensori ühendamine

DHT pinnide lugemine algab eest vasakult

  • Pin 1: VCC -> +5V
  • Pin 2: Data -> Pin 2 Arduinol. Lisaks ühenda 10K oomine takisti Pin 1 ja Pin 2 vahele
  • Pin 3: ühenduseta
  • Pin 4: GND -> GND

Kood

Arduino IDE algses juhendis oli versiooniga 1.6.7, minu puhul oli selleks 1.8.2 ja jooksutamas Mac OS X Sierra, mis tõi esile esimese probleemi. Nimelt ei suutnud arvuti tuvastada, et kuskil on üks Arduino, mis on ühendatud USB-porti (õigemini on viga pigem kiibis, mida kasutavad odavad Arduino kloonid).

Probleemi lahendas draiverid ch340g-ch34g-ch34x-mac-os-x-driver (GitHubi link). Seejuures jätsin ära juhendis märgitud osa, mis puudutas vanade draiverite eemaldamist. Peale paigaldamist ja arvuti taaskäivitamist oli ka USB-porti ühendatud Arduino kendasti nähtav.

Edasi library, mille abil ekraan ellu äratada – NewLiquidCrystal (Bitbucket link, versioon 1.3.4 koostamise hetkel).

Järgmine samm on l2c shieldi aadressi leidmine, kasutades selleks l2c skännerit (GitHub link) ja Serial Monitori Arduino IDE pealt. Mõistlik on aadress (number kujul 0x27 näiteks) üles märkida hilisemaks.

Sensori toimimiseks on vaja lisada veel üks library – DHT library (GitHub link).

Lisaks paigaldasin järgmised library-d, mis aitasid mul üle saada reast veateadetest:

Peale vajalike library-te paigaldamist ja kõik riistvaralised ühendused on olemas, on suurem osa tööst tehtud. Mõned variatsioonid siiski

  1. Kui kasutusel on sensor DHT 11, siis koodis muuta ära ka #define DHTTYPE DHT11
  2. Kui I2C aadress on muutunud, muuda #define I2C_ADDR (uus aadress)
  3. Kui kasutusel on väiksem (16×2 ekraan), muuda lcd.begin (16,2) ja muuda kursori positsiooniks lcd.setCursor (0,0)

Tagaside ja kokkuvõte

Erinevatel põhjustel, mis tulenesid minu olematutest teadmistest antud valdkonnas (Arduino) võttis toimiva lahenduse tööle saamine ajaliselt ca 3 tundi pusimist. Jooksev kood on iseenesest arusaadav ning väga kergesti on võimalik ekraanil kuvatavat teksti kohendada endale sobivamaks (eesti keelseks, eemaldada Fahrenheiti skaala, tervitustekst jms). Kahjuks ei ole ma leidnud veel head viisi ekraaniheleduse korrigeerimiseks, mis hetkel jätab mulle valiku kas taustavalgustuseta ekraanist (loetamatu tekst) või taustavalgustusega ekraan (loetav teatud nurga alt vaadates).

Removing your page from Google’s search results

Dealing with different websites from time to time is fun, challenging and … risky. And at this very moment I mean a risk to publish some client’s content by accident. Finally, it has happened to me too.

When I was back in high school, there was no giant named Google. There was Google but really no one ever mentioned it in the same sentence with internet (OT: Wikipedia article about Google is a nice reading). And now, years later, every kid knows that if a web page is online, it’s in the Google as well.

Sometimes still, we do not need that to be happen. Or if it has happened, we would like to turn back time as fast as we possibly could. In my case I needed to remove hundreds of names and email addresses from it’s search results.

At first place I thought its much easier to dig an hole through the Earth than ask Google to remove one page from their search. I was deeply wrong about that. Google is offering us a very nifty tool called Website Removal tool. Using it is dead simple – button called “New removal request” calls a pop-up where you need to enter the URL that you’d like to remove, check that the page is already blocked by its administrator and wait for few hours to be proceeded by Google. Yes, you should block your site or page before using this tool, unless you’re going to use that tool again or you’ll receive message from Google that your request has been denied.

Shortly, that’s the simplest way and it worked for me. There are trickiest cases too, described on the manual page for the Webmaster Tools. Read it before starting and you should be achieving some results quite shortly.