Stránka 1 z 1

přidání jednoho pinMode(xy,OUTPUT); znefunkční něco jiného

Napsal: 02 črc 2019, 17:00
od piipecek
Ahoj, mám situaci které nerozumím: když je kód:

Kód: Vybrat vše


int motorA1 = 8;
int motorA2 = 9;
int motorB1 = 10;

void setup() {

    pinMode(motorA1, OUTPUT);
    pinMode(motorA2, OUTPUT);

}

void loop() {
    digitalWrite(motorA1,HIGH);
    digitalWrite(motorA2,LOW);
}

tak vše funguje jak má, A1 zapnuto A2 vypnuto a motor běží
když ale přidám jednu řádku:

Kód: Vybrat vše


int motorA1 = 8;
int motorA2 = 9;
int motorB1 = 10;


void setup() {

    pinMode(motorA1, OUTPUT);
    pinMode(motorA2, OUTPUT);
    pinMode(motorB1, OUTPUT);


}

void loop() {
    digitalWrite(motorA1,HIGH);
    digitalWrite(motorA2,LOW);
}
přestane to fungovat jako předtím, A1 se zastaví. proč se to dějě?

Re: přidání jednoho pinMode(xy,OUTPUT); znefunkční něco jiného

Napsal: 02 črc 2019, 18:42
od gilhad
A jak to máš zapojené?

Re: přidání jednoho pinMode(xy,OUTPUT); znefunkční něco jiného

Napsal: 02 črc 2019, 19:12
od piipecek
uz jsem zjistil, ze problem bude v zapojeni. Neco blbne s H-mustkem: jeden motor ridit umi, pri druhym se to rozbiji, ale umi kazdej zvlast (WTF).

do jeho VCC mam 9V, GND do GND. a teď:

kdyz mam do arduina jen ty 2 kabely na ovladani motoru 1 tak bez problemu funguje. Když přidam jeden ze dvou kabelu pro motor 2 tak prestane jezdit i ten prvni. viz obrazek: https://pasteboard.co/Im8Qhgh.jpg . Jakmile ale propojim (10) s jednim z (B) tak to podela cely acko. je nekde v tom hmustku zkrat?

Re: přidání jednoho pinMode(xy,OUTPUT); znefunkční něco jiného

Napsal: 02 črc 2019, 19:55
od gilhad
H-můstků je celá řada a každý má jené řízení. To samé se týká motorů.

Když na vstup něčeho připojíš jen jeden z dvojice drátů a druhý necháš viset ve vzduchu, tak se to může taky chovat všelijak s ohledem na defaulty (zejména vnitřní pullupy a tak). Na Arduinu jsou neošetřené piny defaultně INPUT a mají navenek velký odpor. pinMode(motorB1, OUTPUT); přepne 10 na výstup (a tedy je tím momentem vší silou procesoru tažený k nějaké hodnotě, asi k nule) a tudíž drát na něj připojený, který byl předtím "ve vzduchu" po tomto příkazu "ve vzduchu" být přestane a je na něm velice konkrétní hodnota. Jak na takovouto kombinaci zareaguje dotyčný H-můstek by ti měl říct jeho datasheet.

(Krom toho se může stát, že jeden motor to z té baterky ještě zuby-nehty utáhne, ale u dvou už Hmůstek detekuje podpětí a odstaví se - zase bez znalosti motorů a Hmůstku těžko říct)

Re: přidání jednoho pinMode(xy,OUTPUT); znefunkční něco jiného

Napsal: 02 črc 2019, 20:25
od jankop
Víš naprosto jistě, že máš propojeny země Arduina a H-můstku? Pokud ano, tak nechápu jak můžeš namalovat ten nesmyslnej obrázek.

Re: přidání jednoho pinMode(xy,OUTPUT); znefunkční něco jiného

Napsal: 02 črc 2019, 23:13
od piipecek
ano, bylo to skutečně tím, že nebyla společná zem pro hmustek a arduino. diky.