Close

posílání bitů z bytu na LED

Úvodní stránka Fórum Vaše projekty Arduino posílání bitů z bytu na LED

  • Toto téma obsahuje celkem 4 odpovědi. Do diskuze (3 diskutující) se naposledy zapojil uživatel posjirka a poslední změna proběhla před 8 roky.
Aktuálně je na stránce zobrazeno 5 příspěvků - 1. až 5. (celkem z 5)
  • Autor
    Příspěvky
  • #8482
    Diego
    Účastník

    Potřeboval bych poradit. Chtěl bych podle proměnné byte (8bitů) ovládat 8 různých LED diod.

    Máte nápad? 🙂

    Přímý přístup na port nemůžu využít,u každého mám i jiné využití.

    Díky

    #8483
    BlindP
    Účastník

    Tento tutorial je asi to co hledáš. 😉 Jen si tam budeš muset přidat něco jako ledPin++ . B.

    #8489
    posjirka
    Účastník

    myslím že ti spíš pomůže toto:
    http://tronixstuff.com/2011/10/22/tutorial-arduino-port-manipulation/
    případě popis je tu:
    https://www.arduino.cc/en/Reference/PortManipulation

    Co ti posílal BlindP je spíš pro poslání byte seriově přes 1 piny (např pro posuvný registr). To co ti posílám já je vlatně zápsi byte přímo na port arduina/atmegy. Podle stavu log. 1 a 0 se nastaví jednotlivé piny portu….

    Vyber si co ti bude více vyhovovat. Obě možnosti jsou použitelné jen nabízejí 1 ruzná řešení …

    #8490
    Diego
    Účastník

    Díky za rady, zkusim upravit první řešení. Verzi od posjirky nemůžu použít, jak sem psal nahoře – přímý přístup na port nemůžu použít.

    Uvidim jak se zadaří a pak se ozvu 😉

    #8496
    posjirka
    Účastník

    tím pádem bych to asi řeil něják takto:

    byte pins[8] = {2,3,4,5,6,7,8,9}; // prirazeni pinu jednotlivym bitum
    byte data = 170; // vstupni data
    
    void setup()
    {
    	// nastaveni pinu jako vystupni
    	for (int i=0; i <= 7; i++){
    		pinMode(pins[i], OUTPUT);
    	}
    	
    }
    
    void loop()
    {
    	// prenos dat na piny
    	for (int i=0; i <= 7; i++){
    		digitalWrite(pins[i], bitRead(data,i));
    	}
    	
    }
Aktuálně je na stránce zobrazeno 5 příspěvků - 1. až 5. (celkem z 5)
  • Pro reakci na toto téma se musíte přihlásit.