Hírek:

Fontos tudnivalók a migrációval kapcsolatban, kérlek olvasd el:

A régi fórumról áthozott hozzászólásoknál a felhasználó neve adatvédelmi megfontolásokból véletlenszerűen generált értékekre lett  lecserélve. Ez akkor tud a valódi értékre visszaállni, ha az adott felhasználó a régi fórumon nyilatkozik, hogy beleegyezik az adatainak az új fórumra továbbításához, majd ezután itt a régi felhasználónevével és email címével regisztrál.
8~20 óra között, 1~30 percen belül megtörténik a jóváhagyás, 30 percenként ellenőrizd email fiókodat (SPAM-ot is) mindenképp kapsz mail-t, a sikeres regisztrácioról, vagy a hibáról és, hogy mi a teendőd.
Nézd meg  "A régi fórumról, az új fórumra költözés útmutatót."
A régi fórumon használt email címmel de más felhasználói azonosítóval érkező regisztrációs kérelmek törlésre kerűlnek.

Main Menu

Segítség, béna vagyok!

Indította gaben, 2024 április 09, 15:35

Előző téma - Következő téma

kuner

Gomb megnyom, akkor a hozzá tartozó relé behúz. ismételt gombnyomásra relé elenged. Adott gomb a hozzá tartozó relét vezérli.
Minden bemeneten van felhúzó ellenállás. Ha A0 földre húz, akkor minden relé inaktiv lesz, ha A0 alap állapotban van, fut tovább a program, és visszaállnak a relék, tehát pörög tovább a program.

A0 bemenetre majd a riasztó adta jel érkezne, ha be van riasztva.
Ekkor minden relé inaktivvá válna, ha esetleg valahol felkapcsolva  maradt volna a villany.

Az nem lenne baj, ha minden megállna, csak a ledet villogtassa.

Lakásautomatizálási kisérlet a magam módján [#vigyor]

dezsoe

Oké, így tisztább a kép. :)

dezsoe

Kicsit átszerveztem a programot, de azt csinálja, amit írtál. A bemenetek INPUT_PULLUP-ra vannak állítva, ha vannak felhúzóid, akkor sima INPUT is lehet.


#include <Arduino.h>

#define redLED 12
#define greenLED 13

uint8_t LEDstate = 0;

int BtnState[8];
unsigned long BtnTimer[8];
uint8_t Button[] = { A1, A2, A3, A4, A5, 10, 9, A0 };

uint8_t RelayPin[] = { 8, 7, 6, 5, 4, 3, 2 };
bool RelayState[7];

bool DisableOutputs = false;
bool LastDisableOutputs = false;

void LEDmachine()
{
    static unsigned long lastmillis;
    unsigned long currmillis = millis();

    switch (LEDstate)
    {
    case 1:
        digitalWrite(redLED, LOW);
        LEDstate = 2;
        break;
    case 2:
        lastmillis = currmillis;
        digitalWrite(greenLED, HIGH);
        LEDstate = 3;
        break;
    case 3:
        if (currmillis - lastmillis > 100)
        {
            lastmillis = currmillis;
            digitalWrite(greenLED, LOW);
            LEDstate = 4;
        }
        break;
    case 4:
        if (currmillis - lastmillis > 2300)
            LEDstate = 2;
        break;
    case 5:
        digitalWrite(greenLED, LOW);
        LEDstate = 6;
        break;
    case 6:
        lastmillis = currmillis;
        digitalWrite(redLED, HIGH);
        LEDstate = 7;
        break;
    case 7:
        if (currmillis - lastmillis > 1000)
        {
            lastmillis = currmillis;
            digitalWrite(redLED, LOW);
            LEDstate = 8;
        }
        break;
    case 8:
        if (currmillis - lastmillis > 1000)
            LEDstate = 5;
        break;
    }
}

bool Btnmachine(int btn)
{
    unsigned long currmillis = millis();
    bool buttonpressed = !digitalRead(Button[btn]);

    switch (BtnState[btn])
    {
    case 0:
        BtnState[btn] = 1;
        break;
    case 1:
        if (buttonpressed)
        {
            BtnTimer[btn] = currmillis;
            BtnState[btn] = 2;
        }
        break;
    case 2:
        if (!buttonpressed)
            BtnState[btn] = 1;
        else if (currmillis - BtnTimer[btn] > 100)
            BtnState[btn] = 3;
        break;
    case 3:
        BtnState[btn] = 4;
        return true;
    case 4:
        if (!buttonpressed)
            BtnState[btn] = 0;
        break;
    }
    return false;
}

void setup()
{
    for (int i = 0; i < 8; ++i)
    {
        BtnState[i] = 0;
        pinMode(Button[i], INPUT_PULLUP);
    }

    for (int i = 0; i < 7; ++i)
    {
        RelayState[i] = false;
        pinMode(RelayPin[i], OUTPUT);
        digitalWrite(RelayPin[i], RelayState[i]);
    }

    pinMode(redLED, OUTPUT);
    digitalWrite(redLED, LOW);
    pinMode(greenLED, OUTPUT);
    digitalWrite(greenLED, LOW);

    LEDstate = 1;
}

