Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Laitealue => Aiheen aloitti: welmar - 28.12.14 - klo:15.45

Otsikko: arduino
Kirjoitti: 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?
Otsikko: Vs: arduino DHT-kosteusmittari
Kirjoitti: kamara - 28.12.14 - klo:19.01
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:
Koodia: [Valitse]
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:
Koodia: [Valitse]
#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.
Otsikko: Vs: arduino
Kirjoitti: welmar - 28.12.14 - klo:20.09
Ei nyt vain onnistu. 
Koodia: [Valitse]
[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
Koodia: [Valitse]
dhtkoe.ino:1:17: fatal error: DHT.h: No such file or directory
compilation terminated.
vastaukseksi.
Otsikko: Vs: arduino DHT-kosteusmittari
Kirjoitti: kamara - 28.12.14 - klo:20.15
Ei nyt vain onnistu.
Joo olisi toi $user pitänyt huutaa...

Toimiiko tämä?
Koodia: [Valitse]
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:
Koodia: [Valitse]
#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.
Otsikko: Vs: arduino
Kirjoitti: welmar - 28.12.14 - klo:20.19
Askelen verran eteenpäin
Koodia: [Valitse]
[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
Otsikko: Vs: arduino
Kirjoitti: kamara - 28.12.14 - klo:20.24
Askelen verran eteenpäin
Koodia: [Valitse]
[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 ?

Koodia: [Valitse]
ls -l /home/welmar/sketchbook
ls -l /home/welmar/sketchbook/libraries
ls -l /home/welmar/sketchbook/libraries/DHT
Otsikko: Vs: arduino
Kirjoitti: welmar - 28.12.14 - klo:20.34
Koodia: [Valitse]
[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
Otsikko: Vs: arduino
Kirjoitti: kamara - 28.12.14 - klo:20.49
Koodia: [Valitse]
sudo chown welmar:welmar /home/welmar/sketchbook/libraries/DHT

sen jälkeen...
Kopioi alla olevat liitteet kansioon... /home/welmar/sketchbook/libraries/DHT
Otsikko: Vs: arduino
Kirjoitti: kamara - 28.12.14 - klo:20.56
Sen jälkeen...
Koodia: [Valitse]
cd /home/welmar/sketchbook/libraries/DHT
gunzip *.gz
Otsikko: Vs: arduino
Kirjoitti: welmar - 28.12.14 - klo:21.27
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.
Otsikko: Vs: arduino
Kirjoitti: kamara - 28.12.14 - klo:21.37
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

Otsikko: Vs: arduino
Kirjoitti: welmar - 29.12.14 - klo:11.20
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
Koodia: [Valitse]
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ä.
Otsikko: Vs: arduino
Kirjoitti: kamara - 29.12.14 - klo:11.36
Mitä antaa seuraava ?
Koodia: [Valitse]
ls -l /home/welmar/sketchbook/libraries/DHT

Edit - Ja antaako minun antamani ohjelma saman virheilmoituksen ? Pitäisi antaa...
Otsikko: Vs: arduino
Kirjoitti: welmar - 29.12.14 - klo:12.01
Ei tule virheilmoituksia
Koodia: [Valitse]
[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.
Otsikko: Vs: arduino
Kirjoitti: kamara - 29.12.14 - klo:12.08
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ä:
Koodia: [Valitse]
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

Otsikko: Vs: arduino
Kirjoitti: kamara - 29.12.14 - klo:13.10
Sen laittaminen oikeaan hakemistoon saattaa mennä näin:
Koodia: [Valitse]
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...
Otsikko: Vs: arduino
Kirjoitti: welmar - 29.12.14 - klo:15.31
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.