Stránka 27 z 30

Re: Pavouk Hiwonder

Napsal: 04 úno 2026, 10:44
od luger
výsledek:
plechová horní část pavoučka slouží jako elektroda a je jedním drátkem propojená v mém případě na A2. Plocha je cca 150x80 mm. Plech lakovaný, kontakt je na odizolované plošce.
Program:

Kód: Vybrat vše

#include <ADCTouch.h>

const int sensorPin = A2;
int ref;
const int threshold = 30;  // začni třeba na 30, pak doladíš

void setup() {
  Serial.begin(9600);
  delay(500);

  ref = ADCTouch.read(sensorPin, 150);  // víc vzorků pro citlivost
}

void loop() {
  int diff = ADCTouch.read(sensorPin, 80) - ref;

  // pro ladění:
  Serial.print("diff: ");
  Serial.println(diff);

  if (diff > threshold) {
    // dotyk / blízkost ruky
  }

  delay(50);
}
můj výsledek měření:
vzdálenost ruky cca 5 cm - změna hodnoty 0-1
vzdálenost 3 cm - hodnota trvalá 1
vzdálenost 1 cm - hodnota 3-5
plný dotyk - hodnota 50-80 podle umístění dotyku ruky

je to ok, funguje to.

Re: Pavouk Hiwonder

Napsal: 17 úno 2026, 11:37
od luger
Další vylepšení pavoučka. Jak jistě všichni víte tak zvukové senzory reagují tak na 30 cm. Potřeboval jsem reakci na tlesknutí nebo písknutí alespoň na vzdálenost 3 metry. Vyzkoušel jsem snad už všechno - klíčenky, tleskací žárovky , různé čidla - nejde to upravit pro Arduino protože je nutný zásah do zapojení a to většinou končí zničením.
Ale - zakoupil jsem Waveshare 9534 který má prý leší mikrofon a taky nějaký dvoustupňový zesilovač. Nepoužil jsem analogový výstup ale digitální a nastavil jej potenciometrem na hranici kdy "kontrolní digi LED tak jen pomrkává" - to je hranice mezi zapnutím a vypnutím digi výstupu.
Program pro čtení 1/0 výstupu:

Kód: Vybrat vše

void kontrola_zvuku (){             //----------------- digital vstup pin 2 ------------------ 
    
    // každých 100 ms vyhodnotí intenzitu zvuku
  if (millis() - casStart >= 100) {
    casStart = millis();

    noInterrupts();
    surovaHodnota = pocitadlo_zvuku;
    pocitadlo_zvuku = 0;
    interrupts();

    // mapování 0–100 (0 = ticho, 100 = silný zvuk)
    uroven_zvuku = map(surovaHodnota, 0, 200, 0, 100);

    if (uroven_zvuku < 0) uroven_zvuku = 0;
    if (uroven_zvuku > 100) uroven_zvuku = 100;         //  výstup hodnoty = uroven_zvuku
   }
  }
Funguje to skvěle, na středně silné tlesknutí reaguje i na 3 metry, na písknutí je to o něco méně (neumím pořádně pískat :).

Re: Pavouk Hiwonder

Napsal: 19 dub 2026, 11:02
od luger
A jsem zpět. Na pavoučka nebyl čas , ale funguje docela OK.
Pořád mě vrtá hlavou - nasadit mu na hřbet nějaký jednoduchý Lidar 360°. Je něco nového na trhu co by se dalo použít? Ale musí to zvládnout UNO takže sakra málo paměti!

Re: Pavouk Hiwonder

Napsal: 20 dub 2026, 15:03
od kiRRow
tak tam dej výkonnější procesor, ne ?

Re: Pavouk Hiwonder

Napsal: 20 dub 2026, 17:14
od gilhad
Varianta B - přidej tam nějaký RAM chip a "swapuj" zrovna nepoužívané proměnné na něj :D

Re: Pavouk Hiwonder

Napsal: 20 dub 2026, 17:50
od luger
Je to Hiwonder, vlastní ovládání serv a vlastní knihovny. Co je swapuj ?

Re: Pavouk Hiwonder

Napsal: 20 dub 2026, 18:48
od Caster
AI radí:

Proč je UNO špatný parťák pro LiDAR?

