Hírek:

Fontos tudnivalók a migrációval kapcsolatban, Kérlek nézd meg a Régi fórumról új fórumra való költözés

Main Menu

Segítség, béna vagyok!

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

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

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.

xfrhyvxky

Ha nézed a gépet 13%-al gyorsabban dolgozik[#smile]