Quantcast
Channel: Bastlírna HWKITCHEN
Viewing all 537 articles
Browse latest View live

Rotoped, který vás donutí k pohybu

$
0
0

Sledujete rádi filmy na Netflixu, či podobné službě? Je to jistě velice zábavná forma trávení času, ale má i stinnou stránku – moc kalorií při sledování filmu nespálíte. Tento problém se rozhodl vyřešit maker Roboro. Vzal jeho rotoped a upravil ho tak, že automaticky zastavuje přehrávání videa na Netflixu, pokud jezdec přestane šlapat.

Autor vzal Arduino Nano a připojil ho k vodiči, kterým normálně rotoped vysílá pulsy do displeje rotopedu. Arduino signál zpracovává a posílá údaje o rychlosti do počítače připojeného přes USB.

Arduino Netflix stopper - Elektronika

Elektronika

Na počítači běží skript napsaný v Pythonu, který když detekuje signál z Arduina, spustí prohlížeč Firefox a v něm Netflix. Skript také počítá různé statistiky, například počet kol a rychlost. Zobrazuje také zvolenou rychlost, pod kterou když klesne aktuální rychlost, zastaví se přehrávání videa. To se opět spustí po dosažení zvolené rychlosti.

Pokud si chcete postavit podobný projekt, můžete se podívat na návod na serveru Instructables, popřípadě si prohlédnout kód na GitHubu. I když je projekt vytvořený pro ovládání Netflixu, mělo by být snadné ho upravit i pro další služby.

Přeloženo z https://blog.arduino.cc/2017/07/13/binge-watch-and-burn-calories-with-the-arduino-powered-cycflix/ a mírně upraveno.


Arduino rozpohybovává kostým taurena

$
0
0

Vyhrát hlavní cenu na Comic Conu – nejenom o to se snažil Jason Caulfield s jeho kostýmem Frost Dead King Akulva. Tato krásně vyvedená stvůra je již třetím podobným projektem, který Jason vytvořil. Má podsvícené oči, které samy mrkají a také obsahuje obvod měnící hlas člověka v kostýmu na hluboký hlas taurena.

Arduino kostým tauren

Dva a půl metru vysoké stvoření je vybaveno párem desek Arduino UNO. Jedna slouží k ovládání mrkání očí, ke druhé je připojený shield od Adafruitu, který se stará o změnu hlasu. Navíc v kostýmu najdeme ještě desku PicoTalk, který synchronizuje pohyby úst s mluveným slovem.

Ve videích níže naleznete kostým v pohybu a také další informace.

Přeloženo z https://blog.arduino.cc/2017/07/14/dual-arduinos-bring-this-tauren-cosplay-to-life/ a mírně upraveno.

Arduino na Lipnici

$
0
0

Tento článek zpracoval pro Arduino.cz Martin Locker z VOŠ a SPŠ Rychnov nad Kněžnou. Kéž by takto smýšlejících pedagogů a učitelských skupin bylo více a více! Děkujeme za příspěvek.


V druhé polovině srpna 2017 se konal již 25. ročník letní Školy učitelů informatiky, kterou pořádá Matematicko-fyzikální fakulta UK Praha. Akce slouží k dalšímu vzdělávání učitelů středních a základních škol. Náplní je seznámení s aktuálním vývojem v  informačních technologiích, prohlubování dovedností při práci s aplikačním softwarem a rozšiřování znalostí v programování, tvorbě webu a dalších oblastech. Jedním z cílů školy je předávání zkušeností mezi učiteli, hlavně v oblasti motivace žáků. Proto je již několik let oblíbenou součástí „hraní“ s Lego roboty.

V loňském roce jsem formou přednášky účastníkům přestavil platformu Arduino, její možnosti použití a využití ve škole. Na základě kladného ohlasu bylo Arduino zařazeno do výuky formou dvou 90minutových cvičení pro skupiny zaměřené na programování.

Původním záměrem bylo navázat na cvičení s roboty mBot a jejich programování v grafickém vývojovém prostředí mBlock. Toto se však nakonec z důvodu nemoci nerealizovalo. Upravil jsem výuku tak, že v prvním cvičení, po úvodním seznámení s Arduinem, jsme programovali v mBlocku a teprve v druhém cvičení ve Wiringu s použitím Arduino IDE. Vzhledem k omezenému rozsahu jsme neřešili hardwarovou stránku, ale použili vlastní StartShield s osmi červenými LED, jednou RGB LED, čtyřmi tlačítky a fotorezistorem, s možností připojení dalších snímačů a akčních členů.

Arduino StartShield

Arduino StartShield

Cvičení byla zaměřena na samostatné řešení úloh po předchozím seznámení s daným tématem (digitální výstupy a vstupy, sériová komunikace, analogové vstupy, PWM výstupy aj.). Výuka vzbudila u některých účastníků takový zájem, že si Arduino půjčovali i mimo výuku, aby si vyzkoušeli řešení úloh, která na cvičeních nestihli. Součástí školy je i realizace vlastních projektů a jejich představení ostatním účastníkům na závěrečné přehlídce. Dva letošní projekty využily Arduino – generátor Morseovy abecedy a autíčko poháněné krokovými motorky.

V rámci ukázek byly představeny i možnosti využití Arduina pro řízení výukových úloh – automatická závora, robotická ruka nebo jednoduchý plotter.

Automatická závora řízená Arduinem

Automatická závora řízená Arduinem

Výzvou se stala realizace zařízení pro záznam telemetrie modelu rakety. Inspirací byl zážitek Hanky Šandové, která se v červnu účastnila Honeywell Educators at Space Academy v americkém Huntsville, kde podobnou úlohu řešili s použitím Raspberry Pi Zero.

Arduino raketa pro záznam telemetrie letu

Arduino raketa pro záznam telemetrie letu

Základem hardwaru je Arduino NANO s připojeným modulem akcelerometrů a gyroskopů a mikro SD karty pro ukládání naměřených dat. Po čtyřech večerech, kdy se připravoval hardware a psal software, došlo na louce za Lipnicí ke slavnostnímu startu rakety, tedy vlastně dvěma. Technika fungovala bezvadně a z obou startů byla získána data, která bude nutné teprve analyzovat. Předběžné zpracování krásně ukazuje počáteční průběh letu rakety se zrychlením více než 7 G, následný pokles tahu motoru a dosaženou výšku okolo 47 metrů.

Dalším lákadlem byly stavebnice od firmy MakeBlock zapůjčené e-shopem HW Kitchen (děkujeme). Účastníci si tak mohli osahat roboty mBot, mBot Ranger i programovatelný dron AirBlock. Během dvou večerů byl sestaven také XY plotter, bohužel očekávané spuštění překazilo zjištění, že americkou vidlici na zdroji do naší zásuvky nedostaneme.

Makeblock XY Plotter Robot Kit

Makeblock XY Plotter Robot Kit

Tak se čekání o dva dny prodloužilo, než dorazila objednaná redukce. Po drobných potížích s nastavením driverů motorů se podařilo plotr úspěšně přivést k životu a hned se vymýšlelo, jak jej vylepšit.

S využitím 3D tisku bylo možné vyrábět nové díly, a tak jako první přišly na řadu nožičky.

Nožička pro XY Plotter vyrobená 3D tiskem

Nožička pro XY Plotter vyrobená 3D tiskem

Větším oříškem byl systém pro přidržování papíru, aby se nemusel lepit ke stolu.

Držák papíru pro XY Plotter

Držák papíru pro XY Plotter

V plánu bylo ještě vylepšit upínání fixy, ale to se již nestihlo realizovat.

Letošní „Lipnice“ tak ukázala učitelům další možné cesty k praktičtěji zaměřené výuce – robotické stavebnice, Arduino, 3D tisk.


Děkujeme za inspirativní možnost nahlédnout „pod učitelské pokličky“ a přejeme hodně úspěchů v další práci!

Stavba vysílací jednotky WeatherDuino Pro2/Pro2 PLUS

$
0
0

Přijímací stanici Weatherduino, se kterou nás zde seznámil pan Zdeněk Hornych, už asi znáte. V dnešním článku se dozvíte, jak postavit vysílací jednotku pro tuto stanici.


Náš volný seriál článků pokračuje dalším dílem – stavbou vysílací jednotky. Nepopíšeme si „jen“ samotnou stavbu, i když v obecných rysech ano, ale spíše se budeme věnovat některým praktickým doporučením, jak takováto podobná zařízení s úspěchem realizovat v amatérských podmínkách.

Pro čtenáře, kteří nezachytili některý z předchozích dílů, popisujících systém WeatherDuino Pro2, jenom v rychlosti připomeňme, že celá meteo stanice se skládá z několika hlavních částí:

  • TX = vysílací jednotka (až 4 v systému)
  • RX = přijímací jednotka (počet bez omezení, typicky 1 ks)
  • Volitelná komponenta:
    • WD = wireless displej pro místní zobrazení hlavních měřených údajů (počet bez omezení)
  • Další volitelné komponenty:
    • CumulusMX = meteo aplikace, obvykle běžící na Raspberry Pi
    • Web = webové sídlo aplikace CumulusMX, rozšířené vlastní tvorbou webových stránek
    • Sítě meteo stanic = data lze předávat do řady různých sítí, např. Weather Underground apod.
    • EI2C = extender sběrnice I2C pro vzdálené sensory (např. teplota a vlhkost země a listů)
    • Sensory = celá řada dalších „nezávislých“ sensorů, např. BIOS, Auriol, PM2.5, …

Pro detailnější popis odkazuji čtenáře na dříve publikované zdroje – viz seznam zdrojů v závěru článku.

Vysílací jednotka WeatherDuino Pro2

Vysílací jednotky (TX unit) obou systémů – tedy WeatherDuino Pro2 a WeatherDuino Pro2 PLUS – se od sebe nijak neliší, jsou naprosto totožné. Jinými slovy – TX jednotka je univerzální pro různá nasazení i pro oba systémy. Neliší se nijak dokonce ani svou programovou výbavou! Pouze a jenom – při počáteční konfiguraci definujeme skutečná osazení sensory, tím se od sebe navzájem TX jednotky liší.

