Ubuntu Suomen keskustelualueet
		Ubuntun käyttö => Laitealue => Aiheen aloitti: welmar - 28.12.14 - klo:15.45
		
			
			- 
				Olen arduinon kanssa ihan aloittelija mutta osaan nyt sentään esimekkikoodit laittaa sisälle ja muokata niitä. Dht11 lämpö/kosteusmittaria en ole kuitenkaan saanut toimimaan moniakin eri kirjastoja on netissä mutta mikään ei ole toiminut. Yleensä ne on ollut zip filenä mutta miten saan esim. nämä mitkä löytyy täältä http://www.instructables.com/id/Automatic-Vent-Control/ käyttöön? Ei ainakaan onnistunut kun tallensin /sketchbook/libaries hakemistoon. Xubuntu 14.10 ja Fedora 21 olis käytös. Mieluimmin käyttäisin Eclipse ja avr pluginia mutta onnistuuko sillä suoraan arduinon ohjelmointi vai onko parempi odottaa kunnes posti tuo kiinasta usb-isp:n?
			
- 
				Aluksi asenna arduino ja arduino-core-paketit, mikäli et ole vielä niin tehnyt.
 Käynnistä arduino ohjelmointiympäristö: Lubuntussa: Valikko->Ohjelmointi->Arduino IDE
 Sammuta kyseinen IDE
 
 Cut and Paste menetelmällä sain seuraavaa aikaan...
 Ensiksi lataa DHT.h ja DHT.cpp
 Ilmeisestikin täältä:
 https://github.com/adafruit/DHT-sensor-library
 
 Siirrä ne sketchbook:n kirjastohakemistoon eli päätteellä saattaa onnistua seuraava:
 mkdir /home/$user/sketchbook/libraries/DHT
 cp /home/$user/Lataukset/DHT.* /home/$user/sketchbook/libraries/DHT/.
 cp /home/$user/Lataukset/README.txt /home/$user/sketchbook/libraries/DHT/.
 
 Käynnistä Arduino IDE.
 CTRL+N
 Kopioi alla oleva koodi kyseiseen laatikkoon:
 #include "DHT.h"
 #define DHTPIN 8
 #define DHTTYPE DHT11
 DHT dht(DHTPIN, DHTTYPE);
 void setup() {
 Serial.begin(9600);
 dht.begin();
 }
 float h = dht.readHumidity();
 float t = dht.readTemperature();
 void loop() {
 h = dht.readHumidity();
 t = dht.readTemperature();
 if (isnan(t) || isnan(h)) {
 Serial.println("Ei löydä kosteus-/lampomittaria. :(");
 }
 else {
 Serial.print("Kosteus=");
 Serial.println(h);
 Serial.print("Lampotila=");
 Serial.println(t);
 delay(500);
 }
 }
 