Většina 360° LiDARů (jako LD06, LD19, RPLIDAR A1/A3, EAI G4 atd.) posílá data rychlostí stovek až tisíců bodů za sekundu.
Knihovny (např. pro RPLIDAR nebo podobné) žerou hodně RAM a flash paměti.
UNO (ATmega328P) má jen 2 KB RAM a 32 KB flash → typicky nestačí na plnohodnotné zpracování LiDAR dat + ovládání 18 serv + pohybovou logiku.

Možná řešení (od nejjednoduššího po pokročilejší)

1. Nejlepší a nejjednodušší cesta: Upgrade hlavního řídicího počítače

Přidej Raspberry Pi (4B nebo 5) nebo ESP32 (lepší varianta než UNO) jako hlavní mozek.
Arduino UNO nech jen na ovládání serv (přes I2C nebo serial) – to zvládne bez problémů.
Na Pi/ESP32 pak běží LiDAR + SLAM (např. ROS2, Cartographer, Hector SLAM nebo jednoduchý obstacle avoidance).
Hiwonder má i modely jako SpiderPi nebo ROSpider, které už jsou postavené na Raspberry Pi/Jetson a podporují LiDAR přímo.

2. Doporučené LiDAR modely pro takový projekt (2026)

LD06 / LD19 (TOF, levné, ~360°, malé, UART) – dobrý start pro hobby.
RPLIDAR A1 nebo S1 – klasika, dobrá podpora v ROS i Pythonu.
EAI G4 nebo YDLIDAR série – Hiwonder je sám používá u svých ROS modelů (JetHexa, ROSpider).
TOF LiDAR (jednobodový, např. VL53L1X nebo Benewake TFmini) – pokud ti stačí jen přední detekce překážek (mnohem jednodušší na UNO).

Pro plnohodnotný 360° mapping je ale nutný výkonnější procesor.

3. Hardwareové tipy pro montáž na pavouka

LiDAR dej co nejvýše na hřbet (na 3D tištěný držák), aby nohy nerušily scan.
Napájení: LiDARy obvykle berou 5V. Použij stabilizovaný zdroj odděleně od serv (serva dělají velký šum).
Komunikace: UART nebo USB (u dražších modelů).

4. Software strana

Na Raspberry Pi: Python + knihovna rplidar nebo ydlidar, případně plný ROS2 (Hiwonder má wiki a příklady pro své ROS modely).
Jednoduchý avoidance: scanuj okolí, hledej volný prostor a upravuj gait (chůzi).
Pokud chceš mapování a navigaci → SLAM (2D je na začátek dost).

Alternativy, pokud nechceš měnit UNO

Gilhad na fóru zmiňoval přidání externí RAM + swapování – to je zajímavé, ale dost pokročilé a pravděpodobně ne dost rychlé pro reálný časový LiDAR.
Použij druhý mikrokontrolér jen pro LiDAR (např. ESP32-C3 nebo STM32) a komunikuj s UNO přes serial/I2C. Data zpracováváš na ESP a posíláš jen jednoduché příkazy („překážka vlevo“, „volno“).

Konkrétní doporučení teď

Pokud chceš zůstat co nejblíže originálu → přidej Raspberry Pi Zero 2 W nebo Pi 4 (je lehčí než plný 5) + levný LD06/LD19.
Pokud chceš „jako z krabičky“ → podívej se na Hiwonder ROSpider nebo SpiderPi Pro – ty už LiDAR podporují nativně s ROS2.

Máš už nějaký konkrétní LiDAR vybraný? Nebo kolik chceš do toho utratit?
Chceš spíš jen detekci překážek, nebo plnohodnotné mapování a autonomní navigaci?

Řekni víc detailů (jaký máš teď setup – jen Arduino, nebo už nějaký SBC?) a můžu ti navrhnout konkrétnější zapojení, kód nebo 3D držák.

Na fóru to zatím skončilo na „dej výkonnější procesor“ – souhlasím, to je nejrychlejší cesta vpřed. 😊

Re: Pavouk Hiwonder