Tato fáze je velmi důležitá proto, aby TX jednotka nevysílala zbytečně „prázdná“ data a nezamořovala okolí zbytečným „RF rušením“ bez jakéhokoliv významu. Každá datová zpráva víceméně náleží k danému typu sensoru a posílá se samostatně v určitých časových intervalech. Pokud není sensor, nemá tedy ani smysl posílat data.

Samotná stavba je z pohledu elektroniky velmi jednoduchá, až banální. Protože se však jedná o zařízení, umístěné obvykle venku a vystavené veškerým povětrnostním vlivům, zaměříme se spíše obecněji na to, jak postavit podobné zařízení tak, aby dokázalo přežít řadu let a přitom ještě správně fungovat.

Úvodem

Jak již bylo řečeno, TX jednotek bývá typicky v celém systému více a to podle zaměření jejich připojených sensorů. Vezměme za příklad systém autora článku:

  • TX0 – umístěno nad hřebenem střechy ve výšce 10 m nad okolním terénem. Měří rychlost a nárazy větru, intenzitu slunečního záření a UV index. Přídavné sensory měří napětí akumulátoru, teplotu uvnitř a vně boxu.
  • TX1 – v zahradě, na speciálním stožáru. Hlavní měření teploty a vlhkosti vzduchu (sensor ve větraném radiačním krytu), množství a intenzity dešťových srážek. Větrání termometru je zajištěno logikou TX jednotky, vstupem je měření rychlosti větru nahoře na stožáru (cca 7 m nad terénem). Přídavné sensory: teplota a vlhkost vzduchu ve výšce 1 m nad terénem, napětí akumulátoru, teplota uvnitř boxu.
  • TX2 – ve stejném boxu s TX1. Zajišťuje měření parametrů půdy a listů – teplota půdy v hloubce 5, 50 a 100 cm. Vlhkost půdy v hloubce 5 cm. Teplota a vlhkost listů ve výšce 150 cm nad terénem. Přídavné sensory: teplota a vlhkost vzduchu ve výšce 2,4 m a 5 cm (= přízemní teplota) nad terénem.
  • BIOS – použita vysílací část původního sensoru pro měření teploty a vlhkosti půdy pro měření teploty ve vodovodní revizní šachtě (varování v systému proti zamrznutí potrubí). Pracuje na frekvenci 433 MHz, WeatherDuino je připraveno pro jeho využití.
  • Auriol Rain Collector – část meteo stanice, prodávané v Čechách v prodejnách Lidl. Je citlivější, než rain collector FineOffset. Pracuje autonomně na frekvenci 433 MHz, WeatherDuino je připraveno pro dekódování signálu.

Autor článku míval svého času speciální TX jednotku pro vlastní vývoj nebo testování. V tuto chvíli však obě činnosti provádí na stávajících TX jednotkách (obvykle TX2).

Z uvedeného je zřejmé, jak široké možnosti použití a odpovídající konstrukce se nám nabízejí. Proto se pokusíme popsat stavbu jakési „univerzální“ TX jednotky – vše čistě pro inspiraci při vlastní stavbě nebo konstrukci podobného zařízení.

Použité Arduino

Základem TX jednotky je Arduino Nano ve v3.0 nebo jeho klon. I když doporučuji nákup originálu, sám používám téměř výhradně klony z různých čínských e-shopů. Cenou jsme pak schopni dostat se mnohem níže. Vzhledem k přece jen občasné nižší kvalitě těchto výrobků je pak dobře nakoupit větší počet kusů a tím kompenzovat případné ztráty (zatím jsem však nikdy za 3 roky o žádné Arduino nepřišel a to ani při špatné manipulaci s nimi).

Na co doporučuji dávat pozor je UART chip. U originálů Arduino se pravděpodobně setkáte s FTDI UARTem. To je špičkové řešení. Pro jeho využití je třeba instalovat odpovídající driver. U starších klonů byl použit i klon tohoto čipu, výrobce však proti plagiátům začal bojovat nefunkčností svého driveru. Proto se u novější klonů Arduino Nano setkáme snad bezvýhradně s čipy CH340, CH341 apod. a ty jsou opět bez problémů, pod Windows 10 probíhá instalace driveru automaticky a bez problémů.

Obrázek ukazuje takový klon Arduino NANO s již zapájenými řadovými lištami 2,54 mm (součást balení při nákupu). U některých dodavatelů je v balení přiložen i USB kabel.

Klon desky Arduino Nano

Klon desky Arduino Nano

Skříňka a mechanická konstrukce

Skříň je klíčové zařízení při použití ve venkovním prostředí. Doporučuji proto na skříňce nešetřit a nepoužívat žádná náhradní polovičatá řešení (plastová krabička na svačinu apod.). Sám obvykle používám skříňky z výroby spol. Legrand, některé z nich již fungují ve venkovním prostředí 19 let a chrání svůj obsah velmi dobře.

Skříňka Legrand

Skříňka Legrand

Na obrázcích je taková skříňka po přibližně 15 letech používání (po demontáži jiného RF zařízení) – navíc ale s již připravenými průchodkami pro kabely.

Zobrazená skříňka je schopna pojmout nejen desku TX jednotky, ale také Pb akumulátor a regulátor dobíjení ze slunečního kolektoru.

Při přípravě skříňky doporučuji podobné průchodky rozhodně použít. Přitom však vůbec nemusíme skříňku vzduchotěsně uzavřít. Naopak – autorovi článku se osvědčilo nechat kolem vstupujících kabelů „nějaký“ prostor pro částečné odvětrání skříňky. Pak zůstává pouze starost ohlídat skříňku před pavouky, těm se však obvykle dovnitř moc nechce …

Skříňka Legrand zevnitř

Skříňka Legrand zevnitř

Povšimněte si, prosím, základní montážní desky. Je skvělá, protože nám umožní provést celou montáž mimo skříň a zařízení pak vložit najednou. Protože se však jedná o drobnou elektroniku, může být přímá montáž na tuto nosnou desku komplikovaná – obtížné nalezení míst pro vrtání sloupků, možné problémy se zkraty, apod. Proto sám obvykle používám další nosnou desku z plastů, nejlépe průhlednou (podobně jako v předchozím článku o RX jednotce) – viz obrázek. (V této nosné desce o tloušťce alespoň 5 až 7 mm pak lehce vyvrtáme díry a vyřízneme závity pro různé distanční sloupky pro montáž elektroniky.)

Plexisklo na uchycení komponent - Skříňka Legrand

Plexisklo na uchycení komponent

V železné/kovové desce tedy nejprve vyvrtáme 4 díry průměr 3,2 mm, do nich uchytíme kovové distanční sloupky, např. délky 7 mm, na jedné straně šroub M3, na druhé závit M3. Na takto upevněné sloupky pak přišroubujeme plastovou desku zapuštěnými šrouby.

Dbáme na to, aby všechny kovové díly měly kvalitní povrchovou úpravu (kadmium, nikl apod.).

V plastové desce pak vrtáme díry průměr 2,5 mm, do nich vyřízneme závitníkem do plechu závit M3. Uchycení plastových sloupků je pak už velmi jednoduché.

Veškerý montážní materiál je možné sehnat např. na eBay nebo v čínských e-shopech, obvykle za zlomek ceny proti nákupu v kamenných obchodech.

Obrázky asi napoví více než tisíc slov …

Výroba nosné desky

Výroba nosné desky

Celá montáž tímto způsobem postupuje velmi rychle s využitím akumulátorového šroubováku a malé stolní vrtačky.

Weatherduino - Součástky na nosné desce

Součástky na nosné desce

Jak vidno z obrázku, doporučuji použití „nějakého“ managementu kabelů, celá montáž vypadá mnohem lépe a profesionálněji, nemluvě o zvýšení spolehlivosti celého řešení.

Deska plošných spojů

Vysílací jednotka stanice Weatherduino - Deska plošných spojů

Deska plošných spojů

Desku plošných spojů seženeme stejně jako všechny ostatní desky WeatherDuino u jejich autora po přihlášení do fóra MeteoCercal, registraci a objednávce pomocí private message.

Deska plošných spojů

Deska plošných spojů

Desky jsou zpracovány profesionálně ve špičkové kvalitě (včetně prokovených děr apod.). I když by bylo teoreticky možné postavit celé WeatherDuino např. na univerzálních deskách, vřele doporučuji jejich nákup. Uvedená deska TX v3.12 stojí cca 12 € a zhruba 8 € poštovné.

Osazení

Osazení desky začneme největšími mechanickými díly, jako jsou např. konektory. Výstupy pro sensory můžeme osadit různými typy konektorů, např. autor desky dříve doporučoval typ KF2510 (na obrázku 3pinový konektor vpravo nahoře), dnes se komunita kolem WeatherDuina kloní spíše ke šroubovacím typům podle obrázku:

Konektory a komponenty

Konektory a komponenty

Upozornění: pokud byste chtěli použít podobné konektory pro integrované obvody, případně pro Arduino, jako na obrázku (jedná se o tzv. „přesné“ typy), předem si vyzkoušejte použitelnost s protikusem!

Konektory RJ12 dostanete jako součást balení desky plošného spoje. A vyobrazený anténní konektor SMA je opět pouze příkladem pro zde publikovanou konstrukci. Vždy zvažte vhodnost tvaru konektoru pro dané použití a vyberte ten nepříhodnější.

Zvláštní upozornění si zaslouží ještě výběr rezistorů R4 a R5 – v obrázku desky vpravo nahoře. Na jejich absolutní hodnotě tolik nezáleží jako spíše na jejich vzájemném poměru – slouží pro měření výstupního napětí z akumulátoru. Na správném poměru tohoto napěťového děliče pak tedy záleží přesnost měření.

Na konstrukci samotné desky už pak není asi nic moc zajímavého. Co je však velmi důležité, je ošetření osazené desky plošných spojů po pájení. A to se týká i případně pájené desky klonu Arduino Nano. V teplém a vlhkém prostředí mohou velmi rychle pájené spoje degradovat díky růstu whiskerů nebo dendritů, způsobenému především tzv. elektromigrací. Teorií se nemusíme mnoho zabývat, jevy jsou dostatečně detailně popsány v mnoha zdrojích, dostupných na internetu (v Čechách se tím zabývá i mnoho diplomových prací). Zde pouze ukázkové obrázky:

Dendrity

Dendrity