Lähde: http://www.geeetech.com/wiki/index.php/Electric_thermometer_by_using_DHT11_sensor_module
 
 Sitten tallenna nimellä File->Save As ja nimeksi vaikka:
 dhtKoe
 CTRL+R
 Jos ei virheitä, niin CTRL+U.
 
 En vastaa, jos kosteus/lämpömittarisi, tietokoneesi tai Arduinosi hajoaa.
 
 Enkä vastaa mistään muustakaan, mitä koodilla teet.
 
 Jos toimii, niin serialmonitoriin tulee tiedot kosteudesta ja lämpötilasta.
 
 Edit - Ainakin itselläni koodi kääntyy, mutta en tiedä toimiiko, kun en omista kyseistä DHT-mittaria.
 Mutta kun se kerran kääntyy, niin sittenhän se toimii.  :P
 
 Edit 2 - Dht:n datapinni pitää kytkeä DATA8:aan (tai data 9:ään tai johonkin muuhun. Sen määrittää #define DHTPIN 8 ).
 
 Edit 3 - Modet vois laittaa tämän Ohjelmointiin ja muuhun edistyneempiin käyttöihin. Kiitos ja anteeksi.
- 
				Ei nyt vain onnistu.  [root@localhost welmar]# mkdir /home/$user/sketchbook/libraries/DHT
 mkdir: hakemiston ”/home//sketchbook/libraries/DHT” luominen ei onnistu: Tiedostoa tai hakemistoa ei ole
 
Copy/pastella otin täältä https://github.com/adafruit/DHT-sensor-library/blob/master/DHT.h  ja laitoin /sketchbook/libraries/DHT/  alle DHT kansion loin siis itse. Tallentaminen onnistuu mutta pitäisikö olla /sketchbook/libraries/DHT/ ,/sketchbook/libraries/ vai /sketchbook/ paikassa. Oli missä oli niin aina saandhtkoe.ino:1:17: fatal error: DHT.h: No such file or directory
 compilation terminated.
vastaukseksi.
- 
				Ei nyt vain onnistu. 
 
 Joo olisi toi $user pitänyt huutaa...
 
 Toimiiko tämä?
 mkdir /home/$USER/sketchbook/libraries/DHT
 cp /home/$USER/Lataukset/DHT.* /home/$USER/sketchbook/libraries/DHT/.
 cp /home/$USER/Lataukset/README.txt /home/$USER/sketchbook/libraries/DHT/.
 
 Käynnistä Arduino IDE.
 CTRL+N
 Kopioi alla oleva koodi kyseiseen laatikkoon:
 #include "DHT.h"
 #define DHTPIN 8
 #define DHTTYPE DHT11
 DHT dht(DHTPIN, DHTTYPE);
 void setup() {
 Serial.begin(9600);
 dht.begin();
 }
 float h = dht.readHumidity();
 float t = dht.readTemperature();
 void loop() {
 h = dht.readHumidity();
 t = dht.readTemperature();
 if (isnan(t) || isnan(h)) {
 Serial.println("Ei löydä kosteus-/lampomittaria. :(");
 }
 else {
 Serial.print("Kosteus=");
 Serial.println(h);
 Serial.print("Lampotila=");
 Serial.println(t);
 delay(500);
 }
 }
 
Lähde: http://www.geeetech.com/wiki/index.php/Electric_thermometer_by_using_DHT11_sensor_module
 
 Sitten tallenna nimellä File->Save As ja nimeksi vaikka:
 dhtKoe
 CTRL+R
 Jos ei virheitä, niin CTRL+U.
 
- 
				Askelen verran eteenpäin [root@localhost welmar]# mkdir /home/$USER/sketchbook/libraries/DHT
 [root@localhost welmar]# cp /home/$USER/Lataukset/DHT.* /home/$USER/sketchbook/libraries/DHT/.
 cp: tiedoston ”/home/welmar/Lataukset/DHT.*” tilaa ei voi lukea: Tiedostoa tai hakemistoa ei ole
 
- 
				Askelen verran eteenpäin [root@localhost welmar]# mkdir /home/$USER/sketchbook/libraries/DHT
 [root@localhost welmar]# cp /home/$USER/Lataukset/DHT.* /home/$USER/sketchbook/libraries/DHT/.
 cp: tiedoston ”/home/welmar/Lataukset/DHT.*” tilaa ei voi lukea: Tiedostoa tai hakemistoa ei ole
 
 
 Älä tee sitä roottina.
 
 Noi DHT-tiedostot löytyy...
 
 https://github.com/adafruit/DHT-sensor-library
 
 Oletan, että lataat ne Lataukset-kansioon, mutta lataat ilmeisemminkin johonkin muuhun kansioon.
 
 Edit - Mitä sulla näyttää seuraavat käskyt ?
 
 ls -l /home/welmar/sketchbook
 ls -l /home/welmar/sketchbook/libraries
 ls -l /home/welmar/sketchbook/libraries/DHT
 
- 
				[welmar@localhost ~]$ ls -l /home/welmar/sketchbook
 yhteensä 0
 drwxrwxr-x. 1 welmar welmar 26 28.12. 20:28 libraries
 [welmar@localhost ~]$ ls -l /home/welmar/sketchbook/libraries
 yhteensä 4
 drwxr-xr-x. 1 root   root    0 28.12. 20:28 DHT
 -rw-rw-r--. 1 welmar welmar 83 28.12. 19:25 readme.txt
 [welmar@localhost ~]$ ls -l /home/welmar/sketchbook/libraries/DHT
 yhteensä 0
 
- 
				sudo chown welmar:welmar /home/welmar/sketchbook/libraries/DHT
 
 sen jälkeen...
 Kopioi alla olevat liitteet kansioon... /home/welmar/sketchbook/libraries/DHT
- 
				Sen jälkeen...
 cd /home/welmar/sketchbook/libraries/DHT
 gunzip *.gz
 
- 
				Kiitos! Nyt ainakin Sketch>import libary alta löytyy DHT ja #include DHT ilmestyy sitä painamalla. Huomiseen menee kun kokeilen toimintaa tänään katson töllöä loppuillan. Aikaisemmin sen vähän mitä olen mikrokontroleilla leikkinyt on ollut Atmel Studiolla joten toi Arduinon IDE vaikuttaa tosi kököltä mutta sitten kun saan usbisp kiinasta niin ajattelin kokeilla Eclipseä mikä ainakin näytti kivalta.
			
- 
				Aikaisemmin sen vähän mitä olen mikrokontroleilla leikkinyt on ollut Atmel Studiolla joten toi Arduinon IDE vaikuttaa tosi kököltä mutta sitten kun saan usbisp kiinasta niin ajattelin kokeilla Eclipseä mikä ainakin näytti kivalta.
 
 
 Mä olen leikkinyt mikrokontrollereja Ainolla, ja siihen nähden Arduinon IDE on todella kätevä (Tosin Arduinot ovat todella kalliita PIC16F84:een nähden):
 https://code.google.com/p/aino/wiki/Aino
 
 
- 
				Eilisten ohjeiden mukaan sain koodin sisään ilman virheilmoituksia mutta serial monitoriin ei tule mitään tulostusta. Olen kokeillut muuttaa koodia pinnien osalta ja eri pinnejäilman vaikutusta. Nyt olen yrittänyt tehdä näin welmar@localhost ~]$ cd sketchbook/libraries/DHT
 [welmar@localhost DHT]$ wget https://github.com/adafruit/DHT-sensor-library/archive/master.zip
 --2014-12-29 10:42:35--  https://github.com/adafruit/DHT-sensor-library/archive/master.zip
 Selvitetään osoitetta github.com (github.com)... 192.30.252.131
 Yhdistetään palvelimeen github.com (github.com)|192.30.252.131|:443... yhdistetty.
 HTTP-pyyntö lähetetty, odotetaan vastausta... 302 Found
 Sijainti: https://codeload.github.com/adafruit/DHT-sensor-library/zip/master [seurataan]
 --2014-12-29 10:42:36--  https://codeload.github.com/adafruit/DHT-sensor-library/zip/master
 Selvitetään osoitetta codeload.github.com (codeload.github.com)... 192.30.252.145
 Yhdistetään palvelimeen codeload.github.com (codeload.github.com)|192.30.252.145|:443... yhdistetty.
 HTTP-pyyntö lähetetty, odotetaan vastausta... 200 OK
 Pituus: 4480 (4,4K) [application/zip]
 Tallennetaan kohteeseen ”master.zip”
 
 master.zip          100%[=====================>]   4,38K  24,1KB/s   kohteessa 0,2s
 
 2014-12-29 10:42:38 (24,1 KB/s) - ”master.zip” tallennettu [4480/4480]
 
 [welmar@localhost DHT]$ ls
 FLGSQRUHOKSCTUA  master.zip
 [welmar@localhost DHT]$ unzip master.zip
 Archive:  master.zip
 fcd865b3bc734340d895668d2d939988ff1b88f7
 creating: DHT-sensor-library-master/
 inflating: DHT-sensor-library-master/DHT.cpp
 inflating: DHT-sensor-library-master/DHT.h
 inflating: DHT-sensor-library-master/README.txt
 creating: DHT-sensor-library-master/examples/
 creating: DHT-sensor-library-master/examples/DHTtester/
 inflating: DHT-sensor-library-master/examples/DHTtester/DHTtester.ino
 [welmar@localhost DHT]$ su
 Salasana:
 [root@localhost DHT]# chown welmar:welmar /home/welmar/sketchbook/libraries/DHT
 
