Hirdetés

2024. május 9., csütörtök

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

(#351) happy555 válasza Pubszon (#350) üzenetére


happy555
aktív tag

Motor felől van két vezetéked, ha az egyikre adsz fázist jobbra forog (pl nyit), ha a másikra akkor balra (pl zár).
Nem így van?
A reléden pedig két érintkező közt mozog a harmadik.

Nem vagyok babonás, mert az szerencsétlenséget hoz!

(#352) Pubszon válasza happy555 (#351) üzenetére


Pubszon
veterán

Egyenáramú motor, a trafó 230V-ja lesz kapcsolva.

Amúgy megjött a 4-es relé modul meg az arduino is! :DD

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#353) Pubszon


Pubszon
veterán

Na és össze van állítva próbára, működik ahogy elgondoltam! :D

Itt a kód, tippeket várok. :K

const int buttonPin1 = 2; // Kapu nyitas gomb, a vevo egyik releje
const int buttonPin2 = 3; // Kapu zaras gomb, a vevo masik releje
const int iranyPin1 = 4; // Kapu nyitas-zaras, elso rele valtokapcsolo 1. rele
const int iranyPin2 = 5; // Kapu nyitas-zaras, masodik rele valtokapcsolo 2. rele
const int jelzoPin = 6; // Jelzofeny nyitas/zaras ideje alatt 3. rele
const int resetPin = 7; // Vevo reset hogy a relek NO-ba alljanak 4. rele
const int ACvPin = 8; // Motor 230V lekapcsolasa 5. kulonallo rele
const int vegallasPin1 = 9; // Vegallaskapcsolo-nyitva
const int vegallasPin2 = 10; // Vegallaskapcsolo-zarva /Magnes erzekelo/
const int ledPin = 13; // Allapotjelzo LED, folyamatosan vilagit muvelet kozben


// valtozni fognak:
int nyitoGomb = 0; // Valtozik a gomb allapota alapjan
int zaroGomb = 0; // Valtozik a gomb allapota alapjan
int vegallasNyitva = 0; // Valtozik a vegallaskapcsolo allapota alapjan
int vegallasZarva = 0; // Valtozik a vegallaskapcsolo allapota alapjan

void setup() {
// Ki-bemenetkent:
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
pinMode(vegallasPin1, INPUT);
pinMode(vegallasPin2, INPUT);
pinMode(iranyPin1, OUTPUT);
pinMode(iranyPin2, OUTPUT);
pinMode(jelzoPin, OUTPUT);
pinMode(ACvPin, OUTPUT);
pinMode(resetPin, OUTPUT);
pinMode(ledPin, OUTPUT);
}

void loop()
{
nyitoGomb = digitalRead(buttonPin1);
zaroGomb = digitalRead(buttonPin2);
vegallasNyitva = digitalRead(vegallasPin1);
vegallasZarva = digitalRead(vegallasPin2);
digitalRead(buttonPin1);
digitalRead(buttonPin2);
digitalRead(vegallasPin1);
digitalRead(vegallasPin2);

if ((nyitoGomb == HIGH) && (zaroGomb == LOW) && (vegallasNyitva == LOW)) // Nyitas

{
digitalWrite(jelzoPin, LOW);
digitalWrite(ledPin, HIGH);
digitalWrite(iranyPin1, HIGH); //+
digitalWrite(iranyPin2, LOW); //-
delay(300);
digitalWrite(ACvPin, LOW);
}

else if ((nyitoGomb == HIGH) && (zaroGomb == LOW) && (vegallasNyitva == HIGH)) // Nyitva

{
delay(11); //Ha kinyilik, mennyit toljon meg, hogy feszes legyen
digitalWrite(jelzoPin, HIGH);
digitalWrite(ACvPin, HIGH);
digitalWrite(resetPin, LOW);
do
{
digitalWrite(ledPin, HIGH);
delay(100);
digitalWrite(ledPin, LOW);
delay(100);
digitalRead(nyitoGomb);
digitalRead(zaroGomb);
break;
}
while((nyitoGomb==HIGH) || (zaroGomb==HIGH));
delay(400);
digitalWrite(resetPin, LOW);
}

else if ((nyitoGomb == LOW) && (zaroGomb == HIGH) && (vegallasZarva == LOW)) // Zaras

{
digitalWrite(jelzoPin, LOW);
digitalWrite(ledPin, HIGH);
digitalWrite(iranyPin1, LOW); //+
digitalWrite(iranyPin2, HIGH); //-
delay(300);
digitalWrite(ACvPin, LOW);
}

else if ((nyitoGomb == LOW) && (zaroGomb == HIGH) && (vegallasZarva == HIGH)) // Zarva

{
delay(11); //Ha bezarul, mennyit toljon meg, hogy feszes legyen
digitalWrite(jelzoPin, HIGH);
digitalWrite(ACvPin, HIGH);
digitalWrite(resetPin, LOW);
do
{
digitalWrite(ledPin, HIGH);
delay(100);
digitalWrite(ledPin, LOW);
delay(100);
digitalRead(nyitoGomb);
digitalRead(zaroGomb);
break;
}
while((nyitoGomb==HIGH) || (zaroGomb==HIGH));
delay(400);
digitalWrite(resetPin, LOW);
}

else if ((nyitoGomb == LOW) && (zaroGomb == LOW)) // Mind 2 gomb kikapcsolva a taviranyiton, alap statusz

{
digitalWrite(iranyPin1, HIGH);
digitalWrite(iranyPin2, HIGH);
digitalWrite(ACvPin, HIGH);
digitalWrite(jelzoPin, HIGH);
digitalWrite(resetPin, HIGH);
do
{
digitalWrite(ledPin, HIGH);
delay(100);
digitalWrite(ledPin, LOW);
delay(100);
digitalRead(nyitoGomb);
digitalRead(zaroGomb);
break;
}
while((nyitoGomb==LOW) && (zaroGomb==LOW));

}

else

{
digitalWrite(iranyPin1, HIGH);
digitalWrite(iranyPin2, HIGH);
digitalWrite(jelzoPin, HIGH);
digitalWrite(ACvPin, HIGH);
digitalWrite(resetPin, LOW);
do
{
digitalWrite(ledPin, HIGH);
delay(100);
digitalWrite(ledPin, LOW);
delay(100);
digitalRead(nyitoGomb);
digitalRead(zaroGomb);
break;
}
while((nyitoGomb==LOW) && (zaroGomb==LOW));
delay(200);
digitalWrite(resetPin, HIGH);
}
}

[ Szerkesztve ]

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#354) g0dl


g0dl
addikt

Ezzel a modellező eszközzel kapcsolatban van valakinek tapasztalata? Mennyire korlátozott az ingyenes változat.

(#355) happy555 válasza Pubszon (#353) üzenetére


happy555
aktív tag

Mire?

Nem vagyok babonás, mert az szerencsétlenséget hoz!

(#356) Pubszon válasza happy555 (#355) üzenetére


Pubszon
veterán

Hogy mi az ami felesleges vagy hogy lehet egyszerűbben, vagy bármi más hasznos dolgot. :)

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#357) happy555 válasza Pubszon (#356) üzenetére


happy555
aktív tag

Lehet csiszolgatni (fogod is :) ) bőven.
Már csak azért is, mert megfelel erre a feladatra, de mást így nem tud végezni, mivel megakasztod a programot egy led villogtatás loop-al.
Pedig míg nincs más dolga, kezelhetne esti fényt, mérhetne és küldhetne hőmérsékletet, kezelhetne csengőt, fénysorompót, stb...... :D
Jahh és lehetne benne "kiskapu funkció" is, amikor nem nyit ki teljesen, csak hogy gyalog be lehessen menni.

Nem vagyok babonás, mert az szerencsétlenséget hoz!

(#358) Pubszon válasza happy555 (#357) üzenetére


Pubszon
veterán

Az ilyesmik érdekelnek engem.
A LED villogtatás nem fontos, helyette tényleg csinálhatna valami mást.
Erre mit ajánlsz?

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#359) happy555 válasza Pubszon (#358) üzenetére


happy555
aktív tag

Led villogtatás pl.:

program elején

boolean T;

Loop végére pl.:

if(((millis()/100) & 1) == T){//tizedmásodperces ütemezés
T=!T;
digitalWrite(ledPin, T);
}

Fut tovább a progi és kapcsolgatja a ledet

Nem vagyok babonás, mert az szerencsétlenséget hoz!

(#360) Pubszon válasza happy555 (#359) üzenetére


Pubszon
veterán

Ez is jó, bele is tettem a programba, ami most tökéletesen működik.

Viszont azt már most látom, hogy nem lesz könnyű megcsinálni az RF vevővel ha meg jön.
Most azzal kísérletezgetek, hogy hogy kell egy pillanatkapcsolóból billenőkapcsolót csinálni.
Itt van hozzá egy kód, ami működik is ahogy kell, de már ez is elég bonyolult, főleg hogy még rakjam is bele a kapunyitó programba, meg még az RF vevőt is bele kell. :F

Jó lenne, ha ezek meglennének könyvtárként. :D

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#361) happy555 válasza Pubszon (#360) üzenetére


happy555
aktív tag

Most azzal kísérletezgetek, hogy hogy kell egy pillanatkapcsolóból billenőkapcsolót csinálni.
Érdekes kísérlet :)
Mi a célod vele?

Létezik rf könyvtár rcswitch

[ Szerkesztve ]

Nem vagyok babonás, mert az szerencsétlenséget hoz!

(#362) Pubszon válasza happy555 (#361) üzenetére


Pubszon
veterán

Rosszul fejeztem ki magam, de így biztosan fogod érteni.
Viszont jól átalakítottam a kódot és most pillanatkapcsolóval menne, amivel még egyszerűbb az egész. :K
Most úgy van, hogy pl nyitás közben ha megnyomom a zárás gombot, akkor csak megáll, ha pedig megint megnyomom, akkor meg bezár, és ez fordítva is igaz. Ez jelenleg csak pillanatkapcsolóval működik, de ez a resetelős megoldás amúgy sem jó. :(

kagzer fórumtárs küldött tegnap egy RF vevőt, remélem holnap megkapom és akkor lesz az igazi! :) :R

[ Szerkesztve ]

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#363) happy555 válasza Pubszon (#362) üzenetére


happy555
aktív tag

Úgy oldottam meg, ha nyitás közben nyomok nyitást akkor áll meg, ha zárást akkor visszafordul. Ehhez még kell határozni egy időt aminek el kell telnie két gombnyomás közt, hogy az érvényes legyen.

Nem vagyok babonás, mert az szerencsétlenséget hoz!

(#364) Pubszon válasza happy555 (#363) üzenetére


Pubszon
veterán

Most én is módosítottam, nyitás vagy záráskor bármely gombot ha megnyomom akkor megáll, vár 1000ms-ot és csak utána lehet adni neki a következő parancsot.
A végálláskapcsolókat is módosítottam, folyamatosan HIGH állapotba vannak, mikor benyomódnak akkor lépnek LOW-ba. Ezt a biztonságért, hogy ha szakadás van, inkább ne induljon el, minthogy valami leégjen.

Viszont megjött az RF vevő amit a fórumtárs küldött, ráadásul 2 vevő és 2 transzmitter! :Y
Ezennel is köszönöm, amint tudom meghálálom. :R

Na de egyelőre csak a vevőt használnám, ahhoz hol találom meg a megfelelő könyvtárat és leírást?
2 gombos távirányítót használnék. :)

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#365) happy555 válasza Pubszon (#364) üzenetére


happy555
aktív tag

RCSWITCH

Nem vagyok babonás, mert az szerencsétlenséget hoz!

(#366) Pubszon válasza happy555 (#365) üzenetére


Pubszon
veterán

És hogy tudom meg a távirányítóm kódját?

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#367) happy555 válasza Pubszon (#366) üzenetére


happy555
aktív tag

:D

Nézz körül a mintapéldáiban!
ReceiveDemo_Simple

Nem vagyok babonás, mert az szerencsétlenséget hoz!

(#368) Danex válasza happy555 (#367) üzenetére


Danex
addikt

Nálam sajnos a RCSwitch nem működött, vagyis csak hibásan, szóval ha esetleg neked se megy akkor szólj és megkeresem azt amit ment nálam.

(#369) happy555 válasza Danex (#368) üzenetére


happy555
aktív tag

Nekem megy, de kíváncsian várom mid van!

Nem vagyok babonás, mert az szerencsétlenséget hoz!

(#370) Pubszon válasza Danex (#368) üzenetére


Pubszon
veterán

Szia.
Nem jutottam semmire, pedig egy DIP kapcsolós konnektoraljzattal is próbáltam, de semmi. :(
Jó lenne ha elküldenéd. :)

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#371) Danex válasza happy555 (#369) üzenetére


Danex
addikt

RemoteSwitch lenne az

#include <RemoteReceiver.h>

void setup() {
Serial.begin(115200);
RemoteReceiver::init(0, 3, showCode);
}

void loop() {
}
void showCode(unsigned long receivedCode, unsigned int period) {
Serial.print("Code: ");
Serial.print(receivedCode);
Serial.print(", period duration: ");
Serial.print(period);
Serial.println("us.");
}

A kódja is egyszerű, nekem az RCSwitch nem tudta érzékelni a jeleket, illetve volt, hogy néha egy véletlenszerű kódot lökött a Monitorra, de nem jártam vele sikerrel. :(

(#370) Pubszon
Most látom, hogy nem sikerült neked se, a library tartalmazza az alap programot ott leírás is található, hogy hova kell kötni az érzékelőt.

[ Szerkesztve ]

(#372) happy555 válasza Danex (#371) üzenetére


happy555
aktív tag

Nem ismertem!
Elro , kaku, blokker, mik ezek?

Nem vagyok babonás, mert az szerencsétlenséget hoz!

(#373) Danex válasza happy555 (#372) üzenetére


Danex
addikt

Mik? :DDD

(#374) Pubszon válasza Danex (#371) üzenetére


Pubszon
veterán

Köszi, frankón mutatja minden gombnak a kódját a 433MHz-es távirányító esetében, viszont ami nekem van a kapuhoz, azzal az a baj, hogy 315MHz-es és annál nem mutat semmit. :F
Teendő esetleg?

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#375) Danex válasza Pubszon (#374) üzenetére


Danex
addikt

Ahhoz 315Mhz-es érzékelő(és adó) kell sajnos (tudomásom szerint).

(#376) happy555 válasza Danex (#375) üzenetére


happy555
aktív tag

Így igaz!

Nem vagyok babonás, mert az szerencsétlenséget hoz!

(#377) Pubszon válasza Danex (#375) üzenetére


Pubszon
veterán

Ez van most, de csak a távirányítóját használom, leírásban 315MHz.

A receiver ami most rá van kötve pedig ez.

Mind a 2 tudja a 315MHz-et. :F

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#378) happy555 válasza Pubszon (#377) üzenetére


happy555
aktív tag

Ez nem úgy van Hogy ha tud 433-at akkor tud 315 is.
Az egyik 315-ön megy, másik 433-on!
Ez fix érték.

[ Szerkesztve ]

Nem vagyok babonás, mert az szerencsétlenséget hoz!

(#379) Danex válasza Pubszon (#377) üzenetére


Danex
addikt

Ez a különbség a 315mhz és a 433mhz-es között. Szerintem a menetszámra gondol bal fent, és nem a tekerésre (csavar).

Az én érzékelőm hátlapján jelölve van a 3 érték közül a 433-as.

[ Szerkesztve ]

(#380) Pubszon válasza happy555 (#378) üzenetére


Pubszon
veterán

Na, akkor vennem kell egy 315-ös receivert is. :W
csak azt nem értem, hogy mi az a customized frequency is available...
mármint írni kell nekik, hogy milyet küldjenek?

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#381) Danex válasza Pubszon (#380) üzenetére


Danex
addikt

igen, így érthették. Vagy lehet érdemesebb lenne teljesen áttérned 433mhz-re.

[ Szerkesztve ]

(#382) Pubszon válasza Danex (#381) üzenetére


Pubszon
veterán

Lehet az lesz, egész olcsón vannak jó távirányítók. :K

[ Szerkesztve ]

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#383) happy555 válasza Pubszon (#382) üzenetére


happy555
aktív tag

Mondtam valamelyik nap, hogy a 433 járja errefele.....
Ugrókódossal nem boldogul, fix meg max csak gagyi cuucoson van :K

Hiába törölsz, már tudjuk mi a csapás :DD

[ Szerkesztve ]

Nem vagyok babonás, mert az szerencsétlenséget hoz!

(#384) happy555 válasza happy555 (#372) üzenetére


happy555
aktív tag

Mintákban szerepel.
De ezek szerint nem jártál utána miket tud a progi.

Nem vagyok babonás, mert az szerencsétlenséget hoz!

(#385) tvamos válasza Pubszon (#380) üzenetére


tvamos
nagyúr

Ne hasznaljatok a 315MHz-es cuccokat! Nem jo az nektek!

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

(#386) Pubszon válasza happy555 (#383) üzenetére


Pubszon
veterán

Akkor átállok 433-ra, ahhoz 4 gombos távirányító is van 5-600Ft-ért, amivel ahogy korábban mondtad egyéb funkciók is megoldhatóak. :)
Gyakorolni meg van mivel addig helyette.

Direkt vártam pár percet szerkesztési időben, hogy hátha látjátok, de akkor nem mondtam újat. :D
Az én kocsim távja jelét nem fogja, de a faterét igen, ami utólag lett beszerelve.
Nem tudom hogy ugró kódos e.

(#385) tvamos: Nem fogom, de miért nem ajánlott?

[ Szerkesztve ]

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#387) Danex válasza Pubszon (#386) üzenetére


Danex
addikt

Mert a 315MHz EU-n belül tiltott frekvencia :U

(#388) Pubszon válasza Danex (#387) üzenetére


Pubszon
veterán

Jah, azt hittem valami komoly ok miatt, de kidobni nem fogom. :D

Rendeltem egy ilyet, remélem jó lesz.
Szerinted?

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#389) Danex válasza Pubszon (#388) üzenetére


Danex
addikt

Öhm, ha jól értem neked most van egy reléd ami 315MHz-es távkapcsolóval megy. Ahhoz ez nem lesz jó.

(#390) Pubszon válasza Danex (#389) üzenetére


Pubszon
veterán

Igen, de ahhoz van 2db 315MHz-es távirányítóm is, az jó lesz máshova, viszont van az arduinohoz 433MHz-es receiver 2db meg 2 transmitter is. Ahhoz lenne ez a távirányító. :)
Remélem jó lesz hozzá, mivel ez 4 gombos, így egyéb funkciókat is tudok beprogramozni a nyitás/záráson kívül (elektromos kapunyitó).

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#391) Danex válasza Pubszon (#390) üzenetére


Danex
addikt

Akkor úgy jó lesz elvileg :U

(#392) happy555 válasza Pubszon (#388) üzenetére


happy555
aktív tag

Jó lesz.
Csak majd tenni kell rá kódot, mert ez gyárilag üres.

Nem vagyok babonás, mert az szerencsétlenséget hoz!

(#393) Pubszon válasza happy555 (#392) üzenetére


Pubszon
veterán

Zsír, ilyen van itthon, erről rá is tudom tenni akkor a D meg az E párost és elég lesz az az egy távirányító meg ez. :)

Ezzel addig tudok tesztelni is.

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#394) happy555 válasza Pubszon (#393) üzenetére


happy555
aktív tag

Tudtad fogadni a kódját arduinoval?
Akkor nagyon valószínű.

Nem vagyok babonás, mert az szerencsétlenséget hoz!

(#395) Pubszon válasza happy555 (#394) üzenetére


Pubszon
veterán

Igen, ennek minden gombját szépen mutatta a serial monitor.
Sőt, még ennek a központi zár távirányítónak a jelét is fogta, de lehet ez ugrókódos.

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#396) Pubszon


Pubszon
veterán

Meg van a 4 gomb 6 számjegyű kódja.
Egyelőre 2 gombot akarok használni, ami lényegében ugyan azt a funkciót töltené be, mint 2 pillanatkapcsoló.
Az egyik kód lenne a nyitoGomb a másik pedig a zaroGomb.

Hogy tudom megoldani?

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#397) happy555 válasza Pubszon (#396) üzenetére


happy555
aktív tag

if(receivedCode==ami_a_kodod){
...........
receivedCode=0;
};

Nem vagyok babonás, mert az szerencsétlenséget hoz!

(#398) Pubszon válasza happy555 (#397) üzenetére


Pubszon
veterán

Deklarálni kellene, de az nem tudom hogy kell.
Illetve a 246757 kódnak ugyan annak kellene lenni mint a nyitoGomb=HIGH-nak. :F

ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...

(#399) happy555 válasza Pubszon (#398) üzenetére


happy555
aktív tag

#define nyitas 246757
boolean nyitoGomb=false;

if(receivedCode==nyitas){
nyitoGomb=true;
receivedCode=0;
};

Ezutan vizsgalhatod hogy if(nyitoGomb==HIGH) ....
Csak művelet befejeztével vissza kell állítani false-ra.

De egy kicsit foglalkozz a C++-al, fejtegesd a mintákat!

Nem vagyok babonás, mert az szerencsétlenséget hoz!

(#400) g0dl


g0dl
addikt

A dccduino uno klónhoz drivert merre lehet találni?

Copyright © 2000-2024 PROHARDVER Informatikai Kft.