Close

posjirka

Vytvořené odpovědi

Aktuálně je na stránce zobrazeno 15 příspěvků - 421. až 435. (celkem z 481)
  • Autor
    Příspěvky
  • odpověď na: Digispark USB ATtiny85 Mini Arduino #6227
    posjirka
    Účastník

    o tomto mini arduinu vím a už jsem o něm několikrát uvažoval.
    Na internetu je docela dost návodů na vlastní stavbu a tak předpokldám, že funguje.
    Jestli se na to v nejbližší době nkdy dostanu zkusím si jej naprogramovat a vyzkoušet.
    Mám te´d spíš problém s výrobou PCB ….

    odpověď na: Ukazatel zařazené rychlosti na motorku #6216
    posjirka
    Účastník

    chybami se člověk učí … 🙂

    odpověď na: LCD TFT 3,2 320X240 #6215
    posjirka
    Účastník

    nejde mi otevřít příloha ….

    odpověď na: 433 Mhz #6203
    posjirka
    Účastník

    jaký je rozdíl mezi byte a char ? 🙂
    obojí je 8-bitová proměnná, jen se jinak zobrazuje, resp. je to jiný pohled na stejnou kombinaci 8 bitů.
    Nevím na co to chceš, ale 433MHz je opravdu jen pro přenos jednoduchého kodu. Těch rušení v okolí je spousta (meteostanice, centrální ovl. auta, bezdrátové zvonky ,…).
    Navíc je to jednosměrná komunikace.
    Nepíšeš ovšem k čemu to chceš, tak je těžké poradit……

    odpověď na: LED pásek + ultrasonic sensorem HC-SR04 #6201
    posjirka
    Účastník

    nemáš zač. Tu hrubou stupnici jsem tam navrhoval od začátku proto, že nikdy neudržíš ruku ve stejné vzdálenosti od čidla. To čidlo taky nikdy nedá 2x po sobě stejný výsledek už jen proto, že se musí počítat z dozvukem předcházejícího signálu , nerovnosti plochy, atd atd.
    Ani průměr několika hodnot ti nepomůže a budeš mít nejen velký rozptyl, ale navíc tě to bude stát spoustu času.
    Zkoušel jsem zkrátit čas smyčky na 500ms a nefunguje to špatně, navíc je to celkem rychlý.

    Rád jsem pomohl,…

    odpověď na: LED pásek + ultrasonic sensorem HC-SR04 #6199
    posjirka
    Účastník

    hotovo, odzkoušeno, vyřešeno. Až to vyzkoušíš v realitě zjitíš pro je zbytečné a krajně nevhodné hrát si s lineární stupnicí. Po odzkoušení pak celou serivou komunikaci zakomentuj ať ti zbytečně nezkouší odesílat data. zdržuje to procesor a může se i resetnout.

    // LED ovládaná rukou v.2
    // by JP 2016
    // přiblížením ruky se reguluje intzenzita jasu LED od 0 do 100% jasu.
    // zatím ve 12 krocích 0 - 240 PWM 
    // jemnější nastavení už téměř nejde dosáhnout. 
    // nová intenzita se nastavuje přiblížením ruky na dobu 2s 
    // V.2 - použito funkce map() pro nastavení citlivosti
    
    // knihovna EEPROM
    #include <EEPROM.h>
    
    int echoPin = 2; // přijímač
    int trigPin = 3; // vysílač
    long distance = 0; // čas odezvy / vzdálenost
    int LED = 10; // pin s LED diodou s PWM řízením
    long lastDistance = 0; // hodnota posledního měření 
    int pwm = 0; // hodnota PWM
    long max_dist = 1500; // maximalni vzdalenost v ms
    long min_dist = 100; // minimalni vzdalenost v ms
    long kroku = 6; // pocet stupnu intenzit, kdy 0 = vypni, max = nereaguj takze pocet stupnu je koku-1 
    
    byte adresa = 1022; // adresa záznamu v EEPROM 
    
    void setup() {
      Serial.begin(9600);
      pinMode(echoPin, INPUT);
      pinMode(trigPin, OUTPUT);
      pinMode(LED, OUTPUT);
      pwm = EEPROM.read(adresa); // načtení poslední hodnoty z EEPROM
      analogWrite(LED, pwm); // zápis PWM
    }
    
    void loop() {
      // vysílám impulz
      digitalWrite(trigPin, LOW);
      delayMicroseconds(2);
      digitalWrite(trigPin, HIGH);
      delayMicroseconds(10);
      digitalWrite(trigPin, LOW);
      // měřím délku odezvy
      distance = pulseIn(echoPin, HIGH);
      Serial.print(distance); 
      distance = map(distance, min_dist, max_dist, 0, kroku); // prepocet na stupne intenzity svitu LED
      distance = constrain(distance, 0, kroku); // omezení přepočtu na nastevný rozsah
      Serial.print("/"); 
      Serial.print(distance);  
      Serial.print("/"); 
      Serial.println(kroku);
      if (lastDistance == distance){
        if (distance < kroku){
           pwm = distance * (255/(kroku-1)); // přepočet na PWM
           analogWrite(LED, pwm); // zápis PWM
           // změna oproti záznamu v EEPROM
           if (pwm != int(EEPROM.read(adresa))) {
             EEPROM.write(adresa, pwm); // záznam do EEPROM  
             Serial.print("Zapis do EEPROM ...");
           }
        }
      }
      Serial.print("Aktualni PWM ...");
      Serial.println(pwm);
      lastDistance = distance; // předání záznamu posledního měření
      delay(1000);
    }
    odpověď na: LED pásek + ultrasonic sensorem HC-SR04 #6198
    posjirka
    Účastník

    …nechám to tu chvilku odležet, nemám moc dobrý den a vznikla by zbytečná hádka bez řešení….. nech to být, hol jsem starý morous….

    odpověď na: LED pásek + ultrasonic sensorem HC-SR04 #6197
    posjirka
    Účastník

    napíšu to hodně mírně : jaké máš zkušenosti s touto oblastí ???
    Mám na mysli aplikace senzorů v reálném světě.

    odpověď na: Rozsvícení větší LED #6192
    posjirka
    Účastník

    tribal tam má chybku.
    Buď použiješ :
    1, NPN pro spínání země : logická 1 přes odpor otevře tranzistor a ten sepne zátěž a moc ti nezáleží na tom jestli je napájeci napětí 5V nebo 12V. Stačí správně určit protékajíc proud, podel toho vypočítat předřadný odpor a vybrat tranzistor, který tu zátěž vydrží.
    2, PNP spínáš napájecí napětí : logická 0 přivede „záporné“ napětí na bázi tranzistoru. Ve výsledku ale nepustí vyšší napětí než je napětí mikroprocesoru (tedy 5V), nebo nepůjde uzavřít tranzistor. je vhodné pro spínání zátěže stejného napští jako má mikroprocesor o větším proudu.

    Někdy se používá kombinace pro spínání segmentu a číslaovky.

    Ve zkratce použij zapojení s NPN tranzistorem.

    Attachments:
    odpověď na: Začátečník – akcelerometr, gyroskop #6191
    posjirka
    Účastník

    od pohonu se bude odvijet typ ovládání (pWM, Hmustek, krokáč)
    Jinak samozřejmě Ardunio (v podstatě je jedno jakýkoliv) a gryoskop.

    Možná se podívej na diy projekty BB8.

    odpověď na: Začátečník – akcelerometr, gyroskop #6190
    posjirka
    Účastník

    spíš se bude vše obvijet od typu pohonu. Nepíše třeba jaká je třeba reakční rychlost, jaké předpokládáš mezní parametry, napájecí napětí, síla atd.
    Na něco stačí stolice + deska spojená šroubovnicí, někde potřebuješ řemenici Tady všude je určitá mez + koncové dorazy/spínače.
    Na něco potřebuješ kluzné plochy spojené koly se základnou podoběn jako BB8 🙂

    odpověď na: propojení 2 mikrokontrolérů #6188
    posjirka
    Účastník

    5m je v pohodě, většina těch modulů nemá problém ani s 10 m.
    Jen si mi pořád neřekl jaká data tam potečou, jak jsou důležitá, jak často se budou opakovat, jaké je potřeba zabezpečení těch dat …
    na 433 MHz pracuje kde co, třeba i meteostanice, nebo dálkové ovládání centrálu u auta. pro důležitá jednorázová data není moc vhodný, spíš pro přenost dat ze senzoru, s opakovatelnosti třeba 1x 5s.
    Bluetooth je vcelku v pohodě jen si musíš udržet vazbu obou zařízení ať se ti nechytne na kdejaký mobil
    2,4GHz pracuje taky vcelku dost věcí (právě bluetooth, dálkové ovládání pro modely, …)
    WIFI je taky na 2,4GHz nebo na 5GHz podle typu sítě a potřebuješ mít aktuální název SSID a správné heslo. Provést aktualizaci zanmená nahrát nový program do mikroproces.
    Je potřeba opravdu správně vybírat, podle toho na co to chceš, z toho, že to bude panel na ruku moc nezjitím. Může to být 1x denně data o objemu 2kB (potřebuješ větčí zabezpečení a kontorlu popslaných dat) , nebo každých 5s data o 5MB (v tu chvíli taky můžeše zarušit vlastní WIFI signál pro jiná zařízení)….

    Jak vidíš nejlepší je starý dobrý drát, nebo mě ještě napadá IR jak pro dálkové ovládání …. Pro jednoměrnou komunikaci to může být vhodné řešení.

    odpověď na: Rozsvícení větší LED #6187
    posjirka
    Účastník

    wooow kaviárové tousty … BC556 je PNP tranzistor, ten se otevírá při záporném napětí na bázi.
    Použij BC337 …

    odpověď na: LED pásek + ultrasonic sensorem HC-SR04 #6186
    posjirka
    Účastník

    eepromka ti moc nepomůže, spíš ji ničíš neustálím přepisem. Má max 100 000 přepísů což vypadá nekonečně ale při zápisu 1 x 1s = 100 000 s = 1666 min = 27h takže za 1 den zničíš 1 buňku eeprom….

    Když se nad tím zamyslím, tak by to mohlo jít např. touto cestou:
    1, udělat to formou hrubé stupnice např:
    <10cm = 0 (pwm)
    15-20cm = 85
    25-30cm = 170
    35-40cm = 255
    >40cm = zapiš ale ignoruj
    žádné mezi stavy, prostě tyto hodnoty.
    2, Každou 1s si změříš vzdálenost.
    3, Tu zapíšeš do pole o 5-ti hodnotách, které budeš neustále posouvat.
    4, Když 3 z 5 hodnot budou stejné a přitom menší než 40cm nastav PWM a zapiš do eeprom (pokud je změna proti původní hodnotě v eeprom)

    Takže dáš ruku na víc než 3s na vzdálenost/intenzitu jakou chceš a podle toho se ti nastaví LED.

    Co ty na to? Je to co si představuješ?

    odpověď na: Časovane spinaní pinu #6166
    posjirka
    Účastník

    nemusíš to nulovat, stačí když budeš dál odpočítávát millis od old-millis. Stejně to nepustí v rámci proměnné více než je její rozsah a bude ti počítat od nuly. když dáš byte a jeho max hodnotu 255 a příčteš 1 tak máš zase 1 a né 256.

Aktuálně je na stránce zobrazeno 15 příspěvků - 421. až 435. (celkem z 481)