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 saan dhtkoe.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.