Pavouk Hiwonder

Nedaří se vám s projektem a nenašli jste vhodné místo, kde se zeptat? Napište sem.
Pravidla fóra
Tohle subfórum je určeno pro konzultaci ucelených nápadů, popřípadě řešení komplexnějších projektů, které opravdu není možné rozdělit na menší části.
Většinu problémů jde rozdělit na menší a ptát se na ně v konkrétních subfórech.
Odpovědět
luger
Příspěvky: 261
Registrován: 30 dub 2023, 11:06

Re: Pavouk Hiwonder

Příspěvek od luger » 04 úno 2026, 10:44

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.

luger
Příspěvky: 261
Registrován: 30 dub 2023, 11:06

Re: Pavouk Hiwonder

Příspěvek od luger » 17 úno 2026, 11:37

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 :).

luger
Příspěvky: 261
Registrován: 30 dub 2023, 11:06

Re: Pavouk Hiwonder

Příspěvek od luger » 19 dub 2026, 11:02

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!

Uživatelský avatar
kiRRow
Příspěvky: 1343
Registrován: 07 kvě 2019, 07:03
Bydliště: Opava

Re: Pavouk Hiwonder

Příspěvek od kiRRow » 20 dub 2026, 15:03

tak tam dej výkonnější procesor, ne ?

Uživatelský avatar
gilhad
Příspěvky: 882
Registrován: 07 bře 2018, 11:22

Re: Pavouk Hiwonder

Příspěvek od gilhad » 20 dub 2026, 17:14

Varianta B - přidej tam nějaký RAM chip a "swapuj" zrovna nepoužívané proměnné na něj :D

luger
Příspěvky: 261
Registrován: 30 dub 2023, 11:06

Re: Pavouk Hiwonder

Příspěvek od luger » 20 dub 2026, 17:50

Je to Hiwonder, vlastní ovládání serv a vlastní knihovny. Co je swapuj ?

Uživatelský avatar
Caster
Příspěvky: 508
Registrován: 11 zář 2019, 09:02

Re: Pavouk Hiwonder

Příspěvek od Caster » 20 dub 2026, 18:48

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. 😊

luger
Příspěvky: 261
Registrován: 30 dub 2023, 11:06

Re: Pavouk Hiwonder

Příspěvek od luger » 20 dub 2026, 19:14

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 ?

Uživatelský avatar
kiRRow
Příspěvky: 1343
Registrován: 07 kvě 2019, 07:03
Bydliště: Opava

Re: Pavouk Hiwonder

Příspěvek od kiRRow » 20 dub 2026, 19:48

Co jsem se koukal, tak prodávaj i verzi s RPi 5 ... takže podpora určitě bude ...

Uživatelský avatar
Caster
Příspěvky: 508
Registrován: 11 zář 2019, 09:02

Re: Pavouk Hiwonder

Příspěvek od Caster » 20 dub 2026, 22:54

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! 😊

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host