První je z webu http://www.dps-az.cz/zajimavosti/id:42463 o elektromigraci v elektronice. Další pak z webu NASA: https://nepp.nasa.gov/Whisker/background/index.htm#q4.

Whiskery

Whiskery

A konečně poslední přímo z fóra WeatherDuino http://www.meteocercal.info/forum/Thread-433Mhz-module-problems?page=2&highlight=whisker.

Whiskery

Whiskery

Nás by měla zajímat především ochrana proti těmto jevům. Zde se neobejdeme bez řádného a správného ošetření pájených spojů vhodnými chemickými přípravky. Naprosto selhává časté doporučení omytí desky čistým lihem, to už vhodnější se zdá být omytí desky vodou – vhodné však pouze pro pájecí pasty, ředitelné vodou.

Na trhu je vhodných přípravků celá řada, obvykle pod názvem flux remover. Autor článku nejraději používá produkt společnosti DCT pod názvem FLUX REMOVER 4. V balení spreje se speciálním štětečkem stojí 400 ml necelých 300,- Kč. K tomu je vhodné použít i čistící utěrky pod názvem Speciální ESD utěrky, balení 50 ks asi za 930,- Kč. Na českém trhu je distributorem např. spol. MP elektronik technologie.

Flux Remover 4

Flux Remover 4

Dalším velkým dodavatelem podobného zboží je např. zásilkový obchod Conrad: „Sprej na čištění DPS Cramolin“ stojí asi 300,- Kč.

Po řádném odvětrání a oschnutí desky je třeba ji „nalakovat“, tzn. na dlouhou dobu ochránit před povětrnostními vlivy. Autor článku si velmi oblíbil sprej „Ochranný lak na DPS CRC Kontakt Chemie Plastik 70“, balení 200 ml je za asi 300,- Kč. Za dávných dob, nedostupných přípravků, jsme podobnou ochranu prováděli lakem na vlasy, vyhovoval ten nejlevnější Lybar (ostatní lepily), ale dnešní řešení je opravdu o několik stupínků výše.

Uvedené ošetření desek je naprosto nezbytné pouze u desek vystavených povětrnosti, např. u sensoru slunečního záření apod. V případě TX jednotky, umístěné v popisované skříňce je toto ošetření nanejvýš vhodné, na druhou stranu jednotka určitě i tak přežije několik let bez řádného ošetření. Sám jsem však zvyklý danou proceduru provést na všech svých pájených deskách – její provedení oceníte i za několik let při případné opravě.

Ještě jednu poznámku k obrázku s konektory: z pohledu vf a z pohledu vyšší spolehlivosti by bylo daleko lepší zapájet RF modul a Arduino přímo do desky. Ale: zejména u RF modulu už jsem se několikrát setkal s jeho poruchou – s konektorem je výměna vteřinová záležitost. A všechna Arduina jsem zvyklý dávat vždy do slotu, protože jejich výměna by byla při poruše už dost náročná.

Ještě pohled na jednu z desek, osazených autorem článku (chybí Arduino, RF modul a IO):

Osazená deska vysílače - Weatherduino

Osazená deska vysílače

Solární napájení

Napájení slunečním kolektorem je v dnešní době banálně jednoduché, trochu problém je pouze s naší zeměpisnou šířkou – v Čechách. V létě je slunečního svitu nadbytek, krizové měsíce jsou však pozdě na podzim, případně počátkem zimy – nejhorší měsíc podle mých zkušeností je listopad (i celý jeden týden bez slunce).

Proto si trochu popíšeme různé možné varianty napájení s využitím slunečního kolektoru.

1. Nejjednodušší a nejlevnější varianta

Využívá sluneční kolektor – doporučuji 2 kusy polykrystalických solárních panelů o výkonu 40 Wp. Na trhu jsou k dispozici např. panely od spol. GWL/Power s 36 buňkami, výstup nepřesahuje 25 V. Mají hliníkový rám, odolnost proti běžnému krupobití, kompaktní rozměry. Zcela ve stínu dávají 5 % výkonu, při částečně zatažené obloze cca 20 W. Prodejce: i4wifi, cena cca 1.000,- Kč.

PWM regulátor pro solární panely

PWM regulátor

Oba panely spojíme paralelně a pro připojení k TX jednotce použijeme např. levný PWM regulátor, alespoň pro 20A. Na obrázku výše je použit typ CMTP02, v e-shopech prodávaný kolem 215 Kč.

Pro ukládání elektrické energie je nelevnější použít olověný zatěsněný akumulátor, v popisované jednotce je použit z výroby Avacom 12 V, 12 Ah, cena na trhu cca 770,- Kč.

2. Kvalitní akumulátor

Pokud bychom chtěli použít v tuto chvíli asi nejvhodnější akumulátor s lepšími vlastnostmi než má uvedený Pb, můžeme použít již zcela běžně dostupné LiFePo4.

LiFePO4 akumulátor

LiFePO4 akumulátor

Příkladem může být akumulátor od již zmíněného výrobce GWL/Power 12 V, 12 Ah s integrovaným PCM a s Bluetooth monitoringem. Jeho cena na trhu je pod 3.000,- Kč, distributor např. opět i4wifi. PCM ochranný modul zajistí, že v TX jednotce už nemusíme nic měnit, přesto by si však takový modul zasloužil lepší regulátor, např. poměrně levný typ WINCONG SL02 (kolem 550,- Kč), tj. PWM 20 A:

PWM regulátor WINCONG SL02

PWM regulátor WINCONG SL02

3. Síťové dobíjení

Uvedený způsob napájení již pravděpodobně postačí i v ČR po téměř celý rok, kromě několika málo dnů (listopad).

Pokud však chceme zajistit skutečně bezvýpadkové napájení a přitom máme k dispozici síť 230 V, což je zejména při venkovních instalacích často nedostupné, můžeme použít následující systém.

V TX jednotce klidně necháme Pb akumulátor, ale PWM regulátor nahradíme solární nabíječkou s možností vstupu dalšího – druhého napájení. Takové zařízení je např. TP-SCPOE-1212 pro 12 V, 8 A, a PoE 12 V, 2,5 A. Solární vstup je schopen přijmout příkon až 130 W, což by mělo s uvedenými solárními panely vyhovět.

Toto zařízení již bohužel vyjde trochu dráž – cca 1.800,- Kč v ČR, kde je distributorem i4wifi. Sám jsem jej kupoval přes eBay přímo od TYCON Power z USA, kde je levnější, ale platíte zase dopravu a DPH, takže se ve výsledku skoro neušetří.

Řadič pak funguje tak, že přednostně dobíjí akumulátor ze solárních kolektorů, v případě nedostatečného napájení/dobíjení však přejde na dobíjení ze sítě. Řádné nabití Aku je tak zajištěno nepřetržitě, za každého počasí.

Solární nabíječka

Solární nabíječka

Z vlastní zkušenosti po více než 1 ročním provozu tohoto řadiče v kombinaci s LiFePo4 12 Ah mohu potvrdit, že neznám lepší kombinaci (i když dost drahou). Má jednotka TX0 (na střeše) je vybavena kombinací tohoto řadiče s Pb akumulátorem již více než 2 roky, po tu dobu napájení nevypadlo.

RF spoj

WeatherDuino využívá pro spojení mezi jednotkami volné pásmo 433 MHz. Signál v tomto pásmu se ve volném terénu šíří až na stovky metrů, bohužel při našem použití, kdy určitě bude RX jednotka uvnitř domu, se bude jednat vždy o průchod alespoň jednou zdí. To může úroveň přijímaného signálu zeslabit natolik, že nebude už použitelný.

Ke snížení kvality dále významně přispívá i rušení okolními vysílači. Pásmo není nijak koordinováno, proto je důležité, aby se každý choval dostatečně ohleduplně – jak to ostatně nařizuje příslušný předpis.

Abychom dosáhli co nejvyšší úrovně signálu i bez překročení povoleného vysílacího výkonu, je třeba zkrátit cestu vf signálu po kabelech na nezbytné minimum. Protože stavíme TX jednotku do nekovové skříňky, není vždy nutné, aby anténa byla umístěna vně skříňky. Díky tomu odpadne útlum na případném pigtailu i přechodový útlum alespoň jednoho konektoru. Desku plošných spojů pak ale musíme umístit tak, aby bylo možné natočit vysílací anténu do potřebného úhlu.

V našem popisovaném případě tomu tak nebylo, proto skříňka obsahuje i pigtail a anténa je umístěna vně skříňky.

Anténa 90°

Anténa 90°

Náklon antény: obvykle používáme antény typu vertikálního zářiče. To je ve své podstatě degradovaný půlvlnný dipól, jeho zisk je cca 2 dBi (i = izotropní zářič se ziskem 0). Druhou polovinu zářiče tvoří zem. Některá „tykadla“ mají i větší zisk, až asi 6 dBi, to je však na úkor jejich všesměrovosti – charakteristika je výrazně plošší, to však za předpokladu, že dodavatel vysloveně o zisku nelže – na to pozor.

Je jasné, že takový typ antény má největší dosah ve svém vertikálním postavení. To však také znamená, že RX i TX jednotky musí ležet v jedné vodorovné rovině, tím přesněji, čím výkonnější antény použijeme. Protože to v praxi tak není – např. TX0 je 10 m vysoko, případně přímo nad RX jednotkou, je třeba antény naklonit – obvykle nejlépe se sklonem 45°, všechny stejně a stejným směrem. Vyzařovací roviny všech TX jednotek by se měly protnout právě v místě příjmu – antény RX jednotky. Ztrácíme tím sice výkon a dosah, ale s danými anténami to prostě jinak nejde.

Anténa 443MHz

Existuje sice možnost použít jiné typy antén, naštěstí se však daří většinu instalací vyřešit s těmito základními.

Další možností, která nám může pomoci zvýšit dosah, je použití RF repeateru. Autor článku podobné řešení s úspěchem testuje již asi půl roku a v podstatě úspěšně. Je třeba však myslet na napájení repeateru přes UPS pro případ výpadku napájení a uvědomit si, že jsme do daného prostoru umístili další vysílač. Repeater v každém případě snižuje propustnost spoje na 50%, s tím však obvykle problémy nejsou.

Repeater

Repeater (Na obrázku je zmíněný repeater v modifikaci pro 315 MHz, tj. v Čechách „zakázané“ pásmo)

