A két első prgramot, úgy koppintottam le a videókról .
Arduino 1.8.3 keretrendszerem van . van két programom , ami külön külön lefut.
Majd a kettőt egybeírtam és nem hajlandó lefordítani.
Itt a hibajelzés.
Nem használt . C: Program Files Arduinolibraries DHTlib exit status 1
Hiba az Arduino/Genunio Uno alaplapra fordításra
Első : ultrahangos távolságmérő , ami kiírja a távolságot lcd kijelzőre és van egy potenciométerrel állítható billenéspontja , ez egy komparátor .
/* lcd kijelző kombinálása az UH távmérővel és potival HY-SRF 05 vagy HC-SR04*/ /* FELSOROLÁS */ const int trigPin = 9 ; // trigerjel a 9. lábon const int echoPin = 10 ; // visszhang a 10. lábon long duration ; // tartam = időtartam int distanceCm ; // távolság centimeterben int sensorValue0 () ; // potenciometer értéke , amihez hasonlítok float sensorValue1 () ; // potenciometert osztottam 5-el így rövidebb lett a potiérték #include <LiquidCrystal.h> // include = tartalmaz rámutatunk az "lcd h fájlra " LiquidCrystal lcd(12, 11, 5, 4, 3, 2) ; // definiáljuk a h fájlnak melyik lábakat figyelje
/* DEKLARÁCIÓ */ void setup() { pinMode (trigPin , OUTPUT ) ; // trigerjel az csak kimenet lehet pinMode (echoPin , INPUT ) ; // visszhangjel csak bemenet lehet pinMode ( 13 , OUTPUT ) ; // ez csak a LEDPIN ha túl közelre vagyunk Serial.begin (9600) ; // ha plotterezni is akarok lcd.begin(16, 2); // kioktatjuk az oszlopok és sorok számáról lcd.clear (); } // töröljük a kijelzőt
void loop() { /* PROGRAM HUROK */ int sensorValue0 = analogRead(A0); // itt olvassa be a potit itt az alapjel float sensorValue1 = sensorValue0 / 5 ; // aztán elosztom a potijelet , hogy kisebb tartományt kapjak digitalWrite (trigPin , LOW) ; // trigerjelet leállítom delayMicroseconds (2 ) ; // várok 2 mikroszekundumot digitalWrite (trigPin , HIGH) ; // kezdem a trigerjelet adni delayMicroseconds (10 ) ; // várok 10 mikroszekundumot digitalWrite (trigPin , LOW) ; // leállítom a trigerjelet
duration = pulseIn (echoPin , HIGH) ; // távolság vége ECHO láb magasra vált distanceCm = duration * 0.034 / 2 ; // számolás hangsebesség /2 if (sensorValue1 > distanceCm ) // ha távolság kissebb , akkor LEDPIN gyullad { digitalWrite (13 , HIGH ) ; } // ha távolság kissebb , akkor LEDPIN gyullad else { digitalWrite (13 , LOW) ; } // kerülőág
Második: hőfok és páratartalom mérés DHT11 el. Ez már nem volt hajlandó működni .
Lemásoltam az Arduino_master könytárat, állítólag ez nagyon univerzális és benne van a DHT11 is.
Következő lépésben kitöröltem a a páratartalom sorokat és így már hajlandó volt lefordítani csak a hőmérés részét, ami működik is . kiírja a soros monitorra a hőmérsékletet. A felbontása 1 C-fok. Ha átírtam float-ra akkor is maradt az 1 C-fok.
void loop() { int readData = DHT.read11(dataPin); // data érték kiolvasása a szenzorból float t = DHT.temperature; // megkapjuk a hőmérséklet értéket float h 7 DHT.humadity; // megkapjuk a páratartalom értéket // EZ MÁR CSAK KÍRATÁS Serial.print (" hőmérséklet = "); Serial.print (t); Serial.print ("C páratartalom = "); Serial.print (t); // kényszerből ez is hőmérséklet Serial.println (" % "); delay (2000);
Itt mutatom az összegyúrtat, amit nem fordít le.
Az volt a célom , hogy mérje a hőmérsékletet DHT11 el és szintén a hőmérsékletet analóg módon , az (A1) analógbemenetre kötöttem egy 100Kohm NTK ellenállást egy 100 Kohmos sima ellenállással. A közepén akartam mérni a változást. Majd szerettem volna kiíratni lcd-re és soros monitorra egyaránt. ITT KAPTAM A FENT EMLÍTETT HIBAJELET.
#include <dht.h> // azt hiszem , hogy ez a hőmérő könyvtár #define dataPin 9 // ez a jelvezeték DHT-11 kimenete #include <LiquidChrystal.h> // rámutatunk az lcd könyvtárra LiquidCrystal lcd(12, 11, 5, 4, 3, 2) ; // definiáljuk a h fájlnak melyik lábakat figyelje#include <LiquidChrystal.h> dht DHT ; // létrehozzuk a DHT szenzorunkat int sensorValue1 () ; // NTK osztó float hofok_an () ; // amit a kijelzőn látok analóg értéknek
void setup() { Serial.begin (9600); lcd.begin(16, 2); // kioktatjuk az oszlopok és sorok számáról lcd.clear (); }
void loop() { float readData = DHT.read11(dataPin); // data érték kiolvasása a szenzorból float t = DHT.temperature; // megkapjuk a hőmérséklet értéket int sensorValue1 = analogRead(A1); // itt olvassa be az NTK jelét float hofok_an = sensorValue1 /5 ; // amit a kijelzőn látok analóg értéknek
// EZ MÁR CSAK KÍRATÁS MONITORRA Serial.print (" hőmérséklet DHT11 = "); Serial.print (t); Serial.print ("C *** hőmérséklet, analóg = "); Serial.print (hofok_an); Serial.println (" "); // EZ MÁR CSAK KÍRATÁS LCD KIJELZŐRE lcd.clear (); // kijelző törlése lcd.print("hofok DHT11 ") ; // string kiíratása , mint a turboban lcd.print( t) ; // hőmérséklet DHT11 kiíratása lcd.setCursor (0,1) ; // alsósorra ugrok lcd.print("hofok anal ") ; // strin kiírása lcd.print(hofok_an ) ; // hőmérséklet analóg kiírása delay (2000);
Szerintem ezek nem hosszú és bonyolult programok, és szintaktikai hibát nem találok benne.
Sajnos angolul nem tudok, de turbopascal-lal hobbi szinten sokat játszottam.
a keretrendszert a Program FileArduino - ba telepítettem.
Az Arduino_master könytárat,pedig "Ezekk özött van a DHTlib könytár is " C:Program FileArduinolibraries könyvtárba.
Programjaim pedig : C:Document and SettingvakpaliDokumentumokArduino könyvtárban vannak.
Mit ronthattam el.
Ha itt a hiba légyszi küldjétek el melyik könyvtáram hiányzik, és pontosan hava másoljam .
Lehetőleg egyszerűen , elég Hajnalka vagyok a témában!
Third, you can also adjust the speed of the ADC. By default the ADC is running at 1:128 of the MCU speed (mode #7). Each sample takes the ADC about 13 clock cycles to get processed. So by default we get 16Mhz/128/13=9846Hz sampling. If we want to sample at double the rate we can change the divider to be 64 instead.
Végüla programban a clock/32-es ADC órajelet javasolja, akkor az ADC konverzió 38,4 kHz-en történik - és ezzel kb egy 300 Hz-nek megfelelő periódusidejű kis ciklust fog egymás után beolbvasni (128 darab mérés), majd az amplitúdókból RMS átlagot számolni.
Szóval nekem a te általad linkelt programból ez hiányzik.
valaki magyarázza már el, hogy a mikrofon-modul felerősített váltófeszültségű jeléből hogyan lesz az A/D konverterrel értékelhető jelszint??
Ez a modul elvileg a Vcc/2 értékű (fél tápfeszültség körül változó jelet hoz létre. Én erre azt gondolnám, hogy a kimenő jelet egyenirányítani kellene, majd rátenni egy integráló tagot, mondjuk egy ellenállást egy kondival, amin kialakulnak egy, a jel amplitúdójával arányos egyenfeszültség, amit aztán tovább lehet mérni az A/D konverterrel. A leírásban erről szó sincs. Akkor meg?.
ezt a feladatot bármivel meg lehetne oldani, mert ha jól gondolom, az arduino végez egy A/D konverziót, és kiteszi az eredményt a LED-es kijelzőre. a azért mondtam a Nanot, mert az a legolcsóbb. Igen, egy adó egy vevő. Tulajdonképpen egy sima soros kommunikáció kellene a kettő közé, rámodulaálva a 433 MHz-ra. Lehet ezt variálni, hogy nem csak az adatot küdöd, hanem előtte egy azonosítót, stb stb.
minthogy itt csak egyirabyú kommunikáció kell, nem lenne egyszerűbb a mosodik minrofknt egy arduino namoval dekodolni (digitalizalni), majd Az redmenyt egy 433mhz-es adobal atkuldeni, a kijelzo oldalion csak egy 433mhz vebvo kell. nem mulnak rajta emberi eletek, legrosszabb esetben idonkent kiesik a jel (ha a szomszddva, ki,yiztnak egy autót.
Csakhogy az lenne a kivánság, hogy a mikrofonból legyen a osztályterem végében is, meg középen is. Szétnéztem a neten, de konkrétan wifis mikrofon modult nem találok. Létezik erre valami megoldás?
Igen köszönöm a figyelmeztetést is,az engedélyeztetésről is tudnék mesélni....Amikor a hivatal saját fennállásának szükségességét bizonygatja..Ezzel baráton cége nagyon ráfázott....illatszerrel,saját márka..stb....nem ide tartozik..
a távirra tegnap bejelentkeztem,van fogalmam a feszültségekről,szűrésről,napi szinten javítok,bár gépésztechnikus az alap szakmám,de lassan 50 éves leszek,és sok helyen sok mindent csináltam,mint álltalában az emberek többsége...voltam cloos robot programmozó,múszerész,szerszám gyártó,hegesztek,esztergálok,javítok,szerkesztek,,elpötyögök cnc-n...,de epromot,vagy plc-t nem tudok megírni....egész más mint g mondatokat írni,kaptafázni,másolni,ollózni,vagy mozgásokat lekövetni,hozzárendelni,paraméterezni,stb....De ti ezt tudjátok,én nem,ha meglátom benn a logikát,akkor talán menni fog,akár a basic...Szeretetből,és kíváncsiságból szoktam "alkotni" soha nem az üzlet és a pénz ami a legjobban motivál...ha valaki jól dolgozk,az jön magától...én szerencsés vagyok...azt csinálom amit szeretek...
Ezek a webastók,eberek,külső alktrészeket keveset használnak,az ujabbakban ,még kevesebbet,egyszerüen vannak felépítve..az elektronika a kulcs....elindit egy gyors tesztet,ha minden ok,akkor egy ciklust,ciklus véggén rámér az izzító stiftre "flamme" sensorként használja,régieken ez külön volt,hőfokot ptc -vel mér,ha 3 szori ciklus után sem látja a hőt,és lángot,letilt....Maga a készülék ház,olyan kialkítású,kicsi,nyitott,és szinte küzdeni kell,hogy folyamatosan égjen,bár ha a megfelelő befúvó fordulat mellett,a kellő pumpa ciklust kapja,és el van vezetve a hő,önfentartó....bármelyik megáll,máris hiányzik az égés feltétele....Gyakorlatilag lehetetlen felgyujtani,bolond biztos..
azt elfelejtettem tisztázni,hogy ezt csak saját magamnak,illetve nejemnek,akarom....nem szándékozok ebből profitálni...kályhából van jó néhány darab nálam,kisebb nagyobb hiányosságokkal,szinte mindbe az elektronika hal meg....
Szóval a legnagyobb bajom,hogy nem tudom hogy kéne nekiállni,melyik ardu lenne a legjobb,hogy lehetne megírni...
Tesztelni,"állítani",már tudnám....
AZT HISZEM,MINDENHOGY NEKI ÁLLOK TANULNI,SZABAD IDŐMBE,TÉLEN....
Nos, ez a fejlesztés nem annyi, hogy írsz egy szoftvert és slussz. Nagy jelentősége van a hardvernek is. Mivel automotive környezetben lesz, túláramokat, túlfeszültségeket kell szűrni. Mivel üzemanyagot éget, a füstgázösszetételtől kezdve a hőmérsékleten át a bemenő levegő mennyiségig egy csomó mindent kell figyelni az üzembiztonsághoz. Nem hiszem, hogy örülnél, ha valaki megtalálna, hogy a beépített elektronikád miatt leégett az autója és leszel szíves kifizetni. Ha hivatalos kereskedelmi forgalomba akarod hozni, engedélyköteles (itt az engedélyeztetés nagyjából milliós nagyságrend modulonként és modulonként is több darab kell, amit a teszteken konkrétan kinyírnak). Ha hobbi kategória lesz, ezek egy része nem kell, elmegy "ügyesbe" is, de a biztonság akkor is elsődleges kell legyen. Aztán. Kezdésre: tavir.hu 60 napos tanfolyam elég jó.
Köszönö szépen a válaszokat,látom segítőkészek vagytok,és tetszik a gárda is akik itt vannak,nagyon specifikus jó emberkék,nincs sárdobálás,offolás,mint az idex rokon lapjain...mindezeket nem azért írtam,hogy nyálazza....,persze minden infót szivesen elfogadok,nálam az idő a legnagybb gond,3 gyerek 2 állás,nagy munkák....alvást is lassan sajnálom magamtól,tanulni,meg nem szégyen,nem tudom mi a megoldás,de alaposan utánna járok a témában, talán télen több lehetőségem lesz.Sajnos angolul,a fiam jó,én csak németül értek...félre ne értsetek,nem akarok senkire ráragadni,csak még azt sem tudom hól inítsak...Ha gyorsabban szeretném letudni,akkor bérbe iratok...ez eléggé egyértelmű....Sajnos a projekt tervem nehézségi fokát sem tudom felmérni...nem köntörfalazok webastó kályha univerzális vezérlését szeretném megoldani.Analógban már sikerült,de minden kályhán máshogy kellene megalkotni.Ha lenne egy kaptafa,arduinora,csak az időzitísekkel egyszerübben meg lehetne oldani.Ezekbe a melegítőkbe horror áron van az elektronika,diag kábel,szoftver,ezt mind megtudnám spórólni...szóval 3 rellé,1 pwm szabályosás,1 indító bemenet érzékeléssel,ezeket kéne sorrendben,időzítve,logikával működtetni...feszt figyelni,és ha gond van ,ne induljon ujra.....kb erről lenne szó..:
de melyik óra modult???? ha azt akarod hogy segítsenek, miért nem vagy képes leírni az óramodul típusát, miért várod el, hogy a képről bogarásszam ki a típusát?
de kibogarásztam, és elolvastam a datasheetjét. és van benne alarm. tehát fel kell programozd benne az alarmot, a riasztás kimenetét meg rá kell kösd egy bemenetre. és akkor nem kell az arduinóban időzítened, csak észre kell vedd a változást a bemeneten.
Nem tudom mi a feladvány? Egyszerűen az arduino millis helyett az óra modult akarom használni. A lapból szükségem van az óra modulra gondoltam ha már ott van használom a millis helyett is.
nem kötelező. az az rtc, amit leolvastam a fotóról, mert a kérdező feladványokat ad és nem veszi a fáradságot hogy beírja hogy mégis mi a picsa az amiről kérdezni akar, tud alarmot. beállítod neki a pontos időt, megadod hogy mikor riasszon, és a megfelelő lába megmozdul amikor csörög a vekker. ezt rákötöd az arduino egy olyan bemenetére amin tud interruptot, és máris nem kell pollozni.
Három út van: 1. Megtanulod és megcsinálod magad. Időben ez a legtöbb. 2. Találsz valakit, akivel együtt meg tudjátok csinálni hobbiból. Ez lehet gyorsabb, de kevesebbet tanulsz belőle. 3. Keresel vakait, aki -- esetleg pénzért -- megírja neked. Találd ki, hogy neked melyik vállalható. Én senkiért nem szeretek ingyen dolgozni és mást sem szeretek ingyen dolgoztatni.
Annyi segédlet és példa van mindenre, hogy könnyedén menne.
Akár küldök is neked leírást.
Már csak azért is, - aki Arduino-t programoz, szerintem igazat ad, - mert az igazi élmény az, ahogy a project feléled, ahogy bereszeled az igényeid szerint.
De ha részletezed kicsit a projectedet, biztosan tudunk irányt mutatni.
Sziasztok! Új vagyok,ezen a topikon,szerencsére,az elektrónika építés,még megy,de a programmozás,az nem,nálam a basic nál nincs tovább...ugyanakkor szükségem lenne egy projektemhez,és ahogy láttam a you tubon,ezt többnyire a nanóval megoldható...sajnos itt a nyugati határszélen,senkit nem ismerek,aki progit tudna hozzá irni....ötlet?
Igen arduinora kötöm a modult. Igazából ez a ledes dolog csak egy egyszerű példa lenne. A lényeg az lenne hogy a modult szeretném időzítésre használni nem az arduino belső időzítőjét. Mert mellete sok mindent kéne használnom a modulal. Így gondoltam az időzítőre is ezt használnám.
nyomok egy gombot fel villan egy led ott le kérdezi az idöt majd egy beállított idő után elalszik a led?
Most akkor valamit nem értek. Ezt az áramkört egy arduinoval fogod kiolvasni. A LED be- és kikapcsolásra között is nagyon pontosan kell mérned az időt? Mert ha nem, akkor beteszel egy időzítő ciklust és ennyi. Ahhoz elég pontos a saját órajele.
De a leírás pontos; csiszolt előlap (bár a felirat LM35DZ - még ha hamis is) és a hátulján látni vélem a Maláj feliratot is. De az már nagyon apró nekem.