|
Stránka 1 z 1
|
[ Příspěvků: 15 ] |
|
Autor |
Zpráva |
Liptoor86
|
Napsal: sob 20.12.2014 14:38 |
|
Protřelejší uživatel
|
|
|
Registrován: 22.8.2011 Příspěvky: 129 Bydliště: Praha 5 Nové Butovice
|
Dobrý den. mám problém s arduinem. Sestavil jsem výškoměr s modulem BMP180 a zápisem na Micro SD card modul. Po přeinstalaci vývojového prostředí mi po zkompilování programu vypíše problém s chybějící knihovnou, když knihovnu nakopíruju do složky s knihovnami, vývojové prostředí i po zkompilování vypíše problém s nedostatkem operační paměti. Na jiném PC problém zmizel, ale objevil se problém s chybějící knihovnou n SD kartu. Prosím o rady, předem děkuji za odpovědi.
_________________ Auta: HPI E10 Drift ED, Mini Inferno, Mad Truck Quadry: QAV250, F450
|
|
Nahoru |
|
|
|
|
|
petrfm
|
Napsal: sob 20.12.2014 15:14 |
|
Mazák
|
|
|
Registrován: 21.6.2014 Příspěvky: 708 Bydliště: ČR Obrázky: 0
|
Jaky OS, jaky sketch tam do toho cpes? Jine sketche jdou do dane desky nahrat normalne? Treba blikani ledkou? Sel bych na to vylucovaci metodou.
_________________ DX8, DX6i || T-rex 600ESP, 500ESP FL, 450PRO, 450S || Algol, MaxiSwift
|
|
Nahoru |
|
|
Liptoor86
|
Napsal: sob 20.12.2014 15:56 |
|
Protřelejší uživatel
|
|
|
Registrován: 22.8.2011 Příspěvky: 129 Bydliště: Praha 5 Nové Butovice
|
OS Windows 7 64bt. sketch je napsaný v pořádku, ale jen v těch knihovnách a nedostatku paměti je problém
(Proram je psaný na Win XP)
#include <SD.h> /* * SD card pripojena na SPI: ** MOSI - pin 11 ** MISO - pin 12 ** CS - pin 4 **SCK pin 13 */ #include <SD.h> #include <SFE_BMP180.h> #include <Wire.h>
SFE_BMP180 BMP180;
int CS = 4; // chipselect SD karty
double vyska; double teplota; double ZakladniTlak; double tlak;
char Soubor[]="DATALOG.ARD"; // Nazev souboru na karte
File myFile; int led = 13; int pocitadlo;
void setup() { pinMode(led, OUTPUT); pinMode(CS, OUTPUT); digitalWrite(CS,LOW);
Wire.begin(); // Inicializace TWI
// Open serial communications and wait for port to open: Serial.begin(9600); while (!Serial) { // wait for serial port to connect. Needed for Leonardo only
}
Serial.print("Initializing SD card..."); // On the Ethernet Shield, CS is pin 4. It's set as an output by default. // Note that even if it's not used as the CS pin, the hardware SS pin // (10 on most Arduino boards, 53 on the Mega) must be left as an output // or the SD library functions will not work. // pinMode(10, OUTPUT);
//++++++++++++++++++++++++++++++++++++++++Inicializace SD if (!SD.begin(CS)) { digitalWrite(led, HIGH); Serial.println("initialization failed!"); return; } //Serial.println("initialization done.");
if (!SD.exists(Soubor)) { //Serial.println("DataLog.ard Neexists."); // zaloyit soubor //Serial.println("Creating DataLog.ard..."); myFile = SD.open(Soubor, FILE_WRITE); myFile.close(); }
// Check to see if the file exists: if (!SD.exists(Soubor)) { Serial.println("Soubor se nepodarilo zalozit"); return; } //++++++++++++++++++++++++++++++++++++++++ konec Inicializace SD
//++++++++++++++++++++++++++++++++++++++++Inicializace BMP180 myFile = SD.open(Soubor, FILE_WRITE); if (BMP180.begin()) //Serial.println("BMP180 init success"); myFile.println("Zápis proběhl v pořádku"); else { // Oops, something went wrong, this is usually a connection problem, // see the comments at the top of this sketch for the proper connections.
Serial.println("BMP180 init fail (disconnected?)\n\n"); while(1); // Pause forever. }
// Get the baseline pressure: getBMP180(); ZakladniTlak = tlak; //Tlak pri zapnuti cidla - bude povazovan za vysku 0m myFile.print("Základní tlak: "); myFile.print(tlak,1); myFile.println(" mb"); myFile.println("Čas Tlak Teplota Výška"); myFile.close(); //++++++++++++++++++++++++++++++++++++++++konec Inicializace ¨BMP 180 } void loop() { pocitadlo++; getBMP180(); myFile = SD.open(Soubor, FILE_WRITE); myFile.print(pocitadlo); myFile.print(" s "); myFile.print(tlak,2); myFile.print(" mb "); myFile.print(teplota,2); myFile.print(" ºC "); myFile.print(vyska,1); myFile.println(" m"); myFile.close(); delay (1000); }
void getBMP180() { char status; status = BMP180.startTemperature(); if (status != 0) { // Ceka na konec mereni delay(status);
// Retrieve the completed temperature measurement: // Note that the measurement is stored in the variable Teplota. // Function returns 1 if successful, 0 if failure.
status = BMP180.getTemperature(teplota); if (status != 0) { // Print out the measurement: Serial.print("temperature: "); Serial.print(teplota,2); Serial.println(" deg C, ");
// Start a pressure measurement: // The parameter is the oversampling setting, from 0 to 3 (highest res, longest wait). // If request is successful, the number of ms to wait is returned. // If request is unsuccessful, 0 is returned.
status = BMP180.startPressure(3); if (status != 0) { // Ceka na konec mereni delay(status);
// Zacatek mereni tlaku // Vysledek ulozen v promenne tlak // Mereni vyzaduje predchozi mereni teploty // Function returns 1 if successful, 0 if failure.
status = BMP180.getPressure(tlak,teplota); if (status != 0) { // Print out the measurement: Serial.print("absolute pressure: "); Serial.print(tlak,2); Serial.print(" mb, "); /*
// The pressure sensor returns abolute pressure, which varies with altitude. // To remove the effects of altitude, use the sealevel function and your current altitude. // This number is commonly used in weather reports. // Parameters: P = absolute pressure in mb, ALTITUDE = current altitude in m. // Result: p0 = sea-level compensated pressure in mb
p0 = pressure.sealevel(P,ALTITUDE); // we're at 1655 meters (Boulder, CO) Serial.print("relative (sea-level) pressure: "); Serial.print(p0,2); Serial.print(" mb, "); Serial.print(p0*0.0295333727,2); Serial.println(" inHg"); */ // On the other hand, if you want to determine your altitude from the pressure reading, // use the altitude function along with a baseline pressure (sea-level or other). // Parameters: P = absolute pressure in mb, p0 = baseline pressure in mb. // Result: a = altitude in m.
vyska = BMP180.altitude(tlak,ZakladniTlak); Serial.print("relativni vyska: "); Serial.print(vyska,1); Serial.print(" meters, ");
} else Serial.println("error retrieving pressure measurement\n"); } else Serial.println("error starting pressure measurement\n"); } else Serial.println("error retrieving temperature measurement\n"); } else Serial.println("error starting temperature measurement\n"); }
_________________ Auta: HPI E10 Drift ED, Mini Inferno, Mad Truck Quadry: QAV250, F450
|
|
Nahoru |
|
|
petrfm
|
Napsal: sob 20.12.2014 16:11 |
|
Mazák
|
|
|
Registrován: 21.6.2014 Příspěvky: 708 Bydliště: ČR Obrázky: 0
|
Jeste uved, jake je to arduino, s jakym procesorem, SD knihovna je docela slusne narocna na pamet. Ten nedostatek pameti ti to hlasi kde? Pamet RAM pocitace, nebo procesoru arduina? Nejak to z toho popisu nemuzu zjistit
_________________ DX8, DX6i || T-rex 600ESP, 500ESP FL, 450PRO, 450S || Algol, MaxiSwift
|
|
Nahoru |
|
|
Liptoor86
|
Napsal: sob 20.12.2014 16:25 |
|
Protřelejší uživatel
|
|
|
Registrován: 22.8.2011 Příspěvky: 129 Bydliště: Praha 5 Nové Butovice
|
Arduino Nano ATmega 328. Vypisuje to problém s PC operační pamětí, ale je to divné protože činí 8 Gb. Problém s nedostatkem RAM je jen po přidání knihovny BMP180
_________________ Auta: HPI E10 Drift ED, Mini Inferno, Mad Truck Quadry: QAV250, F450
|
|
Nahoru |
|
|
petrfm
|
Napsal: sob 20.12.2014 17:20 |
|
Mazák
|
|
|
Registrován: 21.6.2014 Příspěvky: 708 Bydliště: ČR Obrázky: 0
|
OK, to meni situaci. Na jinem PC to teda bezi? Mas posledni ide? spravne zvoleny typ desky? Odkud mas tu knihovnu? Je nejaky odkaz? Mas ji umistenou spravne? To proste vypada, ze se podela IDE, kdyz to kompilujes.
Kde se vypise ta chybejici pamet? Ta aplikace pri tom zhavaruje, nebo se to objevi ve stavovem okne?
_________________ DX8, DX6i || T-rex 600ESP, 500ESP FL, 450PRO, 450S || Algol, MaxiSwift
|
|
Nahoru |
|
|
Liptoor86
|
Napsal: sob 20.12.2014 17:40 |
|
Protřelejší uživatel
|
|
|
Registrován: 22.8.2011 Příspěvky: 129 Bydliště: Praha 5 Nové Butovice
|
Chyba se vypíše dole ve stavovem okne jakmile nechám zkontrolovat ,jinak je již 2 nainstalona znova a program pouze vypíše error a program normálně funguje knihovna je stažena https://learn.sparkfun.com/tutorials/bm ... no-libraryDeska je navolena správně na xp se to nahrálo do arduina normálně ale ted to nejsem schopný upravit .
_________________ Auta: HPI E10 Drift ED, Mini Inferno, Mad Truck Quadry: QAV250, F450
|
|
Nahoru |
|
|
Amper
|
Napsal: sob 20.12.2014 18:12 |
|
Mazák
|
|
Registrován: 30.8.2011 Příspěvky: 5331 Bydliště: Plzeň, CZ Obrázky: 0
|
Posli screenshot nebo to vykopiruj at vime o jakou chybu se jedna
_________________ coptery@FrSky X9E, 3.4m Go-3,EPP Spartan,SkySurfX8,SE.5,MPX Extra 300s@Jeti DC-16
|
|
Nahoru |
|
|
Liptoor86
|
Napsal: sob 20.12.2014 18:37 |
|
Protřelejší uživatel
|
|
|
Registrován: 22.8.2011 Příspěvky: 129 Bydliště: Praha 5 Nové Butovice
|
] Příloha:
Arduino.png [ 255.28 KiB | Zobrazeno 4804 krát ]
tady
Přílohy: |
Arduino.jpg [ 60.13 KiB | Zobrazeno 4801 krát ]
|
Výstřižek.JPG [ 54.51 KiB | Zobrazeno 4796 krát ]
|
|
_________________ Auta: HPI E10 Drift ED, Mini Inferno, Mad Truck Quadry: QAV250, F450
|
|
Nahoru |
|
|
Liptoor86
|
Napsal: sob 20.12.2014 19:00 |
|
Protřelejší uživatel
|
|
|
Registrován: 22.8.2011 Příspěvky: 129 Bydliště: Praha 5 Nové Butovice
|
Screen je špatně čitelný ,tady chybové hlášení
Mereni Vysky_cas.ino:11:24:fatal error:SFE_180.h:No such file or directory compilation terminated Chyba kompilace
_________________ Auta: HPI E10 Drift ED, Mini Inferno, Mad Truck Quadry: QAV250, F450
|
|
Nahoru |
|
|
petrfm
|
Napsal: sob 20.12.2014 20:09 |
|
Mazák
|
|
|
Registrován: 21.6.2014 Příspěvky: 708 Bydliště: ČR Obrázky: 0
|
Podle mne tam mas neco nekam spatne nakopirovane. To mereni vysky je nejaky sketch, co jsi stahnul, nebo jsi to psal ty podle nejakeho clanku nekde? Obvykle byva ke sketchi vsechno pribaleno, vcetne knihoven.
_________________ DX8, DX6i || T-rex 600ESP, 500ESP FL, 450PRO, 450S || Algol, MaxiSwift
|
|
Nahoru |
|
|
Drondys
|
Napsal: ned 21.12.2014 21:45 |
|
Mazák
|
|
|
Registrován: 22.2.2010 Příspěvky: 11876 Bydliště: ČR Obrázky: 1
|
petrfm píše: Podle mne tam mas neco nekam spatne nakopirovane. Přesně tak. V adresáří kde je nainstalované vývojové prostředí pro Arduino má být podadresář libraries (pozn. neplést s podadresářem lib, protože ten je na něco jiného). V podadresáři libraries má být podadresář SFE_BMP180 a v něm soubory SFE_BMP180.h ke stažení viz tento odkaz, SFE_BMP180.cpp ke stažení viz tento odkaz a keywords.txt ke stažení viz tento odkaz. Ve Windows 7 adresář kde je to nainstalováno obvykle nebývá běžně dostupný pro zápis dokonce ani když má uživatel práva admina a k zápisu bývá potřeba vyšší stupeň oprávnění tzv. super admin. Pro správné oprávnění by měl být jednak přihlášen k účtu s oprávněním administrátora a navíc spustit souborový manažer např. Průzkumníka výběrem položky "Spustit jako správce" ze zobrazeného plovoucího menu přes pravé tlačítko myši po kliknutí na ikoně Průzkumníka. Teprve pak by měl mít Průzkumník právo "super admin", při kterém by mělo jít kopírovat soubory do zmíněného podadresáře. Tu knihovnu se tam nejspíš pokoušel doplňovat s nevhodným oprávněním k zápisu a pak je možné, že se to tam vůbec nezapsalo. Navíc v tom opisu hlášení se zřejmě spletl. Předpokládám, že namísto "fatal error:SFE_180.h" to vypisuje "fatal error:SFE_BMP180.h", protože SFE_180.h nikde ve zdrojáku deklarováno nemá.
|
|
Nahoru |
|
|
ross4435897
|
Napsal: pon 22.12.2014 16:56 |
|
Zkušený debatér
|
|
|
Registrován: 24.10.2010 Příspěvky: 328 Bydliště: Brno
|
podle me spatne nakopcena knihovna ...
|
|
Nahoru |
|
|
Amper
|
Napsal: pon 22.12.2014 19:25 |
|
Mazák
|
|
Registrován: 30.8.2011 Příspěvky: 5331 Bydliště: Plzeň, CZ Obrázky: 0
|
k libraries - je zminim ze cesta na Libraries se da menit, je to v preferences a napr. u navodu na build MegaPirate se to pouzivalo. Proste se Arduino poslalo do Libraries kde byly veci nutne pro MegaPirate. Proto je vhodne zkontrolovat kam IDE smeruje. Dalsi moznost je proste naimportovat knihovnu znova podle navodu zde : http://arduino.cc/en/Guide/Libraries
_________________ coptery@FrSky X9E, 3.4m Go-3,EPP Spartan,SkySurfX8,SE.5,MPX Extra 300s@Jeti DC-16
|
|
Nahoru |
|
|
sobi
|
Napsal: pon 22.12.2014 21:13 |
|
Mazák
|
|
|
Registrován: 31.7.2012 Příspěvky: 564
|
Ten program je kompilovateľný, len máš asi zlú knižnicu pre BMP180 v libraries - tá z tvojho programu má mať názov SFE_BMP180 a nie napr. BMP180. Knižnicu prikladám, u mňa na win7 je v adresári c:\Users\<win_user>\Documents\Arduino\libraries\SFE_BMP180
svoju cestu "c:\Users\<win_user>\Documents\Arduino" máš v menu -> File -> Preferences -> Sketchbook location
|
|
Nahoru |
|
|
|
Stránka 1 z 1
|
[ Příspěvků: 15 ] |
|
Kdo je online |
Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 15 návštevníků |
|
Nemůžete zakládat nová témata v tomto fóru Nemůžete odpovídat v tomto fóru Nemůžete upravovat své příspěvky v tomto fóru Nemůžete mazat své příspěvky v tomto fóru Nemůžete přikládat soubory v tomto fóru
|
|
|