Nákup podobných zařízení na internetu nese klíčové úskalí – naprosto neznáme skutečný výkon repeateru, takže snadno můžeme překročit povolený vyzařovaný výkon!

Sensory

Klíčovou komponentou každé meteo stanice z pohledu kvality a přesnosti měření jsou její sensory. WeatherDuino má obrovskou výhodu široké škály kompatibilních sensorů. Kromě toho máme možnost mnoho zařízení vyrobit amatérsky – typicky např. sensor teploty a vlhkosti, měření sluneční radiace, UV indexu, objemu pevných částic ve vzduchu apod.

Protože toto téma se již poměrně dost vzdaluje náplni serveru Arduino.cz, uvedu pouze několik obrázků bez dalších větších popisů – ostatně na internetu je informací mnoho a mnoho.

Radiační kryt - meteostanice Weatherduino

Obrázky radiačního krytu pro měření teploty a vlhkosti vzduchu. Doporučuji použít sensor z výroby společnosti Sensirion, SHT31 nebo SHT21.

"Vnitřnosti" sensoru sluneční radiace a měření UV indexu

„Vnitřnosti“ sensoru sluneční radiace a měření UV indexu

Pokud by byl zájem o článek s popisem stavby některého konkrétního sensoru a to jak ze strany čtenářů, tak provozovatelů Arduino.cz, můžeme se k dané problematice vrátit podrobněji.

V každém případě je třeba si uvědomit, že při pečlivé stavbě je možné se dostat na úroveň přesnosti kvalitních profesionálních zařízení, přitom za zlomek ceny, a ušetřit tak desítky tisíc korun.

Dokončení stavby – kompletace a oživení

Pravděpodobně vše, čím se vymyká stavba zařízení s Arduinem určená pro venkovní prostředí běžným „indoorovým“ zařízením, již bylo řečeno. Proto již jen krátce k běžným postupům:

  • Po stažení software je třeba provést jeho konfiguraci. To provádím s výhodou tak, že si sw balík otevřu v Arduino IDE a uložím pod novým názvem s dovětkem TX0 (např. WeatherDuino_Pro2_Universal_TX_v3.1_b002-TX0)
  • Po provedení základní konfigurace na stránce Config_TX (soubor s názvem Config_TX.h lze s výhodou editovat např. v Notepadu++) celý balík uložíme.
  • Pak jej znovu uložíme pod novými názvy např. TX1, TX2, apod.
  • Tak jsme si zajistili trochu méně práce při instalaci a hlavně upgradu více jednotek TX, pokud je máme na starosti.
  • Protože jednotku TX0 mám umístěnou na střeše, mám k jejímu Arduino Nano připojen 5m USB kabel, volně visící na půdě, pro snadnější upgrade – bez „lezení“ na střechu

Arduino IDE používám v současnosti ve verzích 1.8.1 až 1.8.3, použití minimální verze 1.8.1 je pro WeatherDuino Pro2 povinné. Pro překlad je vždy nezbytné použít přibalené knihovny, pokud jsou v rozporu s oficiálními. Tento rozpor však již autor úspěšně vyřešil novým pojmenováním případně upravených knihoven, takže byste se s problémy v aktuálních verzích sw neměli setkat. Nové verze sw téměř vždy nejprve procházejí testováním vývojářskou a testovací komunitou, takže se s případným bugem setkáte jen zcela výjimečně.

Závěrem

Článek sice popisuje konkrétní stavbu konkrétního zařízení, snažil jsem se jej však koncipovat tak, aby přinesl alespoň několik obecnějších doporučení i pro zcela odlišné projekty. Pokud jste jej, vážený čtenáři, dočetl až sem, mám z toho osobní radost. A zda se mi podařilo dosáhnout stanoveného cíle „přinést něco málo komunitě kolem Arduina“ – to už tedy nechám na vás.

Kompletní vysílací jednotka Weatherduino

Kompletní vysílací jednotka Weatherduino

Upozornění: Některé z výše uvedených názvů mohou být chráněnými značkami svých majitelů, aniž je to v textu výslovně uvedeno.

Odkazy a zdroje

Arduino balancuje míčkem na plošině

$
0
0

Uživatel Redditu „xmajor9x“ strávil pár týdnů stavbou plošiny, která je schopná balancovat ocelovou kuličkou, jako když balancujete míček na pingpongové pálce. Zařízení využívá tři servomotory, které jsou připojené na obdélníkovou plošinu. Díky tomu je možné udržet míček na podložce a také s ním po podložce pohybovat.

Arduino balancuje míčkem na podložce

K ovládání zařízení je použitá deska Arduino DUE, která slouží jako PID regulátor. Pozice míčku není snímána pomocí kamery, jak je tomu u podobných projektů zvykem, ale informace o poloze zajišťuje samotná podložka, která je vyrobena z dotykového displeje. To mimo jiné znamená, že míček musí být poměrně těžký, aby displej jeho polohu správně snímal, což ocelová kulička splňuje.

Více informací o stavbě naleznete na serveru GitHub.

Arduino balancuje míčkem na podložce

Hvězdná brána pro slepice

$
0
0

Každý, kdo má doma slepice, ví, že to s nimi není jen tak. Ráno je nutné je vypustit ven a večer zase zahnat, aby byly přes noc v bezpečí. To se dá poměrně jednoduše zautomatizovat. Jako první by mě napadlo vzít malá padací dvířka, připojit k nim provázek s navijákem a pomocí Arduina a modulu hodin reálného času je ráno spouštět a večer vytahovat. Důmyslnějším řešením by mohlo být například použití závitových tyčí ke spouštění dvířek.

Kutil Ziven Posner na to ale šel úplně jinak a nechal se inspirovat irisy, které známe z různých sci-fi filmů a seriálů, nebo také ze clony fotoaparátů. Výsledný projekt rozpohyboval pomocí DC motoru, který je připojený k desce Arduino UNO. Stav irisu snímají koncové spínače.

Pokud se chcete o stavbě dozvědět více, podívejte se na popis projektu na serveru Instructables.

Přeloženo z https://blog.arduino.cc/2017/07/24/an-arduino-powered-iris-door-for-chickens/ a mírně upraveno.

DIY detektor kovů vám pomůže najít ztracené cennosti

$
0
0

Pokud jste někdy používali detektor k hledání kovových předmětů, jistě víte, že čím kvalitnější a přesnější detektor máte, tím jednoduší je detekovaný předmět nalézt. Kutil s přezdívkou TechKiwiGadgets se rozhodl vytvořit detektor se čtyřmi cívkami, takže je schopný určit polohu předmětu daleko přesněji. O jeho řízení se stará deska Arduino Mega.

DIY Arduino detektor kovu - Displej se zobrazením předmětu

Displej se zobrazením předmětu

Cívky v detektoru generují elektromagnetické pulzy. Ty se šíří prostředím, a pokud narazí na kovový předmět, dojde ke změně pole oproti normálu. Tuto změnu detektor zjistí a může tak určit  polohu předmětu. Na displeji je možné zobrazit buďto signály ze všech cívek, nebo předpokládanou polohu předmětu. Díky tomu můžete hledat na přesně určeném místě a minimalizovat tak svoje úsilí.

Chcete si vytvořit vlastní detektor? Podívejte se na návod na serveru Instructables, nebo na videa níže.

Přeloženo z https://blog.arduino.cc/2017/07/27/search-for-coins-and-jewelry-with-this-diy-metal-detector/ a mírně upraveno.

 

Interaktivní laserová show s Arduinem

$
0
0

Co je lepší, než jeden laser? No přece více laserů! A to ne jen tak ledajakých…

V projektu „Interactive Laser Sheet Generator“ naleznete lasery, kterými je možné pohybovat za pomoci servo motorů a ještě k tomu s tím vším rotovat. Díky tomu je možné vytvořit velice zajímavé 3D obrazce. S lasery jde navíc interagovat díky dvanácti ultrazvukovým senzorům, které jsou umístěné po obvodu platformy. Aby toho nebylo málo, je projekt vybavený MIDI výstupem, který lze použít k přehrávání hudby. O řízení se stará deska Arduino Mega.

Arduino Laserová interaktivní show

Jak je vidět ve videu níže, mechanické prvky projektu byly vyrobené na CNC řezačce. Když je zařízení spuštěné, začne se otáčet brushless motor, který roztočí celou hlavici s lasery a servo motory. Arduino Mega poté lasery natáčí do různých úhlů, díky čemuž vznikají zajímavé světelné obrazce ve vzduchu.

Do projektu jsem přidal i ultrazvukové senzory vzdálenosti, díky kterým můžu snímat přítomnost předmětů nad mým zařízením – například lidské ruky. Když senzory předmět detekují, zařízení na ně reaguje změnou nastavení laserů a hudby. V zařízení jsem zkombinoval principy laserových harf a také POV displejů.

Přeloženo z https://blog.arduino.cc/2017/08/09/create-an-interactive-laser-sheet-generator-with-arduino/ a mírně upraveno.


TinyLab: Fotorezistor

$
0
0

V posledním dílu ze seriálu článků o kitu TinyLab jsme se podívali, jak se dá ovládat piezo bzučák. Dnes si ukážeme, jak můžeme využít fotorezistor, který je dostupný na desce.

Co je to rezistor

Ještě před tím, než se podíváme na fotorezistor, si v rychlosti shrneme, co je to rezistor. Rezistor, je součástka, kterou používáme hlavně kvůli jedné její vlastnosti, kterou je odpor (značí se Ω – ohm). Pomocí odporu vyjadřujeme, jak obtížné je pro proud, aby zkoumanou součástkou protékal. Říkáme, že „součástka klade proudu odpor“.

Rezistor

Rezistor, zdroj: https://en.wikipedia.org/wiki/Resistor#/media/File:Resistor.jpg

Každá reálná elektronická součástka nějaký odpor má, ale u nich je většinou odpor nechtěný (vzniká nedokonalými výrobními procesy, opotřebením, …). Naopak je tomu u rezistoru, u kterého přesně známe jeho odpor, který je neměnný a také žádoucí. Používáme ho například při zapojení LED diody, aby nedošlo k jejímu poškození příliš velkým proudem.

Různé způsoby připojení LED diody k Arduino

Různé způsoby zapojení LED diody.

