Hirdetés

2024. április 28., vasárnap

Gyorskeresés

Téma összefoglaló

Téma összefoglaló

  • Utoljára frissítve: 2023-03-11 00:46:52

LOGOUT.hu

Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.

Összefoglaló kinyitása ▼

Hozzászólások

(#1251) dave0825 válasza softguner (#1250) üzenetére


dave0825
őstag

Én pont ezért nagyon szeretem ezt a fórumot, de leginkább ezt a topikot, mert az esetek nagyon nagy részében mindig sikerül megoldást találni. Nekem legalábbis ritka volt, amikor nem tudtak itt segíteni az emberek. :)

(#1249) zka67: Ó, köszi, valami ilyenre gondoltam. :) Viszont nem fordul le, hibát talál (lent a képen).
Az egyik lezáró }-jelet kihagytad, és nem tudom, hogy honnan, beraktam egy helyre, de nem tudom, hogy oda kell-e. A void IRHandler(void) miért kell oda, hol hívom azt meg? Ez alatt a sor alatt pedig miért kell a static szó oda a 2 helyre is?
Véleményem szerint a presults = 0;-t nem oda kéne írni, ahova a results-ot, mert ott a decode_results-ot nevezi csak ez, ami az IRremote.h-ban van, nem? Amúgy azt nem én írtam bele, az az IRrecvDemo.ino-ban alapból benne van.

[ Szerkesztve ]

Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99