void loop()
{
    LEDmachine();

    if (Btnmachine(7))
    {
        DisableOutputs = true;
        LEDstate = 5;
    }

    if (DisableOutputs)
    {
        if (digitalRead(Button[7]))
        {
            DisableOutputs = false;
            LEDstate = 1;
        }
    }
    else
        for (int i = 0; i < 7; ++i)
            if (Btnmachine(i))
            {
                RelayState[i] = !RelayState[i];
                digitalWrite(RelayPin[i], RelayState[i]);
            }

    if (DisableOutputs != LastDisableOutputs)
    {
        if (DisableOutputs)
            for (int i = 0; i < 7; ++i)
                digitalWrite(RelayPin[i], LOW);
        else
            for (int i = 0; i < 7; ++i)
                digitalWrite(RelayPin[i], RelayState[i]);
        LastDisableOutputs = DisableOutputs;
    }
}

jani300

Daewoo matiz

Van egy műanyag perselye a kormányoszlopban , és az szét szokott esni ,gyári hibája ez annak a kis autónak .
Kérdés : gyárt ehhez pótalkatrésznek valaki perselyt ?
Árulták valami fórumon de állítólag nem elérhető most .
Hoztak , cseréltem régebben , de még csak nem is volt pontos nagyobb volt , valahogyan azért megoldottam .
Fel kellett volna vennem a méreteit , de a fene aki akart még egyel bohóckodni ,de most megint megkeresett egy másik ismerős ,segítenék e ebben .

jani300

Már tárgytalan ,rendeltek valamit ,valahonnét ...

jani300

Na , megjött a valami ... :(
A furatba illeszkedő persely külmérete lötyög , a furat is legalább 5 tizeddel nagyobb . csodás .
Itt van apróra szedve a kormányoszlop ...
Hát majd holnap megbeszélem hátha tudok csináltatni bele valamit , ha kibontva odaviszem meg lesz oldva ,jól .
Ez legalább nem sürgős .
Tanulság , hozzá se kellett volna nyúlnom ,,, :(
Ja ilyet se láttam még ...
Az imobili úgy van megoldva ,hogy a burkolaton belül ott van gyorskötözővel egy kulcs , a kormányzáron .

sarktibsi

Na akkor jobb ha gyorsan nekiugrasz pik-pak gyorsan kiesztergálod és kész, estére már szerelheted befele.[#taps]

jani300

Anyagom sincsen hozzá ...
De azon már elgondolkodtam hajtok köré lemezt :)
Igazából a kiinduló anyagot félbevágják , és abból készül méretre a persely .
De ez sem atomkilövő ...
Úgy vállaltam hogy hoznak anyagot ...
Ez olyan egybecsúszós oszlop , baleset esetére .
Nem lehet rátolni a perselyt egyben .
De már húztam azért szét olyan oszlopot , csak nem szívesen vinném most a balhét .
Ehh ,nem csinálom már , most néztem aminek kiszakadt a múltkor a trapéz gömbfeje , alaposan lötyög a hátsó kereke is ...
Végül is már 5 fok felett van lassan , ,de még anyagra sincsen pénze , a múltkor is én intéztem kedvezményt is , elég jót .
Azért nem én vagyok a szeretetszolgálat , ha segítek is , néha . Lehet lefényképezem miről is van szó .

jani300

Na képek .
Becsempésztem a két utolsó szerzeményen is :)
Az oszlop lapolt része csúszik össze karambolnál .
Elvileg két kb 3 milis műanyag stift tartja .
Ha ott nem húzza szét az ember akkor nem megy rá a műanyag persely .
Na most ,kitalálta az internet népe hogy két félből tesznek oda perselyt , nem állítom hogy ez lenne az igazi megoldás ,
De nem akarom bevállalni az összecsúszás erejének módosítását !

    

guliver83

Sziasztok

Tudna valaki segíteni , hogy egy zelio sr2 b201fu PLC gyári programozó kábelt lehet helyettesíteni valami egyszerű programozóval?


Szeles59

Tudja e valaki hogy a kerámia főzőlap szabályzása fázis hasítással működik vagy nem?

  

Csuhás

Anélkül hogy ismerném, szinte bizonyos, hogy periódus csoport szabályozás van, hiszen a rendszernek nagy a hő tehetetlensége. A fázishasítás kellemetlen tranzienseket, és jókora zavar sugárzást okozna.

tekes

Egy cizellált feladattal órákon át is dolgozhat a cnc.
Kötelező szemmel tartani, vagy ott lehet hagyni?

PSoft

Szerintem nem akarsz Te fültokkal a fejeden, órák hosszat ott ülni a gép mellett és nézni hogyan csinálja.
Teszi az a dolgát a Te óvó/vigyázó(-nak vélt) tekinteted nélkül is.
Azt az időt, sokkal hasznosabban is el tudod majd tölteni.