Ve většině případů si vystačíme s rezistory, jejichž odpor se nemění. Co ale dělat v případě, kdy bychom potřebovali jejich odpor měnit na základně nějakého vstupu? S jedním proměnným rezistorem jsme se už setkali – bylo to ve článku o potenciometru. U něj jsme měnili odpor otáčením středové osy. Existují ale součástky, které mění svůj odpor na základě jiných podnětů – například teploty, nebo osvětlení.

Fotorezistor

Fotorezistor je součástka, která mění svůj odpor podle toho, jak intenzivní záření na ní dopadá. Jeho princip si představíme velice zjednodušeně – použijeme k tomu mravence.

Existuje druh mravenců, který umí stavět mosty. Nejsou to ale mosty ledajaké – mravenci je staví z vlastních těl. Když narazí na nějaký příkop, první mravenci se přichytí za okraj, na ně se chytí další, na ně další a tak dále, dokud příkop nepřekonají. Pokud jich je dostatek, příkop překonají, a můžou se tak dostat dále. Pokud jich je málo, překážku nepřekonají. Čím více jich je, tím pevnější a delší mosty můžou stavět.

Mravenčí most, zdroj: http://zoommagazin.iprima.cz/zajimavosti/video-mravenci-stavi-dokonale-inteligentni-mosty-z-vlastnich-tel

Mravenčí most, zdroj: http://zoommagazin.iprima.cz/zajimavosti/video-mravenci-stavi-dokonale-inteligentni-mosty-z-vlastnich-tel

Vraťme se nyní k fotorezistoru. Představme si elektrony jako mravence a fotorezistor jako příkop. Elektrický proud není nic jiného, než pohyb elektronů – mravenců. Pokud fotorezistor není osvětlený, pohybuje se v jeho okolí velice málo mravenců, kteří nejsou schopní most postavit, popřípadě postaví jen velice tenký most, po kterém přejde jen pár mravenců najednou. Situace se mění, když na fotorezistor zasvítíme – z látky, ze které je vyroben, se začnou uvolňovat volné elektrony (mravenci), kteří pak mohou stavět větší a robustnější mosty, po kterých se mohou začít hrnout davy mravenců. Pokud opět na fotorezistor přestaneme svítit, mravenci se z mostu vrátí na svá původní místa a most tak postupně zaniká.

Na této jednoduché ukázce můžeme vidět, jak spolu souvisí intenzita osvícení fotorezistoru a odpor, který tato součástka proudu klade

Čím více fotorezistor osvítíme, tím více se uvolní elektronů a tím menší odpor nakonec klade.

Fotorezistor na TinyLab

Na desce TinyLab nalezneme fotorezistor v pravém dolním rohu, hned vedle potenciometru. Součástka je označená nápisem PHOTORESISTOR a je připojená na analogový pin A2. Abychom měli k fotorezistoru přístup, musíme si přepnout přepínač u pinu A2 do pozice ON.

Tinylab Fotorezistor - Přepínač u A2

Přepínač u A2

Měření analogových hodnot

Na Arduinu obecně (tedy i na TinyLabu) slouží k měření analogových hodnot funkce analogRead(). Ta má jeden parametr, a to pin, na kterém chceme hodnotu měřit. Funkce vrací naměřenou hodnotu, která může být v rozsahu 0 až 1023. Jednoduchý program, který nám bude posílat naměřené hodnoty na fotorezistoru, může vypadat třeba takto:

void setup() {
  Serial.begin(9600);
}

void loop() {
  int mereni = analogRead(A2);
  
  Serial.println(mereni);

  delay(1000);
}

Když nyní budeme fotorezistor zakrývat a odkrývat, měla by se hodnota na sériové lince měnit – 0 značí maximální intenzitu světla, 1023 absolutní tmu. Krajních hodnot ale nemusíme dosáhnout, závisí to i na vnitřním zapojení součástek na desce.

Změna tónu podle osvětlení

Pojďme si vytvořit jednoduchý hudební nástroj, který bude hrát tu frekvenci, jaká je zrovna naměřená hodnota na fotorezistoru. Pokud si nevzpomínáte, jak se dá s TinyLab tvořit hudba, přečtěte si článek o piezo bzučáku. Bzučák je připojený na A1, takže nesmíme zapomenout přepnout jeho přepínač do polohy ON.

void setup() {}

void loop() {
  int mereni = analogRead(A2);
  
  tone(A1, mereni);
}

Výsledný zvuk je jako ze špatného sci-fi, ale základní myšlenka je myslím jasná. Nyní nastal čas na vaše experimenty. Zkuste tento příklad libovolně upravit, nebo například vytovřte program, který bude měnit rychlost blikání LED podle osvětlení, přehrávat různé melodie v závislosti na osvětlení a další. Podělte se se svými nápady v komentářích.

Jak se míchají barvy?

$
0
0

Existují různé modely, kterými se dají reprezentovat barvy. Jsou to například HSL, HSV, CMY, ale asi nejznámější je model RGB. Ten umožňuje „vytvořit“ barvu jako směs tří složek – červené (Red), zelené (Green) a modré (Blue). Tento model používají například i displeje a monitory. Představit s výslednou barvu, jako směs tří složek, může být ale pro člověka obtížné. Justin Daneman a Tore Knudsen proto vytvořili zařízení, které toto míchání demonstruje.

Arduino RGB model

Část zařízení, se kterou uživatel interaguje, tvoří tři válce. Každý je určený pro jednu barvu. Uživatel má k dispozici injekční stříkačku a vodu, kterou válce plní. Objem vody v jednotlivých válcích potom odpovídá vlivu barvy válce na výslednou barvu.

Zařízení pracuje ve dvou módech. V prvním módu uživatel může volně prozkoumávat různé barvy interakcí s válci. Ve druhém módu je mu zobrazena požadovaná barva na obrazovce, nebo pomocí jiného válce a on musí zvolit vhodný poměr barev, aby zadané barvy dosáhl.

Colorwise je interaktivní hra, která si klade za cíl seznámit hráče s RGB barevným modelem. Barevné válce s vodou tvoří metaforu pro digitální data, která normálně vnímáme pouze jako výslednou barvu.

Více o Colorwise se můžete dočíst na stránce autorů.

Přeloženo z https://blog.arduino.cc/2017/08/14/physically-mix-digital-colors-with-colorwise/ a mírně upraveno.

Elektromagnetická puška s Arduino NANO

$
0
0

Elektromagnetická puška, která za pomoci dvou elektromagnetů urychluje ocelové projektily, které se poté závratnou rychlostí řítí prostorem… Zní to jako scifi? Ale kdeže!

Princip fungování je ve skutečnosti velice jednoduchý. Elektromagnet má tu výhodu, že je možné jeho pole „zapínat a vypínat“ dle potřeby. Projektil umístíme na konec hlavně a zapneme první z elektromagnetů, který začne projektil přitahovat a urychlovat. Když elektromagnet ve správnou chvíli vypneme, může projektil pokračovat k dalšímu magnetu. O vypínání elektromagnetů se starají optické závory umístěné těsně za ústím každého z nich. Takto si elektromagnety projektil předávají a postupně ho urychlují.

Autor vytvořil pušku od základu. Na 3D tiskárně si vytiskl i základ elektromagnetů, které potom omotal měděným drátem. Součástí vytištěného modelu jsou také otvory k umístění LED a fototranzistoru pro vytvoření optické závory. O řízení se stará deska Arduino NANO.

 

Elektromagnetická puška s Arduino Nano

V návodu na serveru Instructables autor zmiňuje, že v projektu nenajdete velké kondenzátory, které podobná zařízení často využívají. Jejich nevýhodou je, že jsou poměrně drahé a také nebezpečné. Namísto toho používá dvě LiPo baterie, které dohromady dávají asi 22 voltů. Autor zmiňuje, že použitím více cívek a také silnějších baterií by dosáhl ještě většího urychlení projektilu.

Přeloženo z https://blog.arduino.cc/2017/08/15/maker-creates-his-own-coilgun-using-an-arduino-nano/ a mírně upraveno.

GuitarBot vám zahraje oblíbenou píseň

$
0
0

Někteří kutilové jsou obdařeni schopností hry na hudební nástroj. Někteří ale bohužel ne. Co ale naplat, když chtějí naživo poslouchat své oblíbené kytarové hity? Postaví si na to bota!

Jeden z takových projektů vznikl i při spolupráci mezi profesory z University of Delaware v rámci programu „Artgineering“. Ten měl za cíl ukázat, že technika a umění mohou fungovat dohromady. Pokud byste si také rádi sestavili robotickou kapelu, tento návod na Instructables je dobré místo, kde začít.

Arduino GuitarBot - elektronika kytary

Elektronika kytary

GuitarBot se skládá z těchto hlavních částí: desky Arduino Mega, která slouží jako mozek celého zařízení, speciálně vytvořené desky plošných spojů, několika shieldů pro ovládání různých částí bota a také několika solenoidů, které stlačují struny pro změnu tónu. O rozezvučení strun se stará trsátko připevněné na gumovém řemenu, který je poháněný DC motorem. Vše drží pohromadě díky hliníkovému rámu.

Přeloženo z https://blog.arduino.cc/2017/08/17/the-guitarbot-will-strum-you-a-song/ a upraveno.

DevFest 2017 se blíží

$
0
0

Jedna z největších českých IT konferencí se blíží a letošní ročník bude obzvlášť nabitý. Budete u toho?

DevFest – Od vývojářů pro vývojáře

DevFest je česká IT konference, kterou již šestým rokem pořádá nezisková organizace GUG.cz. Po dvou letech se DevFest opět vrací do Prahy a určitě bude co k vidění. Letošní ročník bude dvoudenní.

První den bude věnovaný přednáškám od 27 řečníků ze společností, jako Google, Seznam, Avast, Adobe, BBC a další, kteří přijeli z celkem 15 zemí světa. Témata přednášek se budou týkat hlavně Google technologií. Druhý den pak bude věnovaný různým praktickým workshopům. Budete si moct vyzkoušet různé experimenty v Java Scriptu, seznámíte se s algoritmy pro obchodování s kryptoměnami, na řadu přijde i IoT, Firebase, a také si budete moci pohrát s frameworkem Angular 4. Celá konference bude vedena v anglickém jazyce.

DevFest 2017 speakers

DevFest 2017 speakers