ja näin olen saanut DHT File>examples>DHT>DHT-sensor-libary-master>DHTtester tiedoston jonka pitäisi kaiken järjen mukaan toimia mutta kääntäminen ei onnistu vaan saan taas valitusta ettei DHT.h tiedostoa ole. Mitä teen väärin? Minulla on kaksi kappaletta noita DHT11 olen kokeillut molempia. Laitan vielä kuvan kytkennöistä.
- 
				Mitä antaa seuraava ?
 ls -l /home/welmar/sketchbook/libraries/DHT
 
 Edit - Ja antaako minun antamani ohjelma saman virheilmoituksen ? Pitäisi antaa...
- 
				Ei tule virheilmoituksia [root@localhost DHT]# ls -l /home/welmar/sketchbook/libraries/DHT
 yhteensä 8
 drwxrwxr-x. 1 welmar welmar   60 26.7. 23:58 DHT-sensor-library-master
 drwxrwxr-x. 1 welmar welmar   38 29.12. 10:36 FLGSQRUHOKSCTUA
 -rw-rw-r--. 1 welmar welmar 4480 29.12. 10:42 master.zip
 
Mutta drwxrwxr-x. 1 welmar welmar   60 26.7. 23:58 DHT-sensor-library-master tämän nimi pitäis varmaan vaihtaa. Kokeilen sitä nyt.
 EDIT: ei auttanut vaikka vaihdoin nimen DHT:ksi.
- 
				Sulla ei ole edelleenkään DHT.h ja DHT.cpp tiedostoja/home/welmar/sketchbook/libraries/DHT -hakemistossa.
 
 Tämän pitäisi näyttää tältä:
 ls ~/sketchbook/libraries/DHT/ -l
 yhteensä 12
 -rw-rw-r-- 1 welmar welmar 3469 joulu 28 18:30 DHT.cpp
 -rw-rw-r-- 1 welmar welmar  742 joulu 28 18:31 DHT.h
 
 
- 
				Sen laittaminen oikeaan hakemistoon saattaa mennä näin:
 cd ~/sketchbook/libraries/DHT/.
 unzip master.zip
 mv DHT-sensor-library-master/DHT.* DHT-sensor-library-master/README.txt .
 rm -r DHT-sensor-library-master
 
 Omalla vastuullasi sitten...
- 
				Jep. Ei ollut ihan oikeassa paikassa vaan DHT:n alla vielä toinen DHT kansio. Siirsin sinne ja nyt tulee serialiin teksitä. Tosin vielä tällä hetkellä "Failed to read sensor" Pitää tarkistaa liitännät.
 EDIT: Nyt toimii :) Seuraavaksi LCD.