Napsal: 20 dub 2026, 19:14
od luger
Díky Caster za vyčerpávající odpověď. Polovině názvů a zkratek sice nerozumím ale obsah je jasný.
Celý problém je v tom se že tomu věnuji jen občas a okrajově. Je to jen vyplnění volného času - místo hospody :D
Moje základní verze pavouka Hiwonder stála 15.000 takže kupovat dalšího nemám v plánu. Proto bych z něj chtěl vyždímat co nejvíc. I tak je už oplácaný všema možnýma senzorama a program zatím zabírá 70% paměti a 50% dynamické.
Moje představa je aby Lidar rosdělil prostor jen na třeba 72 (36) dílků (po 5° nebo po 10°) což by mělo stačit na jednoduchou orientaci.
Možná by stačil jednoduchý Lidar (ne speciál 360) a nechat ho rotovat dokola. Ultrazvuk je nespolehlivý. Ale jak z něj dostat údaje když rotuje ?

Re: Pavouk Hiwonder

Napsal: 20 dub 2026, 19:48
od kiRRow
Co jsem se koukal, tak prodávaj i verzi s RPi 5 ... takže podpora určitě bude ...

Re: Pavouk Hiwonder

Napsal: 20 dub 2026, 22:54
od Caster
AI radí ;) :

Ahoj lugere,
díky za upřímnou odpověď! Chápu to dokonale – je to jen hobby na vyplnění volného času (místo hospody), nechceš kupovat nového pavouka a chceš z toho svého za 15 000 Kč vyždímat maximum. Respekt! 👍

Tvoje představa je výborná a přesně na míru tvému UNO:
  • Rozdělit okolí jen na 36 nebo 72 dílků (po 10° nebo po 5°).
  • To úplně stačí na jednoduchou orientaci a vyhýbání se překážkám.
A přesně k tvé otázce: ano, rotující jednoduchý (jednobodový) LiDAR je pro tebe teď nejlepší cesta. Nemusíš hned kupovat drahý 360° LiDAR.

Jak by to mohlo fungovat (jednoduše a šetrně k paměti)

Místo plnohodnotného 360° LiDARu použiješ levný jednobodový TOF senzor (laserový měřič vzdálenosti) a připevníš ho na servo, které ho bude pomalu otáčet dokola.
  • Chceš 36 dílků → servo se zastavuje po 10°
  • Chceš 72 dílků → servo se zastavuje po 5°
Servo se zastaví → senzor změří vzdálenost → uložíš ji do pole → jedeš dál.
Tím získáš jednoduchou „mapu“ okolí v 360° a UNO to zvládne i při tvých 70 % zaplněné paměti.

Doporučené komponenty (levné a dostupné)
  • Jednobodový LiDAR:
    • Benewake TF-Luna nebo TFmini-S (300–600 Kč, dosah 8–12 m, velmi spolehlivý)
    • Alternativa: VL53L1X (ještě levnější, ale kratší dosah)
  • Servo: nějaké silnější metal-gear (např. MG996R nebo lepší) – aby to mělo přesné a plynulé otáčení.
  • Držák: 3D tištěný na hřbet pavouka (vysoko nad nohama, aby nerušily měření).
Výhody pro tvůj setup
  • Výrazně méně dat → UNO si s tím poradí (žádné tisíce bodů za sekundu).
  • Celkové náklady: 400–800 Kč.
  • Můžeš to přidat k existujícímu pavoukovi bez velkých změn.
Nevýhody (abys věděl)
  • Skenování celého kruhu trvá 1–3 sekundy (podle rychlosti otáčení).
  • Je to mechanické (servo se časem opotřebuje).
Jak z rotujícího senzoru dostat data? (jednoduchý princip)
  1. Servo otočí na pozici 0°
  2. LiDAR změří vzdálenost
  3. Uložíš hodnotu do pole (např. vzdalenosti[0] = namerena_vzdalenost)
  4. Servo se otočí o 10° (nebo 5°)
  5. Opakuješ dokola
Nakonec máš v poli 36 (nebo 72) čísel, která říkají: „v tomto směru je překážka ve vzdálenosti X cm“. Z toho se pak dá velmi jednoduše rozhodovat, kam pavouk půjde.

Chceš, abych ti připravil:
  • Konkrétní zapojení (které piny na UNO)
  • Základní kostru kódu (jak otáčet servo a číst data)
  • Nebo tip na jednoduchý 3D model držáku?
Řekni jen, jestli tě víc zajímá varianta s 36 nebo 72 dílky, případně kolik zhruba chceš do toho dát peněz – a hned to upřesním.

Těším se na tvou reakci! 😊