Kdy se DevFest uskuteční? 4. a 5. listopadu v Praze.
Kde se uskuteční? V prostorách České zemědělské univerzity v Praze (Suchdol).

Více informací, včetně možnosti zakoupit vstupenky, naleznete na 2017.devfest.cz.

DIY Arduino hodiny

$
0
0

Důvodů, proč se člověk rozhodne postavit vlastní nástěnné hodiny, může být více. Třeba se nedaří najít hodiny s vhodným designem, nelíbí se vám barva čísel, nebo jste notorický opozdilec a potřebujete, aby byly hodiny nepřehlédnutelné. Pokud takovéto hodiny sháníte, podívejte se na projekt Titan Clock.

Kutil s přezdívkou ProtheanSoft v chtěl v projektu Titan Clock dosáhnout hned několika cílů. Chtěl, aby byly hodiny:

  • co největší
  • energeticky úsporné
  • levné na výrobu
  • co nejtenčí

To se mu také povedlo. K napájení hodin je použita nabíječka k mobilnímu telefonu, hodiny jsou tenké asi 18mm a vyjdou na méně, než 50$ (cca 1100 Kč).

Hodiny jsou sestavené z celkem 28 stejných segmentů, které tvoří RGB LED pásek, plexisklo a další dostupné materiály (polystyren, papír, …). V segmentech je také využit difuzér ze staré TV k dosažení rovnoměrného jasu segmentů.

DIY Arduino hodiny

Hodiny sestavené z jednotlivých segmentů

K řízení hodin je využita deska Arduino Nano, k udržování přesného času obvod hodin reálného času DS3231. V této verzi hodin je Arduino naprogramováno tak, aby každou hodiny změnilo barvu segmentů podle předdefinovaného schématu.

Více informací o projektu naleznete na stránce autora a také na serveru GitHub.

TinyLab: Teploměr

$
0
0

V posledním dílu seriálu o desce TinyLab jsme si představili, jak se dá používat fotorezistor. Dnes se podíváme, jak číst teplotu z dostupného teploměru.

Měření teploty

K elektronickému měření teploty můžeme použít různé typy součástek. Tou asi nejjednodušší je termistor. Termistor je součástka, která se změnou teploty mění svůj vnitřní odpor (podobně jako fotorezistor mění vnitřní odpor při změně intenzity osvětlení). Nevýhodou termistorů je jejich nelinearita. Vysvětleme si ji na příkladu:

Když při

  • 0°C naměříme odpor 1000Ω
  • při 1°C naměříme 2000Ω,

jaký odpor byste čekali při 2°C? 3000Ω? Právě že ne! Termistory mají nelineární průběh, což znesnadňuje přepočet jejich odporu na teplotu.

Z tohoto důvodu vznikly teploměry s lineárním průběhem, u nichž je přepočet na teplotu daleko jednodušší (vystačíme si s operacemi plus, mínus, krát a děleno).

Elektronické teploměry můžeme dále dělit na analogové a digitální. Z analogových teploměrů získáváme analogovou hodnotu, kterou jednoduše přepočteme na stupně. Digitální teploměry nám často posílají už hodnotu vyjádřenou ve stupních. Na desce TinyLab nalezneme analogový teploměr LM35.

Teploměr LM35

LM35 je na TinyLabu připojený na pin A3 Arduina. Fyzicky teploměr nalezneme v levém dolním rohu.

Jelikož je jeho výstupem analogová hodnota, musíme ji měřit pomocí funkce analogRead, podobně, jako jsme to dělali ve článku o potenciometru. V dokumentaci k teploměru uvidíme následující:

Teploměr LM35

Teploměr LM35

Znamená to tedy, že teploměr musíme napájet napětím mezi 4 a 20V (což Arduino s 5V splňuje). Dále také vyčteme, že na výstupu měříme napětí, které se se změnou teploty o jeden stupeň Celsia změní o deset milivoltů (1V = 1000mV). Pro 0°C naměříme 0V, 1°C 10mV, atd.

Arduino a LM35

Jak měřit napětí v Arduinu? Pomocí funkce analogRead!

Funkce analogRead nám vrací hodnoty mezi 0 a 1023. Tato hodnota je přímo úměrná napětí, které na měřený pin přivedeme. Toto napětí se může pohybovat v rozsahu od 0V do napájecího napětí – v našem případě 5V. Když si spojíme tyto dvě informace (rozsah 0-1023, napětí 0-5V), můžeme vyvodit následujícími kroky vzorec pro výpočet teploty ve °C.

Začneme tím, že si rozsah 0-1024 převedeme na rozsah 0 až 1. (Zápis 1024.0 je použit proto, aby nedošlo k zaokrouhlení výsledku na celá čísla – zde potřebujeme desetinná)

analogRead(pin) / 1024.0

Dále tento výsledek přepočteme na milivolty v rozsahu 0-5000mV (5V = 5000mV).

analogRead(pin) / 1024.0 * 5000

Z dokumentace LM35 víme, že 10mV odpovídá 1°C, tedy výslednou teplotu ve stupních celsia získáme následovně:

analogRead(pin) / 1024.0 * 5000 / 10

Výsledný vzoreček může po zkrácení vypadat například takto:

int celsius = analogRead(A3)/ 1024.0 * 500;

Měříme teplotu

S těmito vědomostmi už se můžeme pustit do programování. Začneme tím, že si vypíšeme změřenou teplotu po sériové lince. Nezapomeňte si zapnout přepínač u analogového pinu A3.

void setup() {
  Serial.begin(9600);
}

void loop() {
  int celsius = analogRead(A3) / 1024.0 * 500;

  Serial.println(celsius);

  delay(1000);
}

Hlídač teploty

V druhém příkladu si ukážeme, jak hlídat teplotu a v případě jejího překročení spustit bzučák.

int hranice = 26;

void setup() {
  Serial.begin(9600);
}

void loop() {
  int celsius = analogRead(A3) / 1024.0 * 500;
  Serial.println(celsius);

  if(celsius >= hranice){
    tone(A1, 440, 500);
    delay(500);
    tone(A1, 600, 500);
    delay(500);  
  }
}

Napadá vás nějaké další zajímavé použití teploměru? Třeba pro jednoduchou meteostanici? Nebo pro spouštění větráku při překročení určité teploty? Podělte se s námi v komentářích.


Vytištěný Arduino robotický tank

$
0
0

Náš čtenář, pan Miroslav Kubín, nám poslal článek o stavbě robotického tanku. Děkujeme


Dobrý den,

Je tomu již dva roky co jsem si stáhl Váš e-book a začal jsem se zajímat o elektroniku, jenom podotknu, že nejsem vzdělaný v žádném technickém oboru a díky vašemu e-booku jsem byl schopný rozchodit již i složitější projekty za dva roky. Proto Vám skládám poklonu, protože to pochopil i naprostý laik.

Arduino - Hotový tank

Hotový tank

Ale zpět k tématu. Navrhl, upravil a vytiskl jsem robota, kterého jsem od samého počátku směřoval k tomu, aby se co nejvíce podobal robotům, kteří  jsou v dnešní době používáni na zneškodňování výbušných zařízení (například TALON 2). Robot je ovládaný pouze mobilní aplikací přes bluetooth. Nemá ale sílu na zdvihání těžkých břemen, také není schopen jezdit v obtížném terénu apod. Jedná se pouze o hračku, ačkoli plně funkční.

Požadavky na robota

Jaké byly tedy požadavky na mého robota? V první řadě jsem se ho snažil navrhnout tak, aby se dal ovládat pomocí aplikace přes bluetooth v mobilním telefonu, měl pásový podvozek a robotickou ruku na manipulaci v prostoru kolem čelní části robota, dále jsem chtěl kvůli přehledu vyrobit ovládanou robotickou hlavu na které bude hlavně FPV přenos videa přes 5.8GHz, LED přísvit a ultrazvukový měřič vzdálenosti.

Arduino robotický tank - Model

Model

Podvozek

V první řadě jsem začal s hledáním podvozku, a vzhledem k tomu že jsem hrdým majitelem 3D tiskárny, bylo jasné, že celý robot bude vytištěn. Proto jsem začal hledat na www.thingiverse.com a po dlouhém hledání jsem našel tento projekt, který mi nejvíce vyhovoval.  Původně byl podvozek konstruován na dva motory, ale po tom, co jsem zjistil, že dostávají dost zabrat, jsem model upravil a přidal další dva motory. Musel jsem vymodelovat prakticky celý střed těla.

Arduino robotický tank - Osazení ložisek

Osazení ložisek

Arduino robotický tank - Díly pásů

Díly pásů

Arduino robotank - Střed tanku

Střed tanku

Arduino robotank - Střed tanku

Střed tanku

Rameno a hlava

Dále jsem se pustil do montování robotického ramene. Opět jsem vycházel z hotového návrhu, který jsem musel trochu upravit pro můj projekt. Ovšem největší problém jsem měl s vytvořením robotické hlavy. Nikde jsem nenašel nic, co by mi vyhovovalo, tak jsem se pustil do modelování vlastní hlavy. Hlava se otáčí o 360° pomocí serva a převodů. Umí se naklánět nahoru a dolů, a tak má veliký záběr. Jak jsem již psal – na robotickou hlavu jsem umístil FPV vysílač, kameru, led přísvit a ultrazvukový modul  na měření vzdálenosti. Vzhledem k tomu že se mi doma válel laserový modul, tak jsem jej tam taky přidal. Jako FPV kameru jsem použil starou bezpečnostní kameru s automatickým zapínáním IR LED přísvitu.

Robotická ruka

Robotická ruka

Podstavec hlavy

Podstavec hlavy

Podstavec hlavy

Podstavec hlavy

Arduino robotický tank - Elektronika hlavy

Elektronika hlavy

Podstavec hlavy

Podstavec hlavy

Na stránky thingiverse jsem přidal svůj projekt pro ty, kteří by si chtěli vyrobit a třeba i upravit svůj vlastní tank s .stl soubory potřebné k 3D tisku, schéma zapojení a Arduino program.

Arduino robotický tank - zapojení

Zapojení

Funkce

