-
PROHARDVER!
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.
Új hozzászólás Aktív témák
-
exlepra
tag
Sziasztok,
Macskák ellen próbálok összehozni egy mozgásérzékelős öntözőt.
A PIR és az arudino még rendben, de az öntözéshez használatos mágnesszelepek 24V-osak.
Hajtsam megy egy tranzisztorral vagy FEt-tel vagy vmilyen shieldet keressek? -
MasterMark
titán
Rendeltem ilyet: [link] De nem teljesen tiszta, hogy mit hova.
A VIN és a GND mellette gondolom a 12 voltos táp lenne, a V+ V- lábakhoz menne a led szalag, és akkor az arduino a másik oldalra a SIG és GND lenne? A VCC az mi?
Ja igen, 12 voltos led szalag vezérlés lenne a cél.
Köszi.
-
Janos250
őstag
válasz
leventekov #5192 üzenetére
if ( toggle(i) ) {
világítson
}
else
{
óra szerinti vezérlés
}???
-
gyapo11
őstag
válasz
leventekov #5192 üzenetére
A loopban vannak az ifek, ezek kapcsolják LOW-ba vagy HIGH-ba a kimenetet. Ezután a nyomógomb hiába állítja ellenkezőre, 0.1 msec múlva megint lefut a loop, és az if megint visszaállítja, tehát a nyomógomb mintha nem is lenne.
Logikailag nem jó. Kellene egy folyamatábra, és utána azt átültetni az arduino nyelvére.
Valami olyasmi kell, ami volt is egy hozzászólásban, hogy a nyomógomb megnyomása egy változót is módosít, és ezt a változót is figyelembe veszi az if. -
tvamos
nagyúr
válasz
leventekov #5192 üzenetére
Ilyen hosszu kodot lehet, hogy jobb lenne, ha mondjuk a pastebinre tennel fol, es itt csak linket osztanal meg.
Amugy lehet, akkor mukodne, ha az oraval nem statikusan kapcsolnad be, meg ki, hanem csak akkor, amikor az allapota valtozik az oranak, akkor valtoztatnad a kimeneti statuszt.
-
Pubszon
veterán
válasz
leventekov #5192 üzenetére
Kód beillesztésekor használd a Programkód gombot, mert így nagyon kusza az egész.
Meg még hagyd ki belőle a kijelzőt meg mindent, előbb csak a gomb meg időzítés működjön. -
leventekov
csendes újonc
igy ki be kapcsolja de nem veszi figyelembe az idozitest.
itt a kod
nem tudom mi a gond benne
#include <Wire.h>
#include <LiquidCrystal.h>
//declare variables
float tempC;
float temp2C;
int tempPin = A0;
int temp2Pin = A1;int hour;
int minute;
int second;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);int kmeleg = 6; // 24w neoncso T5
int khideg = 8; // 24w neoncso T5
int nmeleg = 10; // 54w neoncso T5
int nhideg = 13; // 54w neoncso T5const byte kapcsolok = 1;
const int prell = 1000;
const byte pushbutton[kapcsolok] = { 9};
const byte led[kapcsolok] = {6};
boolean toggle[kapcsolok];
boolean button[kapcsolok];
boolean ledstate[kapcsolok];
unsigned long prelltime[kapcsolok];void setup()
{
for (byte i = 0; i < kapcsolok; i++)
{
pinMode(pushbutton, INPUT_PULLUP);
pinMode(led(i), OUTPUT);
digitalWrite(led(i), HIGH);
}
lcd.begin(16, 4);
Wire.begin();
pinMode(kmeleg, OUTPUT);
digitalWrite(kmeleg, HIGH);
pinMode(khideg, OUTPUT);
digitalWrite (khideg,HIGH);
pinMode(nmeleg, OUTPUT);
digitalWrite(nmeleg, HIGH);
pinMode(nhideg, OUTPUT);
digitalWrite (nhideg, HIGH);}
void loop()
{Wire.beginTransmission(104);
Wire.write(0x00);
Wire.endTransmission();
Wire.requestFrom(104, 7);
second = Wire.read();
minute = Wire.read();
hour = Wire.read();
hour=hour/16 * 10 + hour % 16;
minute=minute/16 * 10 + minute % 16;
second=second/16 * 10 + second % 16;lcd.setCursor(1,0);
lcd.print("Time ");
lcd.print(hour);
lcd.print(":");
if (minute < 10) { lcd.print("0"); }
lcd.print(minute);
lcd.print(":");
if (second < 10) { lcd.print("0"); }
lcd.print(second);tempC = analogRead(tempPin); //read the value from the sensor
tempC = (5.0 * tempC * 100.0)/1024.0; //convert the analog data to temperature
temp2C = analogRead(temp2Pin); //read the value from the sensor
temp2C = (5.0 * temp2C * 100.0)/1024.0; //convert the analog data to temperature// print result to lcd display
lcd.setCursor(1,1);
lcd.print("Viz");
lcd.setCursor(10, 1);
lcd.print(tempC,1);
lcd.print("'C");lcd.setCursor(1,3);
lcd.print("Szoba");
lcd.setCursor(10, 3);
lcd.print(temp2C,1);
lcd.print("'C");
//----------------------------------------------------------------------------------
//------------- Be 7:00 18:00 Ki
if (hour*60+minute >= 420 && hour*60+minute <=1140) //1080
{digitalWrite (khideg,HIGH);}
else
{digitalWrite (khideg,LOW);}
//----------------------------------------------------------------------------------
//------------ Be 10:00 22:00 ki
if (hour*60+minute >= 600 && hour*60+minute <=1320) //1320
{digitalWrite (kmeleg,HIGH);}
else
{digitalWrite (kmeleg,LOW);}
//-----------------------------------------------------------------------------------
//------------- Be: 12:00 Ki: 17:00
if (hour*60+minute >=720 && hour*60+minute <=1080 ) //1020
{digitalWrite (nmeleg, HIGH);}
else
{digitalWrite (nmeleg, LOW);}
//--------------------------------------------------------------------------------
//------------- Be: 8:00 Ki: 17:00
if (hour*60+minute >= 480 && hour*60+minute <=1020) //960
{digitalWrite (nhideg, HIGH);}
else
{digitalWrite (nhideg, LOW);}
for (byte i = 0; i < kapcsolok; i++)
{
button(i) = digitalRead(pushbutton(i));
if ((button(i) == HIGH) && (toggle(i)))
{
toggle(i) = false;
ledstate(i) = !ledstate(i);
prelltime(i) = millis() + prell;
}
digitalWrite(led(i), ledstate(i));
if ((button(i) == LOW) && (!toggle(i)) && (millis() > prelltime(i)))
{
toggle(i) = true;
}
}
} -
Pubszon
veterán
válasz
leventekov #5190 üzenetére
A kód működik, ahogy kell, még a prell ellen is van benne megoldás.
A fenti kódból át kell alakítani így:void loop()
{
for (byte i = 0; i < kapcsolok; i++)
{
button[i] = digitalRead(pushbutton[i]);
if ((button[i] == HIGH) && (toggle[i]))
{
toggle[i] = false;
ledstate[i] = !ledstate[i];
prelltime[i] = millis() + prell;
}
digitalWrite(led[i], ledstate[i]);
if ((button[i] == LOW) && (!toggle[i]) && (millis() > prelltime[i]))
{
toggle[i] = true;
}
}
}Ez elé kell berakni azt, hogy ha az idő elérte a beállított időpontot, akkor a ledstate = false; vagy épp true.
Az i helyére 1, 2, 3 vagy 4-et kell írni ide, mivel ez nem for ciklusban lesz.
És kell még bele egy vátozó, hogy ha eléri az időpontot, akkor csak egyszer fusson le megváltoztatva a ledstate-et, mert ha nem, akkor folyamatosan ez lesz érvénybe, így nem tudod kapcsolni gombbal, mint jelenleg is! -
leventekov
csendes újonc
Igen igy szeretnem.
Megprobalom hogy mukszik e.
Koszonom a segitseget -
Pubszon
veterán
válasz
leventekov #5187 üzenetére
Van egy kódom, átírtam 4 kapcsolósra.
Ezzel 4 kimenetet (LED) tudsz kapcsolgatni 4 gombbal.
Már csak ehhez kellene hozzárakni az időkapcsolást.const byte kapcsolok = 4;
const int prell = 1000;
const byte pushbutton[kapcsolok] = {8, 9, 10, 11};
const byte led[kapcsolok] = {2, 3, 4, 5};
boolean toggle[kapcsolok];
boolean button[kapcsolok];
boolean ledstate[kapcsolok];
unsigned long prelltime[kapcsolok];
void setup()
{
for (byte i = 0; i < kapcsolok; i++)
{
pinMode(pushbutton[i], INPUT_PULLUP);
pinMode(led[i], OUTPUT);
digitalWrite(led[i], HIGH);
}
}
void loop()
{
for (byte i = 0; i < kapcsolok; i++)
{
button[i] = digitalRead(pushbutton[i]);
if ((button[i] == HIGH) && (toggle[i]))
{
toggle[i] = false;
ledstate[i] = !ledstate[i];
digitalWrite(led[i], ledstate[i]);
prelltime[i] = millis() + prell;
}
if ((button[i] == LOW) && (!toggle[i]) && (millis() > prelltime[i]))
{
toggle[i] = true;
}
}
} -
Pubszon
veterán
válasz
leventekov #5178 üzenetére
Értem.
Tehát a nyomógombot szeretnéd billenőkapcsolóként használni ha jól értem, igaz?
Tehát minden megnyomáskor megváltozik a lámpa állapota és ha eléri az idő a beállított időpontot akkor kapcsoljon be, egy másik időpontban pedig le?
Erősíts meg, hogy így van. -
leventekov
csendes újonc
ezt ha beirom akor se mukodik mert meg van allitva az ido miatt.
buttonState = digitalRead(buttonPin);
// a gomb megnyomásának elleörzése
// ha a buttonState állapota magas (benyomva a gomb)
if (buttonState == LOW) {
// akkor a led kimenete bekapcsolva
digitalWrite(ledPin, LOW);
}
else {
// különben a led kimenete kikapcsolva
digitalWrite(ledPin, HIGH); -
leventekov
csendes újonc
tehat ha ki van kapcsolva az ora miatt es en be szeretnem kapcsolni akkor egy gomb megnyomasaval tudjam ezt.
Negy idozites
es ide kellene betegyem a 4 gombot.if (hour*60+minute >= 420 && hour*60+minute <=1140) //1080
{digitalWrite (khideg,HIGH);}
else
{digitalWrite (khideg,LOW);}//----------------------------------------------------------------------------------
//------------ Be 10:00 22:00 ki
if (hour*60+minute >= 600 && hour*60+minute <=1320) //1320
{digitalWrite (kmeleg,HIGH);}
else
{digitalWrite (kmeleg,LOW);}//-----------------------------------------------------------------------------------
//------------- Be: 12:00 Ki: 17:00
if (hour*60+minute >=720 && hour*60+minute <=1080 ) //1020
{digitalWrite (nmeleg, HIGH);}
else
{digitalWrite (nmeleg, LOW);}//--------------------------------------------------------------------------------
//------------- Be: 8:00 Ki: 17:00
if (hour*60+minute >= 480 && hour*60+minute <=1020) //960
{digitalWrite (nhideg, HIGH);}
else
{digitalWrite (nhideg, LOW);} -
Janos250
őstag
válasz
leventekov #5180 üzenetére
Na, ez nem sikerült.
Vagy töltsd fel valahova a képet és a linket írd be ide a "Kattintható kódok és arcocskák" részben a "Link" gombbal, vagy alatta a "Feltöltendő képek", fájlok kiválasztása, feltöltés, stb. -
Janos250
őstag
válasz
leventekov #5181 üzenetére
Kösz! Holnap veszek ragasztót
-
Janos250
őstag
válasz
leventekov #5178 üzenetére
Nekem még mindig nem tiszta:
Mikor akarod kapcsolóval kapcsolni?
Amikor az óra miatt ki van kapcsolva, akkor akarod, hogy kézzel is lehessen be (és majd ki) kapcsolni?
És mit csináljon, ha egyébként is be van kapcsolva, és akkor nyomod meg a gombot? Vagy akkor nem nyomogatod úgyse, tehát mindegy? -
leventekov
csendes újonc
A feher nem vezet. Mert utanna azt hasznaltam es ok
-
leventekov
csendes újonc
Egy kep a munkarol
-
Janos250
őstag
válasz
leventekov #5177 üzenetére
És vajon a fehér?
Azt nem tudja valaki? -
leventekov
csendes újonc
Koszonom hogy segitt valaki. Nem gondoltam volna hogy ez lessz belőle.
A lenyeg az hogy akvarium vezerlesen(villagitason) dolgozok es idore kapcsol nehany T5 neon csovet. Es ugy akarom a megoldani hogy nyomógomb segítségével lehessen be es ki kapcsolni a neonokat. Beraktam nyomogombot a programba de nem mukodott nekem. Ezert irtam ide? -
leventekov
csendes újonc
Sajnos a fekete vezet. Kave automatakkal foglalkozok amugy es ott egy olvasonak csinaltam egy vezerlest egy panelra es ragasztos megoldast hasznaltam . Egy ido utan vezetett es osszeget irt fel.
-
Pubszon
veterán
válasz
leventekov #5159 üzenetére
Szia.
Segítek szívesen, kezdjük elölről. -
Janos250
őstag
Itt most mindenki kiadta a mérgét, a gyakran előforduló dolgok miatt. Ezért aztán ezen a srácon csattant az ostor. Ezek voltak az ő mondatai:
"Segitsegeteket szeretnem kerni. Arduino Uno Ds1307 Orajel
Egy vezerles ugy hogy megadott idobe kapcsolja a x labat 5 voltra es egy nomogomb lenyomasaval ugyan ezt a labat kapcsolja. Ujboli lenyoas a gomb az 5 volt megszunik.
Ha valaki tudna segitteni."
"Elvan kezdve a rogram. Csak azt szerettem volna, hogy valaki segitene egy nyomogombot tudjak beiktatni."
"Az idozites mukodik csak a gomb nem akar osszejonni."Igaz, hogy teljesen tökéletlenül fogalmazott, mert nem derül ki, hogy hol tart, mit csinált meg, hogyan, de engem nem idegesített, egyszerűen túlléptem rajta, mert nem értettem , hogy konkrétan mit akar.
Továbbra sem látom ezekből, se azt, hogy valakivel pénzért meg akarta volna csináltatni, se azt, hogy ne akarna tanulni. Én is sok hasznos tapasztalatot szereztem már pár hónap alatt ezen a fórumon. Ha induláskor valaki elhajtott volna, akkor ez nem lenne. -
gyapo11
őstag
válasz
leventekov #5168 üzenetére
Akor nyilván te nem vagy a magcsináltatni akarók táborában.
Az is teljesen igaz, hogy a netről összeollózott kódhalmokat se szívesen nézi itt senki, legalábbis úgy látom. Sokkal jobb, ha valaki érti, hogy mit csinál. Sokkal előbb lesz válasz a "mi a fene az a digitalwrite" kérdésre, mint arra, hogy "itt van 200 sor program, mi a rossz benne".
Tehát az nem baj, ha valaki keveset tud, az a baj, ha nem is akar. Ha csak az eredményt akarja, és akár pénzért, akár ingyen, csak oldja meg valaki helyette. -
gyapo11
őstag
Nem az én feladatom, hogy megmondjam, hogy ez milyen topik, és hogy mi minden nincs még kiírva a címben.
Az biztos, hogy a topiklakók legnagyobb része a szabadidejéből áldoz az itteni kérdések megválaszolására. Ezért nem jó az a magatartás, hogy nekem nincs kedvem tanulni, "kínlódni", hanem bejövök és le akarom aratni pénzért az összegyűlt tudást.
Ha lenne egy fórum az arduinós munkákat vállalóknak és a pénzért valamit megcsináltatóknak, ott OK, ott nem segítünk, meg megoldásokat keresünk, hanem verseny van, mi kell, ennyiért megcsinálom.
Nem véletlenül van a fórum portálokon is pl. fényképezés fórum és fényképezőgép eladó fórum. Mert az nem OK, hogy valaki fényez egy gépet, hogy az milyen jó meg milyen olcsó, aztán kiderül, hogy véletlenül éppen van egy eladó neki. Nem. Egyik fórumban lehet tag, és lehet beszélgetni, tapasztalatokat stb. megosztani, a másikban meg lehet hirdetni. -
válasz
leventekov #5168 üzenetére
Az volt a gond a hozzászólásoddal, hogy nem volt kérdés benne, amire tudtunk volna válaszolni.
A világ minden fórumán érvényes íratlan szabályok:
1. először olvasok, hátha a topikban már volt szó a problémáról
2. használom a topik keresőjét (1 perc keresés után a 1031-es hsz-ben komplett kódrészlet a gombnyomásra), és guglizok
3. ha eddig nem találtam megoldást, leírom a problémát, amilyen részletesen lehet (pl jelen esetben beilleszted a kódodat, lehetőleg egy pastebin.com vagy hasonló link formájában)
4. leírom, hogy eddig mit tettem a megoldás érdekében
5. és csak ezután kérdezek. -
Tankblock
aktív tag
válasz
leventekov #5168 üzenetére
Hello,
Javaslom elöször a tutorialok böngészését, a HW es megoldások tanulmányozását, mert a mostani módszereddel sok lesz a csalódás. Ha majd érted az alapokat, akkor minden feladat könnyebb lesz. Csak jótanács.
Tervezd meg, nézz utána és válasz a helyzet nek megfelelő megoldást.
-
leventekov
csendes újonc
Sajnos nagy a félreértés. Kezdo vagyok meg a dologba de probalkozok es tanulgatok. Rabukkantam erre a forumra es segitseget szerettem volna kerni . Sajnos egybol csak a roszra gondolnak eggyesek. Meg nem tudok programot irni ezert megoldasokbol rakok ossze dolgokat. Az volt a kerdesem hogy hogyan lehet nem hogy ki csinálja meg nekem. Az idozites mukodik csak a gomb nem akar osszejonni.
De remelem hogy megoldom. Nem adom fel. Köszönöm a megértéseteket -
Ez kb. olyan, mintha érettségi előtt elmennék egy magántanárhoz, de nem azért, hogy felkészítsen, hanem, hogy beüljön helyettem és megírja.
Minden fórum a tanulásról szól. Fórumra az jár, aki tanulni akar, vagy átadni a tudását. Az ilyen "ki csinálná meg helyettem" típusú emberek degradálják a fenti két típust. -
tvamos
nagyúr
válasz
gyapo11 #5160 üzenetére
Az van kiirva, hogy "Ardunino topic"! Nincs kirva, hogy ez NEM a "ki csinálja meg nekem pénzért" topic, tehat az o kerdese szerintem hatareset. Lehet, hogy jobb helyen lenne a apron? Nem tudom, de hogy ott tuti nem talalna meg senki, az biztos.
A magam reszerol nem tudom, miert zavar ez barkit is. -
Janos250
őstag
válasz
gyapo11 #5164 üzenetére
Igen , egyetértek, de a mostani hozzászólásából úgy tűnik, valami már van: "nyomogombot tudjak beiktatni".
Mondom persze, hogy továbbra se értem, hogy mi van meg neki: hogy áll az óra lekérdezés, aszerinti vezérlés, és akkor mit is csináljon az a gomb. Lehet, hogy - kezdő lévén - egyszerűen csak ügyetlenül fogalmazott?
Egy korábbi eset jut eszembe, amikor valaki a terrárium vezérlését akarta megcsinálni, és bemásolt ide egy internetről összevagdosott kását. Segítettünk neki összehozni valamit, és remélhetőleg azóta már jobban megy neki az arduino kezelése. Persze nem biztos. -
gyapo11
őstag
Egyetértek a bejegyzéssel, ez nem a "ki csinálja meg nekem pénzért" fórum.
De azt is megértem, ha valaki éppen csak hallott az arduinoról, a mikrovezérlőkről, és ő maga nem akar foglalkozni vele, de szeretne mondjuk a télikertjébe egy fűtésvezérlést saját igényekkel, amikre gyári kész megoldás nincs, akkor fizetne érte, ha valaki megcsinálná.
Nem tudtok erre fórumot, hogy azt továbbítsuk neki? -
leventekov
csendes újonc
Koszi a segitseget
-
zka67
őstag
válasz
leventekov #5124 üzenetére
Szia, először is, ez azért fórum, hogy itt tedd fel a kérdéseidet (látom most már megtetted), és ne privátba akard megbeszélni a dolgokat. A fórum azért van, hogy a kérdésedet több ember is lássa, a megoldásokból pedig mindenki tudjon tanulni.
A kérésed az álláshirdetés rovatba való, hiszen te azt kéred, hogy valaki csináljon meg neked egy munkát. Ha egy kicsit is olvasgatod majd ezt a fórumot (látom újonc vagy még), látni fogod, hogy ahhoz hogy segítséget kapj, azért neked is tenned kell valamit, legalább elkezdhetnéd a programodat, és ha elakadsz, akkor jöhet a kérés.
Van programkód gomb, azzal rövidebb kódrészeket beilleszthetsz ide is, de teljes programokat légyszi ne tegyél fel ide, mert úgysem fog senki neked átnézni több száz sort.
Üdv.
Zoli -
Janos250
őstag
válasz
gyenesmartin #5152 üzenetére
A horner az egy séma, elrendezés, számítási sorrend, hogy ne kelljen túl nagy számok különbségét venni, mert az növeli a hibát. Bár esetedben tökmindegy, de azért lefuttattam egy mintát:
Látható, hogy a horner elrendezéssel számolt pontosabb.A lagrange az egész más, az interpolációs polinom, elsősorban elméleti jelentőséggel, számolni nem szoktunk vele.
-
Janos250
őstag
Egy technikai kérdés azokhoz, akik ezt:
http://www.ebay.com/itm/10pcs-Mini-360-DC-DC-4-75V-23V-to-1V-17V-Buck-Converter-Step-Down-Power-supply-/191773734744?hash=item2ca69af758
használják!
Ti hogy a csudában rögzítitek dobozba, mert nincs rajta csavarnak lyuk. Ötlet? -
Janos250
őstag
válasz
gyenesmartin #5152 üzenetére
y = 36.66+x*(4.73-x*(0.0489-x*(0.00038+0.000012*x)));
szerk:
Az előjeleket el...tam, azt rendbe kell tenni! -
Janos250
őstag
válasz
gyenesmartin #5150 üzenetére
Továbbra is tartom, hogy polinom értékét horner sémával szokás kiszámolni!
-
tvamos
nagyúr
válasz
gyenesmartin #5148 üzenetére
Hiába double az y, az x int, és ezért az x*x*x*x-et int-ben fogja számolni. Legyen inkább az x is double!
-
gyenesmartin
őstag
válasz
Gergosz2 #5145 üzenetére
int positive = 3;
int negative = 2;
int xA = 5;
int xB = 6;
int x = 0;
int buttonPin = 4;
int led = 13;
int xALast = LOW;
int n = LOW;
int servo = 9;
double y;
void setup() {
pinMode (xA, INPUT);
pinMode (xB, INPUT);
pinMode (buttonPin, INPUT);
pinMode(led, OUTPUT);
pinMode(positive, OUTPUT);
pinMode( negative, OUTPUT);
digitalWrite( positive, HIGH);
digitalWrite( negative, LOW);
pinMode(servo, OUTPUT);
Serial.begin (9600);
}
void loop() {
n = digitalRead(xA);
if ((xALast == LOW) && (n == HIGH)) {
if (digitalRead(xB) == LOW) {
if (x > 0)
x--;
} else {
if (x < 65)
x++;
}
Serial.println (x); //y=36.74+4.73*x-0.0489*x^2-0.00038*x^3+0.000012*x^4
y = 36.66+4.73*x-0.0489*(x*x)-0.00038*(x*x*x)+0.000012*(x*x*x*x);
Serial.println (y);
}
xALast = n;
analogWrite(servo, y);
}
Igaz. int-el tényleg nem jó. Double-l meg float-al már igen. -
Janos250
őstag
válasz
gyenesmartin #5144 üzenetére
Elsőként horner, aztán lehet gondolkodni a továbbiakon, ha nem jó.
-
tvamos
nagyúr
válasz
gyenesmartin #5144 üzenetére
int-tel nem lehet jó, 65^4 több, mint 17 millió. Az x-et lebegőpontosra kell venni.
-
Gergosz2
veterán
válasz
gyenesmartin #5144 üzenetére
mutasd a kódot pls.
-
gyenesmartin
őstag
Sziasztok!
Lenne egy kis gondom. Adott egy függvény:y=36.74+4.73*x-0.0489*x^2-0.00038*x^3+0.000012*x^4
x megy 0-65-ig. f(65)=247 lenne. De az arduino valahogy sehogy sem akar 150 fölé menni.
Így lett beírva a programba: y = 36.66+4.73*x-0.0489*(x*x)-0.00038*(x*x*x)+0.000012*(x*x*x*x);
Az x és y az int-es, de próbáltam float-al és double-el is. -
DrojDtroll
veterán
Valaki csinált már saját vezérlőt mechanikus billentyűzethez?
-
gyapo11
őstag
A Virtronicsnak is van egy szimulátora, fizetős, de korlátozásokkal ki lehet próbálni ingyen.
-
Janos250
őstag
válasz
szabifotos #5140 üzenetére
-
szabifotos
senior tag
-
Janos250
őstag
válasz
szabifotos #5137 üzenetére
Na, kezdjük az elején:
Arduino rendszert letöltöd. Ha az istallálós verziót töltöd le, akkor installálod, ha nem akkor csinálsz a könyvtárban egy portable mappát, az első indítás előtt.
Elindítod az arduinot.
A Tools menü board eleménél kiválasztod a listából a NodeMCU-t. Valószínűleg az 1.0 a jó a panelodhoz, de lehet, hogy a 0.9
Flash size 4M (3M SPIFF), CPU frek. 80 , upload speed 115200, de ezeket beállítja.
A win device managerében megnézed, melyik porton van (kihúzod, bedugod, melyik tűnik el/jelenik meg) Portnak ezt adod meg.
File menü example részében kiválasztasz valami mintaprogramot.
Sketch menü upload elemével lefordítod, és feltöltöd.
Na, mi történik?Szerk:
Most látom, a lapot beállítottad, valóban nem 9600-on szoktuk feltölteni, bár elvileg azon is kéne mennie.
Ha úgyse megy, én kipróbálnám a Nodemcu 0.9-el -
MasterMark
titán
válasz
szabifotos #5137 üzenetére
Nem lesz jo, 115200 probalj.
-
szabifotos
senior tag
válasz
MasterMark #5135 üzenetére
-
Janos250
őstag
válasz
szabifotos #5134 üzenetére
Akik itt vagyunk, többnyire arduino rendszerben használjuk a NodeMCU-t.
https://www.arduino.cc/en/Main/Software
https://github.com/esp8266/Arduino
Ebben könnyebben segítünk, ha elakadsz. -
MasterMark
titán
válasz
szabifotos #5134 üzenetére
Baud rate?
-
szabifotos
senior tag
Sziasztok!
vettem egy NodeMCU V3 wifi boardot. Most kezdek ismerkedni ezzel az egész arduinos dologgal. Wifin relé kapcsolása lenne a cél, és mivel még kezdő vagyok ezért vettem ezt a kész modult.
Valamiért nem akar mukodni. Rátettem egy firmwaret. (nodemcu_float_0.9.6-dev_20150704) és ESPTool-lal próbálkozom.
A fájl feltöltés megy rendesen, de pl. ha megnyitom a portot akkor: Timeout reached. Command aborted.
Ha megnyomom a reset gombot akkor: "Got answer! Communication with MCU established.
AutoDetect firmware...
Can't autodetect firmware, because proper answer not received (may be unknown firmware).
Please, reset module or continue."Eszerint próbálkoztam, fel is ment a két file, de nem akar csatlakozni a wifire
Mit nem csinálok jól?
-
quint
aktív tag
Az UnoArduSim egész aranyos. A képen látható IO eszközöket használhatod.
-
Janos250
őstag
Éppen az előbb mondta egy kollégám, hogy ő is elkezd arduinozni, és ezen az oldalon kezdi:
https://circuits.io/
"Easiest way to learn Arduino programming"Soha nem használtam, fogalmam sincs, jó-e.
-
MobilosFeca
tag
Sajnos nem igazán, one touch power window modul-ra rákeresve ebayen sem találsz sokmindent, ami van az is drága és nem is megfelelő. Mindenkinek nagyon köszönöm, aki eddig segített, és látszik hogy bizony egy Arduinoval (anyagárban) olcsón megoldható lenne a dolog. Ráírok Attilára ha jól értem, akkor nekem az ő elektronikája tökéletes lenne, ha nem, akkor még mindíg keresek valakit, aki hajlandó nekem ezt összehozni.
-
nzozz
aktív tag
Sziasztok!
Milyen szimulátort tudnátok ajánlani, amivel tesztelni lehetne az Arduinohoz írt programokat? Egyrészt maga az Arduino hardver is hiányzik még, másrészt az életben nem próbáltam még saját készítésű programokat használni, úgyhogy célszerűbbnek látom a virtuális tesztelést első körben.
Van egy projekt amit szeretnék majd valamilyen arduinos rendszerrel megoldani, ahol bemenetként 6db kapcsolót, 1 analóg szenzort (nyomásmérő szenzor, vízhez), kimenetként 2db relét és pár LED -et kéne majd kezelni illetve valahogy egy időzítést megoldani (minden nap, x ideig működjenek bizonyos funkciók). Nyilván nem fog összejönni egyik napról a másikra, de majd egyszer csak elkészül... Ehhez melyik arduino hardvert javasolnátok?Köszönöm
-
Janos250
őstag
válasz
MobilosFeca #5123 üzenetére
Pénzért melót nem vállalok, de ötlet szintjén azért beledumálok.
Áramerősség érzékelő pl.:
http://www.ebay.com/itm/New-3A-Range-Current-Sensor-Module-MAX471-Module-MAX471-BOARD-For-arduino-D-/112043334563?hash=item1a164d9ba3:g:uFEAAOSwzJ5XdRnW
Ami a motor forgási irányát (áram irányát) fordítja, az H-híd, H bridge. Pl.:
http://www.ebay.com/itm/L9110S-H-bridge-Stepper-Motor-Dual-DC-Motor-Driver-Controller-Module-For-Arduino-/262644854173?hash=item3d26da6d9d:g:d4UAAOSwOyJX6egK
bár ezt még hozzáértőtől is meg kellene kérdezni milyen típus legyen -
MasterMark
titán
ESP-re lua scripttel foglalkozik valaki?
-
JóGéza
aktív tag
válasz
MobilosFeca #5120 üzenetére
Szia!
Nem arduino, hanem PIC: Ablakemelő modul. -
válasz
MobilosFeca #5123 üzenetére
Biztos vagyok benne, hogy vannak erre filléres, analóg, out-of-the-box megoldások, akár más típusokhoz (pl az én Suzukim is tudja ezt), menj be egy autós boltba és kérdezz utána.
-
leventekov
csendes újonc
Segitsegeteket szeretnem kerni.
Arduino Uno
Ds1307 Orajel
Egy vezerles ugy hogy megadott idobe kapcsolja a x labat 5 voltra es egy nomogomb lenyomasaval ugyan ezt a labat kapcsolja. Ujboli lenyoas a gomb az 5 volt megszunik.
Ha valaki tudna segitteni. -
MobilosFeca
tag
válasz
Gergosz2 #5121 üzenetére
Szia, az ablak motorja a kapcsolóról kapja a feszt 2 vezetéken, polarítás váltással megy a nyitás-zárás, a kapcsolót ezentúl csak egy "jelforrásnak," használnám ami egy elektronikát indít el és adott áramerősségig adna feszt a motornak. Lényeg az, hogy ne kelljen nyomva tartani a gombot, amíg nyit-zár az ablak, és véletlenül se lehessen elfüstölni a motort, merthogy jelenlegi "gyári" állapotban addig kap feszt amíg nyomom a gombot. Ha van egyszerű megoldásod mindenféle mikroprocesszor nélkül, akkor hallgatlak.
-
-
Gergosz2
veterán
válasz
MobilosFeca #5120 üzenetére
Hazudnék ha teljesen érteném mit akarsz, de annyi látszik nekem belőle, hogy ehhez teljesen felesleges bármiféle mikroprocesszort beletenni.
-
MobilosFeca
tag
Sziasztok, mivel kicsit sem értek hozzá, ezért keresek valakit aki segítene nekem egy kisebb projekt megvalósításában. Van egy régi 3-as coupe bmw-m, aminek a hátsó pillangó ablakait csak "bután" lehet vezérelni egy 3 állású nyomógomb segítségével. (Ameddig nyomom a gombott adott iránynak megfelelő polaritással kap áramot a motor) Erre szeretnék készítettni egy olyan áramkört, ami figyeli az áramerősséget (működés közben 0,3-0,5 A-t vesz fel a motor 12V-on) és automatikusan végállásig (pl 0,8 A) megfelelő polarítással működteti a szerkezetet. Ha nagyon csicsázni szeretném, akkor esetleg a programba azt is bele lehetne írni, hogy ha működés közben mégegyszer rányomok a gombra akkor adott pozícióban álljon meg az ablak. Akit érdekel a dolog írjon egy privátot, természetesen nem ingyen szeretném ezt kérni senkitől.
Köszi -
-
Janos250
őstag
Pedig azt várom, hogy leírjátok a tapasztalatokat, mert ha lesz időm, én is ki akarom próbálni. A mag szenzor nekem is alig változik, úgy tűnik, ez normális.
Értelmezés:
A panelon fel vannak rajzolva a tengelyek. Ha pl élére állítod, akkor a nehézségi erő egyik tengely irányában 0 másik tengely irányában maximális. Próbálgasd, és rájössz, mi micsoda. A számértékek önmagukban semmit nem érnek, valóban kalibráció kellene. A szögsebesség meg minden tengely irányába 0 (kicsi), ha áll, amíg forgatod, addig meg valamennyi. Itt se ér semmit az érték maga kalibráció nélkül. Az iránytűvel nem boldogultam. Való igaz, hogy mozgás esetén csak a gyorsulás és a szögsebesség együttese adhat jó eredményt, valahogy kiszámolva belőlük a jó értéket. Ha megtalálod a leírását, milyen képletekkel számolni, oszd meg lsz. Belegondoltam, de nem tűnik olyan egyszerűnek a képleteket levezetni. -
válasz
fpeter84 #5106 üzenetére
Na, eljutottam vége oda, hogy ki tudtam próbálni a gyro-t. A feletted javasolt Stackoverflow-os példával működik, küldi az adatokat, de végigcsináltam, amit te javasoltál, és teljes kudarc... A magcal programot lefuttattam, nyomtam neki s-t, ki is írta, hogy mentette az eepromba, de utána a másik programmal azt írja, hogy nincs kalibrációs adat mentve. Beleírtam a kiolvasást a kalibráló programba is, rögtön azután, hogy kiírja, sikeres mentés, de már rögtön utána sem bírja kiolvasni... Nem tudom, hol lehet a hiba.
Legalább azt tudnám, hogy kell értelmezni/használni a kapott adatokat. A mag sensor meg lehet nem is működik rendesen, mert hiába forgatom, alig változnak az értékek. -
DrojDtroll
veterán
Moppy-val próbálkozott már valaki?
-
Janos250
őstag
Na, az enyém ránézésre tök ugyanez, de MPU92/65 van ráírva. Van benne 3 x 3 tengelyes gyorsulás, szögsebesség és mágnesség szenzor. Légnyomásmérő nincs, az úton van, amiben légnyomásmérő is van.
Igen, elég a felső 4 tűt bekötnöd. Én 3.3 -al hajtom, fene tudja, mit bír. Azt az ötlábú sánta pókot nem tudtam kideríteni, hogy az egy fesz. szab., vagy mi a csuda. Bár nem is nagyon foglakoztatott az ügy.Az általam linkelt program valóban csak ennek a 3 szenzornak az értékeit írja ki. Egy utasítással beolvassa a gyorsulás (azaz térbeli helyzet) + szögsebesség értékeket, egy másikkal a megnetometert. Abba tényleg nem gondoltam bele, hogy ezeknek nem külön-külön, hanem komplexen van értelme ha mozog a panel, mert pl. a gyorsulásmérő által érzékelt adat természetesen függ a szögsebességtől is, stb. Én szeretem pontosan tudni, hogy egy IC-nek konkrétan milyen adatot küldök ki, és mit válaszol rá. Ebben a primitív mintapéldában ez teljesült, láttam, mit kell írni az I2C buszra, és milyen választ kapunk. Majd én is megnézem azt a komplexebb programot is, mert tényleges használathoz valóban az kell.
Tudja valaki, hogy mi a különbség a 9250, 9265 között?
-
válasz
Janos250 #5111 üzenetére
Nekem konkrétan ez: MPU-9250
Ha már így szóba jött, lenne két kérdésem:
1. ugye elég az első négy tűt beforrasztani (vcc, gnd, scl, sda)?
2. A leírás szerint "Power supply :3-5v (internal low dropout regulator)", jól értem, hogy simán ráköthetem az 5V-os Mega board-ra szintillesztés nélkül? (Bocs, de ez állandó problémám, majd belejövök)
-
Janos250
őstag
-
fpeter84
senior tag
Azért mert a linkelt stackoverflow-s szösszenet tesztelésen kívül nem sokra jó - csak a magnetometert olvassa ki, cirka annyi mintha nem is a 9DOF MPU9250-et vetted volna csak egy alap HMC5883L-t. Önmagában nem sokra mész ezekkel a mért adatokkal mert nincsen viszonyítási pontod a térben (ehhez kell az acc) valamint nincsen korrekció az elmozdulásra és elforgásra (acc+gyro).
Ha tökéletesen vízszintesen tartanád a modult és nem mozdítod/forgatod akkor elég lenne, de ahogy elmozdul ahhoz már mind a 9 adat kell hogy értelmes irányadatot kapj bonyolult matekozással - de ezt elvégezi a library
-
fpeter84
senior tag
tölsd le az RTIMULib csomagot, a libraries könyvtár tartalmát másold át az arduino-ban beállított lib könyvtárba, a többi pedig a példaprogramok. A lib-ben a RTIMULibDefs.h -t szerkeszd át, a 32-es sorral alapból a 9150 van kiválasztva - ezt kommenteld ki és aktiváld helyette valamelyik 9250-et - a címet most így nem tudom hogy a kettő közül melyik lehet, de látni fogod ha egyikkel olvassa, a másikkal pedig nem...
Először a magcal programon kell végigmenni és s-el lementeni a kalibrálási értékeket, utána lehet használni az arduimu-t
-
Janos250
őstag
Ez a mintaprogram majdnem működik:
http://stackoverflow.com/questions/36242308/arduino-sensor-10dof-mpu9255-cannot-fetch-magnetometer-data
Ha az egyik hozzászólásban szereplő kiegészítést, azaz, hogy utolsó sornak tedd be az:
I2CwriteByte(MAG_ADDRESS,0x0A,0x01);
sort, akkor a majdnem törölhető. Akkor már rendesen működik.
Persze, ha ugyanarra az IC-re gondolunk. Ne zavarjon meg, hogy
#define MPU9250_ADDRESS 0x68
van benne, attól még ugyezzel megy, ugyanúgy 0x68-on, azaz 0xD0, 0xD1-en.
Vannak a neten elbonyolított verziók is, amik biztosan többet tudnak, de én ezt találtam célnak leginkább megfelelőnek.
Ha a wire default SCL, SDA lábait használod a panelon (mellesleg rá van írva a panelra), más nem kell hozzá.
Az más kérdés, hogy én az "iránytű" részét nem igazán tudtam használni.
A giro szenzornál is, ha nem szögsebességet akarunk, hanem abszolút elfordulást, akkor integrálni kell, de nekem ez elég pontatlan.
Én a
#define GYRO_FULL_SCALE_250_DPS 0x00
és a
#define ACC_FULL_SCALE_2_G 0x00
állítottam be, hogy érzékenyebb legyen.Ja, azt nem tudom, melyik a "linkelt lib". A wire az össze arduino panelhoz "benne van a rendszerben"
-
zka67
őstag
válasz
leventekov #5100 üzenetére
Szia, van programkód gomb is
A hour*360 + helyett szerintem jobb lesz a 3600-zal próbálkoznod.
Új hozzászólás Aktív témák
Hirdetés
- AKCIÓ! Microsoft XBOX Series S 512GB játékkonzol garanciával hibátlan működéssel
- Szerezd be most az érzékelhető különbséget! Akár 0% THM-re
- LG 55C3 - 55" OLED evo - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox!
- TAVASZI BOMBA AKCIÓK! STEAM, UBISOFT CONNECT, EA APP, XBOX EREDETI KULCSOK 100% GARANCIA
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest