Close

GabrielM

Vytvořené odpovědi

Aktuálně je na stránce zobrazeno 30 příspěvků - 1,561. až 1,590. (celkem z 2,760)
  • Autor
    Příspěvky
  • odpověď na: SSC32 servo kontroler #8474
    Aleš
    Účastník

    Tak to spíš 🙂
    Ten hexapod je vlastní výroba, nebo koupené jako stavebnice?

    https://forum.arduino.cc/index.php?topic=4705.0
    Tady píšou, že příkazem servo.read() se přečte jenom poslední hodnota, která byla do serva odeslaná. Skutečnou pozici serva prý přečíst nejde. Píšou, že by se musela udělat nějaká mechanická úprava – vytáhnout ze serva drát od potenciometru.

    odpověď na: SSC32 servo kontroler #8473
    honzakono
    Účastník

    vas quadped je moc peknej a roztomilej.
    zrovna jsem zacal integrovat ultrazvukovy senzor a dela mi problem
    namotat ho do kodu tak, aby fungoval soustavne v pozadi.
    v tomto smeru jste nejspise daleko predemnou, mozna byste mi mohl poradit.

    odpověď na: SSC32 servo kontroler #8472
    honzakono
    Účastník

    pouzivam serva HS-645MG.

    to „zakopnuti“ mozna nebyl tak uplne nejlepsi priklad :))) ,
    ale stane se napriklad to, ze nekdy dostane servo z nejakeho duvodu povel k pozici driven nez staci dokoncit predeslou.

    odpověď na: Ovládání zásuvek přes ehernet #8469
    Zwjar
    Účastník

    Díky za tipy a inspiraci, urcitě z toho něco pouziju.
    Ale určitě nebudu používat relay modul. Kvůli místu to chci řešit triakem.

    odpověď na: Problém ve smyčce #8468
    Cuore
    Účastník

    Ještě přidám nějakou ukázku hotového multimediálního PC HTPi a NAS serveru RASNas, na kterém jsou uloženy data. Hlavní požadavek byl bezhlučnost, proto síťové uložiště. Pak plně automatický chod a jednoduché ovládání. Raspi podporuje HDMI CEC + odchyt tlačítek arduinem, takže stačí jen ovladač od TV. A poslední požadavek minimální spotřeba. Arduino je napájeno pomocí USB z TV, takže běží jen když je zapnuta TV. Raspi je sepnuto následně Arduinem přes vnitřní napájecí zdroj HTPi. U RasNas pokud neni potřeba, tak běží pouze Raspi < 3W a potřebné disky se připnou.

    odpověď na: Ovládání zásuvek přes ehernet #8466
    posjirka
    Účastník
    odpověď na: SSC32 servo kontroler #8465
    Aleš
    Účastník

    Nějak si nedovedu představit, jak může hexapod zakopnout? 🙂 Já mám tohoto robota: https://drive.google.com/open?id=0B7XOvzuvJTLKXzE2YjREWE52QVU a v něm ta nejlevnější serva SG90. Serva jsou připojena přímo na Arduino Nano. Nikdy se nestalo, že by servo nedošlo do nastavené polohy. To by spíš něco prasklo. Jak jsem se do serva díval, tak je tam na motorek přivedené napájení, a na motorku je převodovka z několika plastových koleček. Myslím, že by asi prasklo některé z koleček, kdybych nohu nějak zablokoval.
    Vám se stává, že servo nedojde na zadaný úhel?
    Tady je ještě video: https://youtu.be/d0lvegUDVYE

    odpověď na: SSC32 servo kontroler #8462
    Zbyšek Voda
    Účastník

    Díky za upřesnění.
    Jaká serva používáte?

    odpověď na: SSC32 servo kontroler #8461
    honzakono
    Účastník

    omlouvam se, jestli jsem se nevyjadril srozumitelne.
    tak tedy: … vim docela jiste kdy byl poslan prikaz k pohybu na pozici (dokonce i jak dlouho by mel trvat pohyb nez pozice dosahne). vetsinou je od pohledu i docela jasne ze serva dosahla cilovych pozic.
    nekdy se ale stane (z rady duvodu), ze jedno nebo vice servmotoru proste nedojdou kam maji. napriklad kdyz hexapod zakopne. v takovem pripade by bylo treba zjistit pozici serva
    a pracovat s ni v nasledujicich vypoctech casu a rychlosti pohybu serva k nasledujici regulerni pozici, pripadne korekci pozice, …. nebo i korekce zbytku hexapoda …
    nehlede na to, ze by se s tim daly pohodlneji delat prechody mezi sekvencemi pohybu.
    cili, nejde mi o to sledovat pozice motoru celou dobu, ale spise byt schopen
    kontrolovat (a pripadne korigovat) pozice periodicky, a zjistovat je kdykoliv jindy,
    kdy je jejich znamost potrebna k vypoctum nasledujicich zmen pohybu/sekvence.

    odpověď na: SSC32 servo kontroler #8460
    Zbyšek Voda
    Účastník

    To „dosažení zadané pozice“ podle mě znamená to, že vy pošlete do SSC32:
    „nastav servo 1 na úhel 100°“
    Není ale možné, aby servo bylo okamžitě z 0° nastaveno na 100°, takže řídící elektronika s určitou rychlostí odesílá „nastav 1°“, „nastav 2°“, …, „nastav 50°“, …, „nastav 100°“ a v tento moment dojde k potvrzení, že je servo na požadované pozici.

    To je ale pouze potvrzení, že řídící elektronika odeslala servu, aby se nastavilo na 100°. Jestli tam ale servo skutečně je, to nikdo neví. Většinou ale na těch 100° skutečně je.

    Podle původní otázky jsem myslel, že chcete mít skutečnou informaci o poloze serva (zjištěnou například nějakým senzorem). Teď to ale vypadá, že se jenom ptáte, jak získat z SSC32 informaci, že už servo bylo nastaveno na zadanou pozici. Jak to tedy myslíte?

    odpověď na: SSC32 servo kontroler #8459
    honzakono
    Účastník

    diky za info.
    SSC posila do pocitace (skrze SSC-sekvencer) informaci o tom jestli servo jiz dosahlo zadanou pozici, nebo jeste ne. pravda je, ze to dela na vyzadani skrze USB pripojeni.
    dokaze takto udajne posilat i udaje o pozici. doufal jsem, ze by mohlo umet stejne informace posilat i do ridiciho boardu (Arduino, v mem pripade) skrze TX / RX, kdyz
    timto zpusobem pokyny prijima.
    takze by to naznacovalo, ze je SSC nejmene alespon pro sebe schopne pozice zjistit.
    je to divny, ze Arduino umi cist pozici serva, ktere je k jeho pinu pripojeno,
    ale dedikovany servo kontroler to same neumi.
    tohle cteni pozic je z mnoha duvodu dost potrebna vec (zvlaste kdyz ma clovek 18 servo motoru na hexapodu) nejen pro pripadne korekce za chodu.

    odpověď na: Problém ve smyčce #8457
    Cuore
    Účastník

    Tak nakonec byl problém v SSR pomocí kterého se posila binární info od Raspi. Ikdyž tam byl pulldown odpor, tak arduino vyhodnocovalo Log1. Takže jsem to zapojil jako pullup a optimalizoval kód.
    #include <IRremote.h>
    #define PRODLEVA 50
    bool MinulyStav = 0; // priznak predchoziho stavu tlacitka (1 .. stisknuto)
    unsigned long CasZmeny; // promenna pro ulozeni casu zmeny stavu tlacitka
    int zelena; // Zelene tlacitko na ovladaci TV Sony Bravia
    int RECV_PIN = 3; // vstup od IRLED
    int poc; // promenna na pocitani cycklu
    int jas; // jas diody
    IRrecv irrecv(RECV_PIN);
    decode_results results;
    void setup()
    {
    Serial.begin(9600);
    irrecv.enableIRIn(); // Zacatek cteni pinu v seriovem monitoru
    pinMode(3, INPUT_PULLUP); // vstup od IRLED
    pinMode(4, OUTPUT); // R
    pinMode(5, OUTPUT); // G
    pinMode(6, OUTPUT); // B
    pinMode(7, INPUT_PULLUP); // zpetna vazba od RasPi
    pinMode(12, OUTPUT); // napajeni pro RasPi
    digitalWrite(4, LOW);
    digitalWrite(5, LOW);
    digitalWrite(6, LOW);
    digitalWrite(12, LOW);
    }
    void loop() {
    // **OVLADANI RGB LED**
    if (digitalRead(7) == 0 && digitalRead(12) == 1) // RasPi si seplo samodrzny kontakt vypnu napajeni
    {
    analogWrite(5, 150); // zelena LED = 1
    analogWrite(4, 255); // cervena LED = 0
    analogWrite(6, 255); // modra LED = 0
    delay (5000); // cekej 5s
    digitalWrite(12, LOW); // vypnu napajeni pro RasPi
    }
    else if (digitalRead(7) == 1 && digitalRead(12) == 1) // pokud RasPi jeste nenabehlo
    {
    analogWrite(4, 254); // cervena LED = 1
    analogWrite(5, 254); // zelena LED = 1
    analogWrite(6, 255); // modra LED = 0
    }
    else if (digitalRead(7) == 0 && digitalRead(12) == 0) // RasPi bezi a drzi si napajeni
    {
    analogWrite(6, 254); // modra LED = 1
    analogWrite(5, 255); // zelena LED = 0
    analogWrite(4, 255); // cervena LED = 0
    }
    else if (digitalRead(7) == 1 && digitalRead(12) == 0) // arduino v pohotovosti
    {
    analogWrite(4, 254); // cervena LED = 1
    analogWrite(5, 255); // zelena LED = 0
    analogWrite(6, 255); // modra LED = 0
    }
    // **ODCHYT TLACITKA Z DALKOVEHO OVLADACE**
    if (irrecv.decode(&results)) {
    int zelena = results.value;
    if ((zelena == 13033) && ((digitalRead(7) == 1) && (digitalRead(12) == 0))) // pokud je stisknuto pozadovane tlacitko a zatim neprobehla akce spusteni RasPi
    {
    digitalWrite(12, HIGH); // sepni napajeni pro RasPi
    analogWrite(5, 255); // zelena LED = 0
    analogWrite(6, 255); // modra LED = 0
    jas = 256; // zacatek bliknuti s cervenou LED
    for(poc=0;poc<256;poc++){
    jas = jas – 1;
    analogWrite(4, jas);
    delay(10);
    }
    for(poc=0;poc<256;poc++){
    analogWrite(4, poc);
    delay(10);
    } // konec bliknuti s cervenou LED
    }
    Serial.println(zelena, HEX); // prepis HEX na seriovy monitor
    irrecv.resume(); // Cti dalsi hodnotu
    }
    if (digitalRead(3) == 0) // je-li tlacitko stisknuto
    {
    if (MinulyStav == 0 && millis() – CasZmeny > PRODLEVA) // neni-li nastaven priznak
    { // tlacitko stisknuto a uplynul-li vetsi cas od zmeny stavu tlacitka nez je mez (50ms)
    MinulyStav = 1; // nastav priznak tlacitko stisknuto
    }
    }
    else // neni-li stisknuto tlacitko
    {
    CasZmeny = millis(); // zapamatuj si posledni cas, kdy bylo nestisknuto
    MinulyStav = 0; // nuluj priznak, tlacitko stisknuto
    }
    }

    odpověď na: SSC32 servo kontroler #8456
    Zbyšek Voda
    Účastník

    Pokud chcete mít přehled o poloze serva, musíte mít servo, které je na to přizpůsobené a má na sobě například nějaký přídavný senzor. Třeba na tomhle servu: https://www.adafruit.com/product/1404 je vyvedený potenciometr, takže měřením analogové hodnoty máte přehled, kam až servo dojelo.

    I kdyby šla informace o nastaveném úhlu z desky SSC32 získat zpátky (což myslím nejde), bude tato informace stejně irelevantní, jako kdybyste si jenom pamatoval hodnotu, kterou jste na servu nastavil – neměl byste reálný feedback o poloze serva, ale jenom domnělou hodnotu, kterou si SSC32 myslí, že servo má nastaveno.

    odpověď na: SSC32 servo kontroler #8445
    honzakono
    Účastník

    Ano, kdyz si nekam nastavim servo, tak vim kde je :))))
    … tedy pokud tam skutecne doputovalo, a to je prave ten problem, co potrebuji resit.
    jednim z tech duvodu proc bych potreboval zjistovat pozice servo motoru je kontrola/debugovani.
    Cteni pozice serva primo z Arduino boardu je mozne a celkem snadne.
    Predpokladam, ze to same by melo byt mozne i z SSC32, jinak by byl tenhle servo kontroler
    dost retardovany, cemuz se mi nechce verit, uvazime-le, ze se jedna o jeden z nejpouzivanejsich.

    odpověď na: SSC32 servo kontroler #8444
    Aleš
    Účastník

    Řekl bych, že to nejde. Ale podle mne, když si někam nastavíte servo, tak ho tam máte, a víte, kam jste si ho nastavil. Nebo ne?

    odpověď na: Ovládání rolety a její odměřování #8442
    Dawe
    Účastník

    Zdravim,
    osobne bych z jednoduchosti veci nacvakl do rolety dve kovove kolecka. Jedno pro horni polohu na spodni konec rolety a jedno pro spodni polohu tak aby pri vysunute rolete bylo tesne pod zasobnikem a pouzil bych dva bezkontakni snimace ktere bych umistil primo pod zasobnik rolety vedle sebe.
    Pozor kovove kolecka nesmi byt na rolete primo pod sebou, ale vzajemne posunute do strany.
    Snad sem svym napadem trochu pomohl.

    odpověď na: Arduino Dealerství #8433
    blackshock
    Účastník

    Díky za info, že na eBay je taky poštovné z Číny zdarma. Myslel jsem, že to je jen pro čínské eshopy.

    Nicméně si dovolím ještě malou poznámku k té platební kartě. Aliexpress, resp. Alibaba.com, ktera jej vlastni, ma 2x tak velky obrat nez eBay, takze obava, ze by cloveku vyluxovali ucet nebo si kazili jmeno podvody, asi fakt nehrozi :-). Takze ja bych rekl, ze je uplne fuk, jestli clovek nakoupi na ebay nebo ali…

    odpověď na: Arduino Dealerství #8431
    Aleš
    Účastník

    Na AliExpressu nenakupuju, protože se mi nechce zadávat bůhvíkomu údaje o mé platební kartě. Na eBay se to dá koupit za stejnou cenu, většinou ještě levněji než na Ali. Poštovné je také na eBay většinou zdarma (čínskou poštu dotuje stát, proto si mohou dovolit prodávat za 1$ včetně poštovného). Když něco koupeného na eBay nepřijde, nebo přijde nekvalitní/poškozené, tak číňan bez řečí pošle peníze zpět. Když se cuká, tak peníze vrátí PayPal.

    odpověď na: Arduino Dealerství #8429
    blackshock
    Účastník

    Myslím, že základní výhoda AliExpressu je poštovný zdarma. Nebo je to na eBay tak levné, že se to vyplatí i s poštovným? A díky nulovému poštovnému nakupuju u různých obchodníků (nemusím se snažit nakumulovat co nejvíc do jedné zásilky), takže chodí jednotlivé součástky za pár dolarů a vyhnu se tak placení cla a DPH.

    Docela by mě zajímalo, jestli někomu přišlo z AliExpressu něco nefunkčního. Já jsem na něm nakoupil vyšší desítky komponent a zatím vše v pohodě. A co se týká toho, že nic nepošlou, tak mě dorazilo vždycky vše. Kámošovi cosi nepřišlo, ale bez potíží mu vrátili peníze.

    Jinak jsem ještě nakupoval na DX, ale je zbytečně drahé.

    odpověď na: Jak na dva tóny současně? #8428
    Zbyšek Voda
    Účastník
    odpověď na: Graf v processingu #8427
    Zbyšek Voda
    Účastník

    To vypadá moc pěkně 🙂
    Neplánujete i vytvořit třeba různé „tachometry“ a podobné?
    Pak by se mohl z grafů a „tachometrů“ poskládat docela pěkný dashboard.

    odpověď na: 433 Mhz #8425
    BlindP
    Účastník

    Ano, doporučuji zhlédnout tohle video.

    odpověď na: 433 Mhz #8424
    Korcagin
    Účastník

    Mám dotaz. Jde číst pomocí arduina data z venkovního snimače domácí meteostanice a pak je nějakou formou zpracovávat?

    odpověď na: Arduino Dealerství #8422
    OK1RR
    Účastník

    Nemyslím si, že by AliExpress byl kdovíjak ideální. Na eBay lze najít Arduina často levněji (jak který typ a jak kde), ale hlavně při nákupu přes eBay máte přímo od nich záruku. Pokud nakupujete od Číňana přímo, jste jim vydání na milost a když vám pošlou šunt nebo třeba taky nic, pomoci se nedovoláte. To se vám při nákupech přes eBay nestane.

    BTW mám špatnou zkušenost s Banggood a vynikající s eshopy na eBay.

    odpověď na: Graf v processingu #8418
    BlindP
    Účastník

    Update!

    Přidal jsem čárový graf, pole zobrazující aktualní hodnotu + možnost přidání min a max hodnoty stupnice.

    Graf

    Nový graf vytvoříte: Graf teplota; nebo pro plný: GrafPlny teplota;

    dále

    teplota = new Graf(pozice x, pozice y, velikost x, velikost y, barva, min, max);
    Pokud zadáte pro max nulu, maximální hodnota se přizpůsobí.

    překreslení grafu zůstalo stejné: teplota.kresli(hodnota typu float);

    B.

    Attachments:
    odpověď na: Anemometr z DC motoru? #8404
    Bojkas
    Účastník

    Tak to dělá pořád to stejné, jen s tím, že mi nevím proč propisuje jen polovina displaye. Pokud to vrátím na ten původní kód, tak je to zase v pořádku.

    odpověď na: Anemometr z DC motoru? #8378
    Bojkas
    Účastník

    PS: stačí, když ji deklaruji?
    int rpm;
    rpm = (rps*60);
    lcd.clear();
    lcd.print(„Vitr: „);
    lcd.print(0.3142*rpm*0.06);
    lcd.print(“ km/h“);

    odpověď na: Anemometr z DC motoru? #8377
    Bojkas
    Účastník

    Ahoj,

    ach tak, to mě nenapadlo.

    Aleš: zdá se, že závorek je tam dost, vzorec jsem upravil, ale píše mi to, že „rmp“ není deklarované.

    exit status 1
    ‚rpm‘ was not declared in this scope
    http://fii.cz/zxfbym

    // Compute the RPM of a simple DC Motor using a photomicrosensor(PMS)
    #include <Wire.h>
    #include <LCD.h>
    #include <LiquidCrystal_I2C.h>
    #define PMS_PIN A0 // Pin for signal from Photomicrosensor
    #define LED_PIN 13 //Using Arduino's Internal LED; just as an indicator
    
    boolean counted=false;
    int t1=0,t2=0;
    int hits=0;
    int rps=0;
    
    LiquidCrystal_I2C  lcd(0x27,2,1,0,4,5,6,7);
    
    void setup(){
      pinMode(PMS_PIN, INPUT);
      pinMode(LED_PIN, OUTPUT);
      lcd.setBacklightPin(3,POSITIVE);
      lcd.setBacklight(HIGH); // NOTE: You can turn the backlight off by setting it to LOW instead of HIGH
      lcd.begin(16, 2);
      lcd.clear();
    }
    
    void loop(){
      t2 = millis();
      if(t2 >= (t1 + 1000)){
        rps = hits;
        hits = 0;
        t1=t2;
    
      }  
      
      if(digitalRead(PMS_PIN) == HIGH){
        if(!counted){
          counted = true;
          hits++;
        }
      } else {
        counted = false;
      }
       
      digitalWrite(LED_PIN, digitalRead(PMS_PIN));
      
        rpm = (rps*60);
        lcd.clear();
        lcd.print("Vitr: ");
        lcd.print(0.3142*rpm*0.06);
        lcd.print(" km/h");
    }
    
    odpověď na: Anemometr z DC motoru? #8376
    BlindP
    Účastník
    odpověď na: Anemometr z DC motoru? #8375
    Bojkas
    Účastník

    Večer zkusím, děkuji.

    Každopádně bych rád znal důvod, abych zjistil, kde mohla být případně chyba?

Aktuálně je na stránce zobrazeno 30 příspěvků - 1,561. až 1,590. (celkem z 2,760)