A teď k tomu jak tedy robot funguje. Srdcem celého robota je Arduino Uno rev.3, pro ovládání a  komunikaci s Androidem používám bluetooth modul HC-06, pro ovládání motorů používám H-můstek L298N který je napájen 8V a otáčky se regulují pomocí PWM vstupů.  Napájení je řešeno trochu složitěji – na napájení používám dva DC-DC konvertory. Jeden jsem nastavil na napětí 8V a napájí motorový driver a FPV systém. Všechny serva jsou napájeny druhým DC-DC konvektorem nastaveným na 5v. Arduino napájím pětivoltovým výstupem z dvojitého H-můstu L298N. Pokud by někoho zajímalo více, jak robot funguje, může se podívat na můj projekt. Najdete tam i detailní obrázek jak je robot zapojen. Celého robota ovládám velice propracovanou Android aplikací, kde si můžete nastavit všechna tlačítka, táhla a ostatní příslušenství, které používáte a přidělit jim vlastní příkazy.

Arduino robotický tank - Ovládání tanku

Ovládání tanku

Zdrojový soubor robota

Thingspeak (podklady pro 3D tisk a další zdroje)

S pozdravem Míra


Děkujeme za zajímavý článek! Máte také projekt, se kterým se chcete pochlubit? Přečtěte si tento článek.

DIY malá stolní laserová vypalovačka

$
0
0

Na serveru Make se nedávno objevil článek o projektu Bartona Dringa. Ten chtěl sestrojit nějaký zajímavý projekt, aby se měl čím pochlubit na kutilských setkáních, a také se seznámit se firmware Grbl, který se používá k ovládání CNC přístrojů. Výsledkem byla dvě zařízení, která umí různě dekorovat pivní tácky.

První ze dvou projektů se jmenuje „Coasty“ a je vybaven laserem. Je tak schopný na tácky gravírovat různé obrazce, nebo je rovnou vyřezávat. Laser se pohybuje v jedné ose, pohyb ve druhé ose je zajištěný přímo posunem vloženého tácku.

Druhé zařízení pracuje na principu polárního plotteru a je vybaveno otvorem na uchycení kreslícího nástroje (fixa, tužka, …). Tácek je připevněn na podložce, kterou je možné rotovat kolem středu. Gumový pás a krokový motor zajišťují pohyb psacího nástroje ve druhé ose.

Elektronika vypalovačky

Přeloženo z https://blog.arduino.cc/2017/08/29/small-cnc-machines-for-customizing-coasters/ a mírně upraveno.

 

Zahrajte si opravdové šachy proti počítači

$
0
0

Hraní počítačových her je určitě zábavné, ale občas tomu chybí třetí rozměr a také něco, na co byste si mohli sáhnout. Kutil s přezdívkou RoboAvatar se rozhodl, že spojí počítačový program a skutečné šachy.

Většina takovýchto projektů používá počítačové vidění. Autor se ale rozhodl jít jinou cestou a použil magnetické spínače pod každým políčkem. Díky tomu je tak možné snímat pole magnetů, které najdeme na spodní straně figurek. K řízení projektu byla použita deska Arduino UNO. To ale nemá dostatek pinů, takže autor přidal ještě shield s multiplexorem a dva čipy MCP23017, které rozšiřují počet použitelných pinů na celkem 93. K pohybu figurek je použita malá robotická ruka.

Arduino šachový robot - Zapojení

Zapojení

Arduino se stará o snímání poloh figurek a jejich přesun. Šachová umělá inteligence ale běží na připojeném počítači, je napsaná v Pythonu a s Arduinem komunikuje přes sériovou linku. V prvním videu níže najdete přehled funkcí projektu, ve druhém postup stavby.

Více informací najdete na serveru Instructables.

Přeloženo z https://blog.arduino.cc/2017/09/29/maker-builds-an-arduino-controlled-chess-playing-robot/a mírně upraveno.

Arduino lampion

$
0
0

Znáte tu atmosféru, kdy se celé město večer zabalí do tmy, přestanou troubit auta a všechno se zklidní a zpomalí. Vzduchem se nese vůně blížících se Vánoc a do ulic mohou vyrazit světlonoši v tajemném průvodu plném světel a barev. Ano, máme tady zrovna dobu lampionových průvodů. Tyto průvody měly v minulosti různé důvody. Třeba takový Arduino lampionový průvod manifestuje krásu hraní a tvoření s Arduinem.

Tak proč si nepostavit lampion přímo s Arduinem a RGB LED páskem? Ovládat to můžeme celé přes Bluetooth z mobilu. To bude Arduino světlonoš. Co vy na to?

Dáme si tam možnost zvolení barvy lampionu, efekt stroboskopu a také barevnou hudbu! Kdo se bude opravdu snažit, přidá si další režimy podle sebe. Vytvoříme si aplikaci pro Android v online grafickém IDE. Se sestavou Arduina, Bluetooth a NeoPixel LED páskem můžeme barevně osvětlit v podstatě cokoliv a řídit to na dálku z mobilního telefonu. Na vánoční stromek to bude také pasovat. Zajímavá je flexibilita takto jednoduchého Arduino projektu, možnost napájení z baterie a kompaktní rozměry. NeoPixel LED se opravdu povedly a dá se s nimi užít hodně zábavy.

Arduino lampion – jdeme na to!

Nejprve zvolíme vhodné komponenty pro stavbu. Jako základ potřebujeme nějaké malé Arduino. Použijeme Arduino NANO, protože je kompaktní a dá se přímo připojit k počítači. Dále potřebujeme Bluetooth modul HC-05 pro bezdrátovou komunikaci s mobilem a RGB LED pásek. Bude se hodit také LiPol baterie 3,7V s modulem pro nabíjení a zvyšujícím měničem pro výrobu napětí 5 V, aby nebyl lampion závislý na napájení ze síťového zdroje. Jako tělo lampiónu použijeme levné stínidlo z IKEA.

Při konstrukci hardwaru šlo vše hladce. Zarazil jsem se až při psaní kódu. Osvěžil jsem si „delay“ bez funkce delay() s použitím Arduino času millis(). Protože nelze používat delay() a sériovou komunikaci, jen pokud je prodleva opravdu malá. Postupoval jsem svou oblíbenou metodou „pokus omyl“. Po chvíli laborování se vše podařilo. A teď se na celý postup podíváme podrobněji.

Rychlokurz ai2.appinventor.mit.edu grafického IDE

Nejprve si vytvořte účet, ideální je použít spárování s Google účtem. Toto online IDE pro tvorbu Android aplikací je vhodné jak pro začátečníky tak pro pokročilé. Tvorba appky je intuitivní. Také je v IDE spousta příkladů, podle kterých se dá jednoduše postupovat ve vlastním projektu. Mně osobně nejvíce vyhovuje jednoduchá inicializace Bluetooth a následná komunikace s Arduinem. Pro téměř každý můj projekt používám toto online IDE jako univerzální ovladač a display pro Arduino. V podstatě nahrazuje tlačítka, potenciometry, displeje, klávesnice. Co se komu hodí. A když někdo vidí, jak ovládáš věci z telefonu, říká „Cože, jak si to udělal?“. Ty odpovíš jen: „Ty ještě neděláš v APP Inventoru“?

Po rozkliknutí odkazu a úspěšném přihlášení do online IDE vidíme design screen. Zde se vytvářejí ovládací prvky aplikace. Vpravo nahoře je tlačítko ‚Blocks‘ to nás přepne do grafického skládání kódu, podobně jako například u Mblock, které znáte od robotů mBot.

APP Inventor – design screen

APP Inventor - design screen

APP Inventor – design screen

Grafická část skládání bloků kódu

APP Inventor - vkládání bloků

APP Inventor – vkládání bloků

Přikládám na stažení soubor aplikace a také kód aplikace, který otevřetete v online IDE. Kliknutím na ‚projekt‘ ==> ‚import project from my computer‘  vložíte stažené „jmeno souboru“.aia  z odkazu.  

Podrobněji se na online Android IDE zaměříme třeba příště. Zde je odkaz na spoustu užitečných tutoriálů.

Výsledná aplikace vypadá na displeji mobilu nějak takto.

Arduino android lampion app

Arduino android lampion app

Nejprve aktivujte komunikaci s Bluetooth modulem HC-05. V aplikaci si můžete vybrat, jestli má nastavení platit pro celý pásek (v celku) a nebo postupně pro jednotlivé LED (horizontálně). Můžete nastavit barvu v barevném kole a aktivovat funkce pro Equalizer a Stroboskop. Equalizer převádí signál z mikrofonu podle jeho intenzity na barevné efekty LED. Stroboskop pak vytvoří světelný efekt, tak jak ho známe z různých tanečních akcí. Ideální je si to vyzkoušet.

Konstrukce Arduino lampionu

Ideální je začít spojovat Arduino a jednotlivé moduly na kontaktním poli, aby se dalo všechno pohodlně odzkoušet.

Schéma pokusného zapojení Arduino lampionu

Na kontaktním poli je vidět Arduino NANO s připojeným Bluetooth a zvukovým modulem. Zapojený je také LED pásek. Není tady zahrnuta LiPol baterie, nabíjecí modul a zvyšující měnič pro napájení.

Arduino lampion - schéma propojení modulů

Arduino lampion – schéma propojení modulů

Na následujícím obrázku vidíme pokusné zapojení pro zkoušení funkčnosti.

Zapojení Arduino lampionu na kontaktním poli

Zapojení Arduino lampionu na kontaktním poli

Před nahráním kódu naimportujte do Arduino IDE NeoPixel knihovny. Následující kód zkopírujte do Arduino IDE. Propojení jednotlivých modulů a pinů je na začátku kódu pro Arduino.

/* piny
 * HC-05
 * Tx 2
 * Rx 3
 * Vcc 5V+
 * GND gnd
 *
 * Mikrofon senzor
 * Vcc 5V+
 * GND gnd
 * A0 - A0
 *
 * NeoPixel pásek
 * DIN 6
 * VCC 5V+
 * GND gnd
 */



int blok;           // hodnota registru
const int sampleWindow = 50;  // prodleva dat z mikrofonu
unsigned int sample;

#include <Adafruit_NeoPixel.h> // knihovna neo_pixel pásku

#ifdef __AVR__
#include <avr/power.h>
#endif

#define PIN 6            // din pin LED pásku
Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);


#include <SoftwareSerial.h> // inport knihovny softwareserial
#include <Wire.h>