(#1252) zka67 válasza dave0825 (#1251) üzenetére


zka67
őstag

Szia, a static azt jelenti, hogy a rutinon belül ne hozza létre állandóan a változót, hanem csak egyszer, és őrizze meg a tartalmát. Szerintem ennek le kellene fordulnia, ha nem vetted volna ki az IRHandler rutinból.

Az IRHandlert pedig a loop-ból hívod meg.

(#1253) dave0825 válasza zka67 (#1252) üzenetére


dave0825
őstag

És ez a két sor:
static unsigned long pmillis;
static decode_results results, presults = 0;

ezeket újra írjam be az IRHandler-en belül, vagy az menjen a legtetejére még a void setup() elé? Mert előtte alapból kell lennie egy decode_results results; nevű sornak, azt írjam át, vagy az maradjon ott és még az IRHandler-en belül-re is írjam oda amit írtál? :F Meg mondom, kihagytál egy } jelet, és nem tudom, hova kerül.

Ugyanazt a hibát kapom, mit írtam rosszul?

Úgy is próbáltam, hogy a 0-t kitörlöm a presults után, akkor ezen a hibán túllépett, viszont a results == presults-ra dobott egyet, hogy no match for 'operator==' in 'results == presults'.

Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99

(#1254) tvamos válasza dave0825 (#1253) üzenetére


tvamos
nagyúr

Másold már be az egész hibalistát!

"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János

(#1255) dave0825 válasza tvamos (#1254) üzenetére


dave0825
őstag

Okés, ez mind, amit kiír (volt egy pmilis elírásom is, azt javítottam):

zka67_prell:17: error: conversion from 'int' to non-scalar type 'decode_results' requested
zka67_prell.ino: In function 'void loop()':
zka67_prell:31: error: no match for 'operator==' in 'results == presults'
zka67_prell:43: error: switch quantity not an integer

Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99

(#1256) zka67 válasza dave0825 (#1255) üzenetére


zka67
őstag

Szia, mi a decode_results típus?
Ha már létrehoztál egy results változót, akkor nem kell még egyszer létrehozni, törölheted.

(#1257) dave0825 válasza zka67 (#1256) üzenetére


dave0825
őstag

Hát az IRremote.cpp-ben ezt találtam:
int IRrecv::decode(decode_results *results) {
de több helyen long-nak van deklarálva, ha erre gondoltál, de nem vagyok benne biztos.

Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99

(#1258) zoli03


zoli03
őstag

A következőt hogyan lehetne megoldani? A DHT22 megadott időközönként küld értékeket, és az aktuális adatot össze akarom hasonlítani (nagyobb, kisebb vagy egyenlő), az előző 5 érték átlagával. Mindig az előző 5 érték átlagával, vagyis nem úgy, hogy 5 érték után hasonlítok, aztán megint a következő 5 érték után hasonlítok, stb.

(#1259) gyapo11 válasza zoli03 (#1258) üzenetére


gyapo11
őstag

Shiftelni kell az értékeket 5 változóban.
t1=0;
t2=0;
t3=0;
t4=0;
t5=0;
loop
{
t_atlag=(t1+t2+t3+t4+t5)/5;
t=beolvas();
t1=t2;
t2=t3;
t3=t4;
t4=t5;
t5=t;
}

[ Szerkesztve ]

menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet

(#1260) zka67 válasza dave0825 (#1257) üzenetére


zka67
őstag

Szia, megnéztem a decode_results típust. A következőképpen módosítsd a programot:

#define VK1 0x12345678
#define VK2 0x87654321
#define REPEAT_TIME 250

decode_results results;

void IRHandler(void) {
static unsigned long pmillis, pvalue;

if (irrecv.decode(&results)) {
irrecv.resume();

if (results.value == pvalue) {
if ((millis()-pmillis) < REPEAT_TIME) {
pmillis = millis();
return;
} // Ez hiányzott
}

pmillis = millis();
pvalue = results.value;

switch (results) {

case VK1:
// Key 1 lenyomasakor
break;

case VK2:
// Key 2 lenyomasakor
break;

}
}
}

void loop() {
IRHandler();
}

(#1261) zka67 válasza dave0825 (#1251) üzenetére


zka67
őstag

(#1251) dave0825 Én pont ezért nagyon szeretem ezt a fórumot, de leginkább ezt a topikot, mert az esetek nagyon nagy részében mindig sikerül megoldást találni. Nekem legalábbis ritka volt, amikor nem tudtak itt segíteni az emberek.

(#1250) softguner Zseniális ez a csapatmunka

A C Programozás topikban is hasonlóan segítőkészek az emberek :)

(#1262) dave0825


dave0825
őstag

zka67: köszi, legközelebb holnap de. tudok vele foglalkozni, akkor elolvasom, megcsinálom, meg minden, most barátnőzök.

Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99

(#1263) zoli03 válasza gyapo11 (#1259) üzenetére


zoli03
őstag

Köszi, tökéletesen működik. Most a következő funkció a kijelző háttérvilágításának nyomógombbal kapcsolhatósága lesz, de annak még kicsit utána kell olvasnom.

(#1264) dave0825 válasza zka67 (#1260) üzenetére


dave0825
őstag

Király, működik tök jól, köszönöm szépen! :) Annyi volt, hogy a switch (results)-ot át kellett írnom switch (results.value)-ra, mert azok a visszakapott értékek. Meg átírtam a REPEAT_TIME-ot 100-ra, még kisebb az esélye a duplázásnak. :) Köszönöm még egyszer a segítséget!

Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99

(#1265) dave0825


dave0825
őstag

zka67, vagy akinek van egy kis ideje: rá tudnátok nézni a (valószínűleg, legalábbis amíg nem jut eszembe új funkció :) ) végleges programomra az órával kapcsolatban? Van egy olyan kis hiba, hogy amikor módot váltok, tehát az idő/hőmérséklet/időbeállítás módok között lépkedek, akkor (mivel 2 részre osztottam az időbeállítást: óra- és percbeállításra) sokszor átugorja az órabeállítást, és egyből a percbeállításra lép. Itt pedig a másik kis hiba lép fel, hogy a percbeállításnál jóval nagyobb a fényereje a ledeknek, mint bárhol máshol (akár órabeállítás, akár hőmérséklet- vagy időkijelzés módban van). :F
Föltettem data.hu-ra magát a programot, de sima .txt-be is, innen mindenki le tudja szedni.
Kommentekbe beírtam a fontosabb programrészletek funkcióját, hogy jobban átlátható legyen. Tudom, hogy lehetett volna egyszerűbben is a programot megcsinálni, meg úgy az egész projektet, de eléggé kezdő vagyok, most még csak így sikerült. :)
Ha folyamatosan nyomom a 2 legfölső gombot a távirányítón, akkor (mivel annak egy tv hangerejének növelése/csökkentése volt az eredeti funkciója) folyamatosan újraküldi az infrajeleket, ezen a prellmentesítése sem segített, gondolom ez egy elektronikailag beépített funkció lehet, vagy nem tudom, de ez az idő beállításához pont nem baj. :)

[ Szerkesztve ]

Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99

(#1266) zka67 válasza dave0825 (#1264) üzenetére


zka67
őstag

Szia, örülök neki, hogy működik a programod :)

Viszont a REPEAT_TIME-ot nem csökkentened kellene, hanem növelned. Ez mondja meg, hogy mennyi az az idő, amin belül ha ugyan az a kód jön, az ismétlésnek számít. Lehet, hogy ezért ugrik át a beállításoknál. Vedd feljebb 500-ra, szerintem azzal már jónak kell lennie.

a switch (results)-ot át kellett írnom switch (results.value)-ra...

Jaja, én jegyzettömbe írtam a programot :)
De a presult is megfelelő lett volna...

Szerintem sokkal egyszerűbb, átláthatóbb és jóval rövidebb lenne a programod, ha konstans tömbökben tárolnád a megjelenítendő adatokat...

Nem fogom megírni helyetted a programot, tanuld csak szépen a programozást :)

(#1267) dave0825 válasza zka67 (#1266) üzenetére


dave0825
őstag

Ja igen, aztán rájöttem utána, hogy mivel < REPEAT_TIME van írva, ezért minél nagyobb, annál kisebb az esélye a duplázásnak, végül aztán hagytam 250-en. Megnézem majd az 500-at akkor, vagy majd keresek egy olyan számot, amivel nem ugrik át, bár furcsállom, hogy mindig csak a Mode == 2-ről ugrik át 3-ra (0-3-ig vehet föl értéket), sehol máshol nem ugrik a következőre, csak itt.
Nem is várom el senkitől, és nem is szeretném, hogy megírják/megírjátok helyettem. :) Én örülök neki, hogy még ha hosszúra sikeredve is, de (aránylag) jól működik. :) Meg szeretnék is gyakorolni, mert elkezdett komolyan érdekelni a téma, úgyhogy ha meló mellett úgy lesz időm majd, fogok is foglalkozni ilyennel.
Annyit azért tudnál kiindulási alapként adni, hogy hogy érted a konstans tömböket? :B Tömböket használtam már, de egy ilyet nem tudom, hogy lehetne tömbbel megoldani:
data[0] = B00000000;
data[1] = B00000000;
data[2] = B00000010;
data[3] = B00000000;
data[4] = B00000100;
data[5] = B00000001;

[ Szerkesztve ]

Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99

(#1268) zka67 válasza dave0825 (#1267) üzenetére


zka67
őstag

Szia, parancsolj:

const unsigned char minutes[60][6] = {
{B00000000,B00000000,B00000000,B00000000,B00000000,B00000000}, // perc 0
{B00000000,B00000000,B00000000,B00000000,B00000000,B00000000}, // perc 1
...
{B00000000,B00000000,B00000000,B00000000,B00000000,B00000000} // perc 59

};

const unsigned char hours[12][6] = {
{B00000000,B00000000,B00000000,B00000000,B00000000,B00000000}, // ora 0
{B00000000,B00000000,B00000000,B00000000,B00000000,B00000000}, // ora 1
...
{B00000000,B00000000,B00000000,B00000000,B00000000,B00000000} // ora 11

};

const unsigned char temperatures[17][6] = {
{B00000000,B00000000,B00000000,B00000000,B00000000,B00000000}, // fok 15
{B00000000,B00000000,B00000000,B00000000,B00000000,B00000000}, // fok 16
...
{B00000000,B00000000,B00000000,B00000000,B00000000,B00000000} // fok 30
{B00000000,B00000000,B00000000,B00000000,B00000000,B00000000} // ures

};

void checkMinute() {
unsigned char second,minute,i;
second=Clock.getSecond();
minute=Clock.getMinute();
for (i=0; i<6; i++) data[i] = minutes[minute][i];
showpattern();
}

void checkHour() {
unsigned char hour;
hour=Clock.getHour(h12, PM);
for (i=0; i<6; i++) data[i] = hours[hour % 12][i];
showpattern();
}

void checkTemperature() {
unsigned char temperature;
temperature=Clock.getTemperature() - 15;
if (temperature >= 16) temperature = 16;
for (i=0; i<6; i++) data[i] = temperatures[temperature][i];
showpattern();
}

vagy szerintem így sokkal szebb, csak másképp kell meghívnod (ebben az esetben természetesen semmi szükség a fenti rutinokra, checkMinutes stb...):

void checkValue(const unsigned char *table) {
unsigned char i;
for (i=0; i<6; i++) data[i] = *table++;
showpattern();
}

checkValue(&minutes[Clock.getSecond()][0]);
checkValue(&hours[Clock.getHour() % 12][0]);
checkValue(&temperatures[Clock.getTemperature()][0]);

Remélem a fordító elfogadja a programot, ha meg nem, majd még igazítunk rajta :)

Szerk: mégiscsak megírtam... :D

[ Szerkesztve ]

(#1269) dave0825 válasza zka67 (#1268) üzenetére


dave0825
őstag

Csak megírtad. :DDD Van még hova fejlődnöm. :D Hát köszönöm, később megnézem gépen, mit tud. :)
Viszont az előbb kíváncsiságból megnéztrm, hogy megy-e külső tápról, és valami gebasz van: rendesen írja au időt, viszont a távirányítót hiába nyomkodom, nem csinál semmit az egész. Bedugtam gépbe usb-vel, megy rendesen irányítóval is. :F Hiába töltöttem rá újra a programot, semmi. Külső tápról valahogy nem megy a távirányító. Na ez mitől lehet? :F

[ Szerkesztve ]

Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99

(#1270) lajbi30


lajbi30
csendes tag

Egy Arduino szakértöt keresek,aki honorárium ellenében,megírna egy programot.

(#1271) lajbi30 válasza dave0825 (#1262) üzenetére


lajbi30
csendes tag

//Sample using LiquidCrystal library
#include <LiquidCrystal.h>

/*******************************************************

This program will test the LCD panel and the buttons of
the DFRobot LCD Keypad Shield for Arduino
Product code : RB-Dfr-07
http://www.robotshop.com/dfrobot-lcd-keypad-shield-arduino-1.html

Note cct error identified by Arduino forum discussion at:
http://arduino.cc/forum/index.php/topic,96747.0.html
which advises insertion of a Germanium 1n34a or a Schotky 1N5819
diode between pin 10 and the base of Q1 (K to pin 10).

sample code originally by Mark Bramwell, July 2010
modifications by Dion Weston, March 2012

********************************************************/

// select the pins used on the LCD panel
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

// define some values used by the panel and buttons
int backLight = 10; // LCD Panel Backlight LED connected to digital pin 10
int lightLevel = 255; // Initialise light full on
int lcd_key = 0;
int adc_key_in = 0;
#define btnRIGHT 0
#define btnUP 1
#define btnDOWN 2
#define btnLEFT 3
#define btnSELECT 4
#define btnNONE 5

// read the buttons
int read_LCD_buttons()
{
adc_key_in = analogRead(0); // read the value from the sensor
// my [Mark Bramwell's] buttons when read are centered at these valies: 0, 144, 329, 504, 741
// we add approx 50 to those values and check to see if we are close
if (adc_key_in > 1000) return btnNONE; // We make this the 1st option for speed reasons since it will be the most likely result
if (adc_key_in < 50) return btnRIGHT;
if (adc_key_in < 195) return btnUP;
if (adc_key_in < 380) return btnDOWN;
if (adc_key_in < 555) return btnLEFT;
if (adc_key_in < 790) return btnSELECT;
return btnNONE; // when all others fail, return this...
}

void setup()
{
lcd.begin(16, 2); // start the LCD library
lcd.setCursor(0,0); // move cursor to beginning of line "0"
lcd.print("Backlight adjust"); // print a simple message

}

void loop()
{
analogWrite(backLight, lightLevel);
lcd.setCursor(13,1); // move to position 13 on the second line
lcd.print(lightLevel);

lcd.setCursor(0,1); // move to the begining of the second line
lcd_key = read_LCD_buttons(); // read the buttons

switch (lcd_key) // depending on which button was pushed, we perform an action
{
case btnRIGHT:
{
lcd.print("LED On ");
lightLevel = 255;
break;
}
case btnLEFT:
{
lcd.print("LED Off ");
lightLevel = 1;
break;
}
case btnUP:
{
lcd.print("LED Fade Up ");
if (lightLevel < 255) lightLevel += 1;
break;
}
case btnDOWN:
{
lcd.print("LED Fade Down ");
if (lightLevel > 1) lightLevel -= 1;
break;
}
case btnSELECT:
{
lcd.print("Select ");
break;
}
case btnNONE:
{
lcd.print(" ");
break;
}
}

}

Kilyelző fényerejének változtatása

[ Szerkesztve ]

(#1272) dave0825 válasza lajbi30 (#1271) üzenetére


dave0825
őstag

"Kilyelző"?! :K

:O :W :(

Mellesleg mit kéne csinálni? Én úgy nézem, hogy ez egy kész program, amit csak rá kell tölteni az Arduino-ra, és ezt csatlakoztatni (ehhez készült a program). Neked mid van, ugyanilyened? Mihez kellene, mármint mire használnád?

[ Szerkesztve ]

Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99

(#1273) lajbi30 válasza dave0825 (#1272) üzenetére


lajbi30
csendes tag

Akvárium vezérlés lenne és kicsit összetettebb:)
Ha érdekel, add meg a telszámod. Elmondom miről lenne szó. Mondasz egy árat és megegyezünk.

(#1274) dave0825 válasza lajbi30 (#1273) üzenetére


dave0825
őstag

Húúú, én annyira nem vagyok pro. :D Sőt...eléggé kezdő vagyok. Semmiképp nem én kellek neked. :N Vannak itt sokkal tapasztaltabbak, profibbak, mint én.

Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99

(#1275) lajbi30 válasza lajbi30 (#1273) üzenetére


lajbi30
csendes tag

OK! Valaki egy kis pénzkeresés?

(#1276) softguner válasza lajbi30 (#1275) üzenetére


softguner
csendes tag

Szia, ha leírod miről van szó és egy hétvége alatt meg tudom csinálni, akkor szívesen megcsinálom neked.

(#1277) gyapo11 válasza softguner (#1276) üzenetére


gyapo11
őstag

Fizetős munkánál egy dolog, hogy meg kell csinálni, és sikerül-e megfelelő pénzt kapni érte. De ott azért elvárt, hogy az tényleg úgy is működjön, ahogy a specifikáció leírta, és ha nem, akkor addig kell javítgatni, amíg jó nem lesz. Ezzel aztán mélyen a nem érte meg kategóriába csúszhat a project.
Másrészt sokszor a megrendelő később jön rá, hogy még ez is meg az is kellene bele. Nem kötelező megcsinálni, de nem lesz jó a szájíz ha nem, másnak meg már nehézkes a kódba belenyúlni, sok időt igényel, ezért drága.

menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet

(#1278) lajbi30 válasza gyapo11 (#1277) üzenetére


lajbi30
csendes tag

Írogathatnék,hogy S.O.S. valaki. De az sok idő lenne,mire így összeállna a terv. Egyszerübb valakinek fizetni érte. Végig olvastam majdnem az egész fórumot és bizony vannak itt nagy fejek akiknek gyerekjáték lenne megcsinálni azt amit én szeretnék. Nem is a kapcsolásokkal van a baj,hanem a programmal. Érdekel a dolog,de nagyom mélyre kellene visszamennem,amire nincs időm,sem energiám.SAJNOS!

(#1279) lajbi30 válasza lajbi30 (#1278) üzenetére


lajbi30
csendes tag

Ha később még eszembe jutna,hogy ez is meg az is kellene bele,akkor az sem ingyen kell!
Működjön!!!!

(#1280) gyapo11 válasza lajbi30 (#1278) üzenetére


gyapo11
őstag

Nincs azzal semmi baj, ha neked megéri az árát. Inkább arra próbáltam utalni, hogy itt nem biztos hogy vannak vállalkozási alapon működő arduino programozók. Inkább amatőrök, akik kedvtelésből valamilyen szinten megismerték a kütyüt. És ha a pénz bejön a képletbe, az már más, mint pl. a tükörfóliás óra, ahol sokan bedobnak ötleteket, javaslatokat, van ami bejön, van ami nem. Megszoktuk, hogy a pénzért elvárható a szolgáltatás, és nem tenne jót a fórumnak, ha emberek között megromlana a viszony, mert nem ezt akartam, de nem mondtad el jól stb.

menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet

(#1281) lajbi30 válasza gyapo11 (#1280) üzenetére


lajbi30
csendes tag

Én sem dolgozok ingyen. Más ha csak el kell magyarázni egy 1-2 apróságot. Azért én sem kérek pénzt. De nekem kell megcsinálni mindent,akkor azért pénzt kérek. Ezért nem várom el ingyen én sem. Van 1-2 dolog amit 3nap után sikerült megcsinálnom,de nem tudom összekombinálni azt pár valamit amire nekem szükségem lenne.

[ Szerkesztve ]

(#1282) gyapo11 válasza lajbi30 (#1281) üzenetére


gyapo11
őstag

És nem nyilvános a terv? Mert akkor leírhatnád mit szeretnél, és hátha lenne rá ötlet, de legalábbis tanulnánk azzal is, amíg ötletelünk, beszélünk a lehetséges megoldásokról, végülis ez a célja a fórumnak.

menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet

(#1283) lajbi30 válasza gyapo11 (#1282) üzenetére


lajbi30
csendes tag

Akvárium vezérlést szeretnék!
Inkább világitás. T5+LED+ventilátor kapcsolása bizonyos hőmérsékleten.
Mind ezt LCD-ről vezérelve. Automatikus és manuális fényerő szabályozás a ledeknél. Valami ilyesmi. Idő és dátum kijelzéssel.

(#1284) lajbi30 válasza lajbi30 (#1283) üzenetére


lajbi30
csendes tag

Ezek vannak meg hozzá

[ Szerkesztve ]

(#1285) gyapo11 válasza lajbi30 (#1283) üzenetére


gyapo11
őstag

Az akváriumot már írtad korábban.
Szóval van egy hőmérséklet szenzor, ennek adatai alapján kell egy ventilátort kapcsolgatni.
Ledeket pwm-mel szabályozva a fényerőt, fényszenzor is kell az automatikus szabályzáshoz.
A T5 nem tudom mi.
Lcd-ről vezérelve az érintős lcd-t jelent, és onnan kell leolvasni a parancsokat, beállítandó értékeket? Vagy lcn-n menü, és nyomógombokkal navigálni?

menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet

(#1286) lajbi30 válasza gyapo11 (#1285) üzenetére


lajbi30
csendes tag

LCD-n menü nyomógombokkal. A ledeket dimmelni szeretném. PL:8:00-kor bekapcsol és fokozatosan éri el a 100%-ot. T5 fénycsövek. Ezeket csak ki-be kell kapcsólgatni. PL: 1 cső 9:00, 2 cső 9:30, 3 cső 10:00

[ Szerkesztve ]

(#1287) softguner válasza lajbi30 (#1286) üzenetére


softguner
csendes tag

Csináltam már másnak ezt azt, de soha sem pénzért. Amit csinálok azért csinálom, mert van rá fölösleges időm, ezért írtam azt hogy ha van pontos leírásod, hogy mit szeretnél, akkor ha 1 hétvégébe belefér akkor szívesen megcsinálom, mert most van 1 szabad hétvégém. Akváriumhoz egyébként a legolcsóbb a vízálló ledszalag. 1 FET tranyóval a PWM frekvencia csökkentésével állítod a fényerősséget és pont. Egyébként meg a Ventillátort is csak pwm-el állítod és kész. A gombozással meg nekem 1 problémám van, hogy túl kényelmes vagyok, minek felállni ha van távirányító? Plusz ide kellene még egy RTC is a valós időhöz. Amit viszont nem szeretek az a dobozolás, nekem több idő dobozba rakni valamit, mint kitalálni és letesztelni rá a programot.

Egyik barátom szülinapjára csináltam, egy olyan rádiós mp3 lejátszót aminek a kijelzője egy Nokia5110-es volt, és sokkal drágábbra jött ki, mint ha vettem volna egyet, és lehet hogy egyedi, de drágább volt, ezen azért el kell gondolkozni.

Most láttam a képen, hogy ott van az RTC is. Ehhez megvan mindened, bár én a reléket nem erőltetném, meg a fénycsöveket sem.

[ Szerkesztve ]

(#1288) lajbi30 válasza softguner (#1287) üzenetére


lajbi30
csendes tag

Akváriumhoz a leggagyibb a led szalag. 1w-os power ledekről van szó áramgenerátorral. Elvileg a feszültséget
kell csak szabályozni ahoz,hogy a fényerőt csökkentsük vagy növeljük. De ezt autómatikusan kéne,hogy csinálja. RTC-m is van. A távirányitás felesleges,ha automatán csinál mindent. A ventilátornak 26 fokon bekapcsólni és lekapcsólni.

[ Szerkesztve ]

(#1289) gyapo11 válasza lajbi30 (#1286) üzenetére


gyapo11
őstag

Akkor a gombok prellmentesítésére kell figyelni, nemrégen volt szó róla éppen, hogy ismételnek a gombok és software-ben is ügyeskedni kell. Lcd-t még nem használtam. Ledek, fénycsövek időben ki-bekapcsolása, dimmelése nem látszik nehéznek. Szerintem meg tudnánk írni közösen itt a fórumon, de idő kell hozzá az biztos.

menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet

(#1290) gyapo11 válasza lajbi30 (#1288) üzenetére


gyapo11
őstag

Áramgenerátornál nem a feszültséget kell szabályozni, mert egy megadott feszültségtartományon belül tartja az áramerősséget, ez az áramgenerátor feladata, és a fényerő nem változik. Inkább pwm-mel kell kapcsolgatni, és a kitöltési tényezőtől függően változik a fényerősség. Aztán hogy az áramgenerátor bírja-e azt a frekvenciát, amivel a pwm kapcsolgat, az más kérdés.

menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet

(#1291) gyapo11 válasza softguner (#1287) üzenetére


gyapo11
őstag

a PWM frekvencia csökkentésével állítod a fényerősséget

Ezt hogy érted? A pwm pulse wide modulation, tehát csak a szélességét modulálja, a frekvencia állandó. Ha a frekvenciát csökkented, de a pulzus szélessége és ezzel a kitöltési tényező marad, akkor nem változik a fényerő.

menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet

(#1292) lajbi30 válasza gyapo11 (#1291) üzenetére


lajbi30
csendes tag

Ezért kértem az s.o.s-t itt a fórumon,mert nem értek hozzá. Érdekel,de nem értem.

[ Szerkesztve ]

(#1293) Gergosz2


Gergosz2
veterán

Én 1602-ből I2C csatolós verziót használok. Nem árt ha spórol pár lábat az ember.

Én csináltam hasonlót , egy DHT11 -re épülő szellőztetőt.

A ventilátornak 26 fokon bekapcsólni és lekapcsólni.

Ezt szerintem inkább felejts el. Ezzel eléggé mellé lehet lőni mivel simán előfordulhat az, hogy össze vissza kapcsolgat be a ventit másodpercenként mert épp 26 fokon táncol a hőmérőd. Persze atom stabil 26 fokot is belehet lőni de azzal sokkal többet kell dolgozni. Én egy hiszterézises szabályozót javaslok úgy, hogy pl 26 foknál kapcsoljon be a ventid , vigye le 24 fokra-ra utána meg kapcsoljon ki.

(#1290) gyapo11

megadott feszültségtartományon belül tartja az áramerősséget, ez az áramgenerátor feladata,

[ Szerkesztve ]

Nokia 6030 Hardcore User // I Panic Restaurant by Taito

(#1294) lajbi30 válasza Gergosz2 (#1293) üzenetére


lajbi30
csendes tag

OK! 26 fokon bekapcsól a venti,25 fokon ki. Ez is jó! De ez már részlet kérdés.

(#1295) Gergosz2 válasza gyapo11 (#1291) üzenetére


Gergosz2
veterán

na azért.

pulse width modulation, gépes terülten ISZM.(Páran gondolom találkoztak így is vele ) Nem feltétlenül állandó a freki, sőt nem egyszer kell változó frekvenciájút használni, vagy éppen korrigálni rajta, mert egyszerűen megmurdel egy két elem.

De én nem nagyon szórakoznék ennél a megvalósításnál, vennék valami TO220 tokozású FET-et vagy BJT-t azzal nem nyúl mellé, utána meg simán analogWrite()-tal mehet is PWM.

[ Szerkesztve ]

Nokia 6030 Hardcore User // I Panic Restaurant by Taito

(#1296) Danex válasza lajbi30 (#1294) üzenetére


Danex
addikt

Nem a víz hőmérsékletét szeretnéd szabályozni? Mert az akvárium és a víz közötti levegőt egy PC-s ventilátor szerintem egy fél perc alatt kicseréli a kintire és a DHT egyből lekapcsolja azt így az lényegében semmit se hűtene a vízen.

(#1297) Gergosz2 válasza Danex (#1296) üzenetére


Gergosz2
veterán

ez nekem is szemet szúrt. Nem vagyok akvárium szakértő, sosem volt és szerintem nem is lesz nekem egy se, de gyanítom, hogy nem így szokták ezeket hűteni. Gondolom itt is keringető szivattyúkat használnak (ebayen pár dolláros tartományban ezerszámra van) , de mondom még egyszer, nem vagyok ebben járatos.

Nokia 6030 Hardcore User // I Panic Restaurant by Taito

(#1298) lajbi30 válasza Gergosz2 (#1297) üzenetére


lajbi30
csendes tag

Venti-vel vagy kimondott akvárium klímával hűtik. A klíma használtan is van vagy 30-k. Amúgy meg tényleg a víz hőmérséklet szabályozás lenne a lényeg. De ez is részlet kérdés. A programnak kéne így működnie.

[ Szerkesztve ]

(#1299) Danex válasza lajbi30 (#1298) üzenetére


Danex
addikt

Csak a DHT nem vízálló tudtommal, neked meg a víz hőmérsékletét kellene figyelned, nem a "beszorul" levegőt.

Tehát a lényeg, hogy kéne egy vízálló hőszenzor is (szerintem)

(#1300) lajbi30 válasza Danex (#1299) üzenetére


lajbi30
csendes tag

Az is van!

Copyright © 2000-2024 PROHARDVER Informatikai Kft.