SoftwareSerial BT(2, 3); // Bluetooth piny (RX,TX)


// proměné pro dekódování hodnoty barvy
int RED_LED = 13;
String RGB = "";
String RGB_Previous = "255.255.255)";
String ON = "ON";
String OFF = "OFF";
boolean RGB_Completed = false, style = false;
int r, g, b, rh, gh, bh, s;
float cas;


void setup() {
  BT.begin(9600); // inicializace softwareserial na pinech (2,3) s rychlostí 9600
  RGB.reserve(30);
  Serial.begin(9600); // inicializace serial(9600);
#if defined (__AVR_ATtiny85__)
  if (F_CPU == 16000000) clock_prescale_set(clock_div_1); // ověření setup knihovny
#endif
  strip.begin();// start pásku
  strip.show(); // ukaž co máč navolené
  blok = 0;
  r = 255;   // startovní barva je červená
}

void loop() {
  {
    while (BT.available()) { // pokud jsou přijatá nějaká data
      char ReadChar = (char) BT.read();
      if (ReadChar == 'b') { // apka posílá příkazy jako písmena
        blok = 1;                  // pokud se shoduje, blok registr se přiřadí příslušná hodnota a spustí se
      }
      else { // void () se shodným číslem 
        if (ReadChar == 'd' || ReadChar == 'c') {

        }
        else {
          blok = 0;
        }
      }

      if (ReadChar == 'c') {
        style = true;
      }
      if (ReadChar == 'd') {
        style = false;
      }
      if (ReadChar == 'i') {
        blok = 3;
        cas = millis();
      }
      if (ReadChar == ')') {     
        // pokud je natažen znak ) znamená to že RGB kód byl přijat, apka posílá String R.G.B)
        RGB_Completed = true;    // takže červená vypadá takto 255.0.0)
      }
      else {
        RGB += ReadChar;
      }
    }
    //Když je příkazový kód přijat úplně s koncovým znakem ')'
    if (RGB_Completed) {
      if (RGB == ON) {
        digitalWrite(13, HIGH);
        RGB = RGB_Previous;
        Light_RGB_LED();
      }
      else if (RGB == OFF) {
        digitalWrite(13, LOW);
        RGB = "0.0.0)";
        Light_RGB_LED();
      }
      else {
        //zapni barvu podle barevného kódu ze sériového portu Bluetooth
        if (blok == 0) {
          Light_RGB_LED();
        }
        RGB_Previous = RGB;
      }
      RGB = "";
      RGB_Completed = false;
    }
  }
  if (blok == 1) { // rozřazení co uživatel zmáčknul za funkci
    equalizer();
  }
  if (blok == 3) {
    if (style == true) {
      strobo(100);
    }
    else {
      bourka(200);
    }
  }
}

void equalizer()     // void pro equalizer
{
  unsigned long startMillis = millis();
  unsigned int peakToPeak = 0;   // úroveň špiček

  unsigned int signalMax = 0;
  unsigned int signalMin = 1024;
  // sbírej data po 50 mS
  while (millis() - startMillis < sampleWindow) {
    sample = analogRead(0);
    if (sample < 1024) {
      if (sample > signalMax) {
        signalMax = sample;
      } else if (sample < signalMin) {
        signalMin = sample;
      }
    }
  }
  peakToPeak = signalMax - signalMin;  // amplitude
  int volts = (peakToPeak * 500) / 1024;  // TADY JE SOFTWARE nastavení citlivosti
  // přepisuje se hodnota 500 čím vyší hodnota tím je citlivější
  // u mě to jelo výborně s tímto nastavením

  if (style == false)              // equalizer celý
  {
    for (int i = 0; i < volts; i++) {
      if (i < 5){
        strip.setPixelColor(i, 0, 255, 0);
      }
      if (i > 4 && i < 10) {
        strip.setPixelColor(i, 0, 0, 255);
      }
      if (i > 9) {
        strip.setPixelColor(i, 255, 0, 0);
      }
    }
    for (int i = volts; i < 16; i++){
      strip.setPixelColor(i, 0);
    }
    strip.show();
  } else                  // equalizer horizontálně
  {
    for (int i = 0; i < 15; i++) {
      if (volts < 8){
        strip.setPixelColor(i, 0, 255, 0);
      }
      if (volts > 8 && volts < 12){
        strip.setPixelColor(i, 0, 0, 255);
      }
      if (volts > 12){
        strip.setPixelColor(i, 255, 0, 0);
      }
    }
  }
  strip.show();
}

void Light_RGB_LED() {             // dekódování String řetězce do jednotlivých int hodnot
  if (RGB.length() > 5 && RGB.length() < 12) {
    int SP1 = RGB.indexOf('.');
    int SP2 = RGB.indexOf('.', SP1 + 1);
    int SP3 = RGB.indexOf('.', SP2 + 1);
    String R = RGB.substring(0, SP1);
    String G = RGB.substring(SP1 + 1, SP2);
    String B = RGB.substring(SP2 + 1, SP3);
    r = R.toInt();
    g = G.toInt();
    b = B.toInt();

    //vypíše debug info na Serial monitoru
    Serial.print("R=");
    Serial.println(constrain(R.toInt(), 0, 255));
    Serial.print("G=");
    Serial.println(constrain(G.toInt(), 0, 255));
    Serial.print("B=");
    Serial.println(constrain(B.toInt(), 0, 255));

    for (int i = 0; i < 16; i++) { // promítne hodnoty na pásek
      strip.setPixelColor(i, R.toInt(), G.toInt(), B.toInt());
    }                    
      
    strip.show();
  }
}

void strobo(int prodleva) {
  if (millis() > cas - prodleva / 2) {
    for (int i = 0; i < 15; i++) {
      strip.setPixelColor(i, 0, 0, 0);
    }
  }
  if (millis() > cas) {
    for (int i = 0; i < 15; i++){
      strip.setPixelColor(i, 255, 255, 255);
    }
    cas += prodleva;
  }
  strip.show();
}

void bourka(int prodleva) {
  int in[15];
  for (int i = 0; i < 15; i++){
    in[i] = i;
  }
    

  if (millis() < cas - (prodleva / 2)) {
    strip.setPixelColor(in[s], r, g, b);
    strip.show();
  }

  if (millis() > cas - (prodleva / 2)) {
    for (int i = 0; i < 15; i++) {
      strip.setPixelColor(i, 0, 0, 0);
    }
    s = random(0, 14);
    if (millis() > cas)
      cas += prodleva;
    strip.show();
  }
}

Arduino lampion – prototyp

Prototyp lampionu jsem vytvořil na univerzálním plošném spoji, aby byla zajištěna dobrá odolnost proti otřesům. Při vhodném rozmístění modulů je spojení velmi jednoduché a pájení minimální.

Arduino lampión - řídící PCB (Arduino NANO, Bluetooth HC-05, zvukový modul)

Arduino lampion – řídící PCB (Arduino NANO, Bluetooth HC-05, zvukový modul)

Na spodní straně univerzálního plošného spoje jsou vidět zapájené propojky. Ty se dají snadno udělat tak, že teplotu pájecího hrotu nastavím na minimum.

Řídící deska pro Arduino lampión - zespodu

Řídící deska pro Arduino lampion – zespodu

Celý lampion můžeme napájet například z USB Powerbanky, ale proč si nepostavit vlastní řešení s kvalitním LiPol akumulátorem? Celá konstrukce je jednoduchá. LiPol akumulátor je připojený k nabíjecímu modulu. Ten dále napájí zvyšující měnič, který vytváří napájecí napětí 5 V pro Arduino desku.

Arduino lampión - zálohovaný napájecí zdroj

Arduino lampion – zálohovaný napájecí zdroj

Arduino lampión - střeva (řídící PCB, zálohovaný zdroj, LED pásek)

Arduino lampion – střeva (řídící PCB, zálohovaný zdroj, LED pásek)

Vnitřek Arduino lampionu + aplikace pro Android

Vnitřek Arduino lampionu + aplikace pro Android

 

Součástky použité pro Arduino lampion

Svůj Arduino lampion můžete samozřejmě dále vylepšovat. Dalo by se připojit více LED pásků pro silnější vizuální efekt, udělat nové barevné funkce nebo například zkusit mezi sebou propojit více lampionů tak, aby barevně ladily a něco zobrazovaly. Fantazii se meze nekladou. Někdo nosí LED pásky i pod oblečením…

No představte si, kdybyste v noci ve městě potkali skupinu takovýchto barevných koulí. To by byla síla.

Tak možná ji jednou potkáte.

1. Arduino lampionový průvod. Jdete do toho, co říkáte?

Maticový displej na modelové železnici

$
0
0

Kutil David G. Bodnar chtěl nějak odlišit svoji modelovou železnici. Nakonec přišel s nápadem, že do vagonů vestaví 8×8 maticové displeje, na kterých bude moci zobrazovat za jízdy zprávy.

V rámci stavby vymyslel několik zajímavých technik, například použití červeného filtru, aby byl displej ve vagonu pěkně skrytý a byl viditelný jenom, když je potřeba. Také použil stejné zapojení pro displeje na obou stranách vagonu, takže zobrazují vždy stejný text.

Při stavbě použil desky Arduino Pro Mini a Arduino Nano. Pro bezdrátové ovládání je využitý bluetooth modul, který komunikuje s Android terminálem.

Za poslední roky jsem použil maticové displeje ve spoustě různých projektů. Displeje použité v tomto projektu mají vlastní řídicí jednotku, takže jim Ardunio posílá pouze informace o tom, jaký text, popřípadě jakou grafiku zobrazit. Displeje je navíc možné velice jednoduše řetězit za sebe a vytvářet tak dlouhé displeje s pohyblivým textem.

V projektu jsou u sebe vždy trojice displejů, které jsou ale dále propojeny se sousedními skupinami. Vznikl tak dlouhý displej, na kterém zobrazuji běžící text. Ten je navíc možné na dálku měnit z telefonu nebo počítače.

Pokud máte zájem o ozvláštnění svého modelu, nebo jsou vám maticové displeje sympatické, naleznete více informací na serveru Instructables, popřípadě na stránce autora.

Přeloženo z https://blog.arduino.cc/2017/10/03/creating-moving-wirelessly-controlled-train-led-displays-with-arduino/ a mírně upraveno.

Viewing all 537 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>