• Šest jednoduchých způsobů, jak připojit Arduino k Androidu. Ovládejte Arduino ze svého telefonu

    Začít znovu.

    Čip ESP 8266

    Čip ESP8266 je navržen speciálně pro internet věcí. Existují dvě možnosti použití tohoto čipu. První je jako UART-WIFI můstek pro připojení k mikrokontroléru a ovládání AT příkazů. Druhá možnost - samotný čip hraje roli řídicího řadiče. Podle mých odhadů je mezi milovníky elektroniky čip častěji využíván jako řídicí ovladač.

    Vlastnosti čipu:

    • Podpora 802.11b/g/n
    • Integrovaný 32bitový nízkoenergetický MCU
    • Integrovaný 10bitový ADC
    • Vestavěný zásobník TCP/IP
    • Vestavěný zesilovač RF signálu
    • Podpora rozmanitosti antény
    • WiFi 2,4 GHz, podpora WPA/WPA2
    • Podpora režimů STA/AP/STA+AP
    • SDIO 2.0, (H) SPI, UART, I2C, I2S, IR dálkové ovládání, PWM, GPIO
    • STBC, 1x1 MIMO, 2x1 MIMO
    • Agregace A-MPDU & A-MSDU & ochranný interval 0,4s
    • výstupní výkon+20 dBm v režimu 802.11b

    Čip je vysoce integrované WiFi řešení. Vše, co je potřeba, bylo umístěno uvnitř čipu. Typický, minimálně požadovaný obvod pro mikroobvod sestává pouze ze sedmi prvků.

    Fotografie pro porovnání počtu součástí podobných řešení.

    Podle některých zpráv je celá tato krása řízena 32bitovým jádrem procesoru Xtensa LX106, podle jiných - L106 Diamond společnosti Tensilica. Čip pod mikroskopem vypadá jako celé město propojených prvků.

    Jednou z nejdůležitějších vlastností je spotřeba energie. V ESP8266 je to prostě úžasné:

    • 215 mA v režimu nepřetržitého vysílání.
    • 1mA v režimu udržování komunikace s přístupovým bodem
    • 10uA v režimu hlubokého spánku s běžícími hodinami reálného času
    • 0,5uA palců Režim napájení VYPNUTO

    Doba potřebná k probuzení a zahájení přenosu paketu je kratší než 2 ms. Například při měření teploty každých 100 sekund a připojení k přístupovému bodu a přenosu nashromážděných dat každých 300 sekund (zbytek času čip spí) bude průměrný proud asi 1 mA. To jsou více než tři měsíce práce ze tří prstových baterií s kapacitou 2600 mAh.

    O modulech ESP

    V současné době jsou nejoblíbenější moduly založené na ESP8266 ESP-01, ESP-02, ESP-03, ESP-04, ESP-05, ESP-06, ESP-07, ESP-08, ESP-09, ESP-10, ESP -11, ESP-12, ESP-12E. Liší se počtem rozvedených pinů, přítomností konektoru pro připojení externí antény a velikostí.

    Nyní již v prodeji najdete staršího bratříčka ESP8266 - jedná se o modul ESP-32. Na Aliexpressu mají tyto moduly zatím jen dva prodejci. Cena je asi 250 rublů oproti 110 rublům za ESP-12E. V novém modulu bude ještě více vychytávek.

    Hlavní rysy ESP-32. (kliknutím zobrazíte)

    WiFi
    - 802.11b/g/n/e/i
    - 802.11n (2,4 GHz), až 150 Mbps
    - Bezpečnostní funkce 802.11i: předběžná autentizace a TSN
    - 802.11e: Správa více front pro plné využití priorit provozu QoS
    - Wi-Fi Protected Access (WPA)/WPA2
    - Wi-Fi Protected Setup (WPS)
    - Vyhovující a certifikované UMA
    - Rozmanitost a výběr antén
    - Agregace A-MPDU a A-MSDU
    - Výkon WMM s U-APSD
    - Fragmentace a defragmentace
    - Wi-Fi Direct (P2P), P2P Discovery, P2P Group Owner Mode a P2P Power Management
    - Režim Infrastructure BSS Station / režim Soft AP
    - Automatické monitorování / skenování majáku
    - SSL zásobníky s hardwarovými akcelerátory

    Bluetooth
    - Jednočipové CMOS plně integrované rádio a základní pásmo
    - Bluetooth Piconet a Scatternet
    - Bluetooth 4.2 (BR/EDR/BLE)
    - Adaptivní frekvenční přeskakování (AFH)
    - SMP
    - Vysílač třídy 1, třídy 2 a třídy 3 bez externího zesilovače výkonu
    - +10dBm přenosový výkon
    - NZIF přijímač s citlivostí -90 dBm
    - Až 4 Mbps vysokorychlostní UART HCI
    - SDIO / SPI HCI
    - CVSD a SBC
    - Malá spotřeba energie
    - Minimální externí součást

    CPU a paměti
    - Xtensa® Dual-Core 32bitový LX6 micr pr cess rs, až 400MIPS
    - 128 kB ROM
    - QSPI Flash/SRAM, až 4 x 16 MB
    - Napájení: 2,5V až 3,6V
    - 416 KB SRAM

    Hodiny a časovače
    - 2 MHz až 40 MHz krystalový oscilátor
    - Interní 8 MHz oscilátor s kalibrací
    - Externí 32 kHz oscilátor pro RTC s kalibrací
    - Interní RC oscilátor s kalibrací
    - Dvě skupiny časovačů včetně 3 x 64bitových časovačů a 1 x watchdog v každé skupině
    - RTC časovač s přesností na sekundu
    - RTC hlídací pes

    Pokročilá periferní rozhraní
    - 12bitový SAR ADC až 16 kanálů
    - 2 x 10bitové D/A převodníky
    - 10x dotykový senzor
    - Teplotní senzor (-40 +125°C)
    - 4x SPI
    - 2x I2S
    - 2 x I2C
    - 2x UART
    - 1 hostitel (SD/eMMC/SDIO)
    - 1 slave (SDIO/SPI)
    - Rozhraní Ethernet MAC s vyhrazenou podporou DMA a IEEE 1588
    - CAN 2.0
    - IR (TX/RX)
    - PWM motoru
    - LED PWM až 16 kanálů

    Bezpečnostní
    - Všechny podporované bezpečnostní funkce standardu IEEE 802.11, včetně WFA, WPA/WPA2 a WAPI
    - Bezpečná bota
    - Flash šifrování
    - 1024bitové OTP, až 768bitové pro zákazníky
    - Kryptografická hardwarová akcelerace:
    - AES 128/192/256
    - Knihovna HASH (SHA-2).
    -RSA
    - Generátor čísel Radom

    Zvláště zajímavá je deklarovaná podpora sběrnice CAN. Brzy bude možné spravovat systémy auta a provádět diagnostiku přes WiFi přímo z mobilní zařízení.

    Ale zpět k ESP-12E. Na základě tohoto modulu je postavena platforma NodeMCU.

    O platformě

    Platforma využívá schopnosti modulu ESP-12, nemá vlastní mikrokontrolér. Číňané vyrábějí mnoho klonů s různými převodníky rozhraní a samotné platformy mají různé velikosti.

    Ve výchozím nastavení je firmware NodeMCU načten do platformy s podporou interpretru skriptovacího jazyka LUA. Skripty definují chování desky.

    Píšu a nahrávám programy pomocí Arduino IDE. Pro práci s platformou musí být nainstalovány knihovny. Dodává se s knihovnami velký počet ukázky programů.

    Instalace knihoven na prostředí Arduino IDE pracovat s NodeMCU .

    Chcete-li nainstalovat knihovny, přejděte na Nastavení Arduina IDE a do pole „Additional board“ zadejte adresu http://arduino.esp8266.com/package_esp8266com_index.json

    Projděte seznam a najděte ESP8266 by ESP8266 Community a nainstalujte knihovny.

    Zavřete Správce nástěnek. Přejděte na „Nástroje“ a vyberte desku NodeMCU podle vaší verze.

    Chcete-li pochopit, který modul jste nainstalovali a kterou verzi zvolit, podívejte se na modul. Pokud jsou kontakty na něm umístěny na třech stranách - jedná se o ESP-12E, pokud pouze na dvou - jedná se o ESP-12.

    Přiřazení pinů platformy NodeMCU

    Funkce podporované knihovnami pro Arduino IDE .

    Úplný popis si můžete přečíst zde https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_ru a v ruštině. Budu mluvit o hlavních funkcích.

    GPIO se ovládá stejným způsobem jako Arduino. Funkce pinMode, digitalRead, digitalWrite, analogWrite jako obvykle. analogRead(A0) čte hodnotu ADC z analogového vstupu A0. analogWrite umožňuje softwarové PWM. Frekvence PWM je asi 1 kHz. Rozsah PWM je od 0 do 1023, pro Arduino, jak si pamatujeme, až 255. Přerušení jsou také podporována na jakémkoli GPIO kromě GPIO16. Funkce millis() a micros() vrací milisekundy a mikrosekundy od spuštění modulu. Funkce delay() NodeMCU funguje jinak než Arduino. Zde je použití zpoždění vítáno a ve velkých programech dokonce nutné. Když modul udržuje WiFi připojení, musí dělat spoustu jiných úkolů na pozadí, než je váš náčrt. Funkce WiFi a TCP/IP knihoven SDK mají schopnost zpracovat všechny události ve frontě po dokončení každého cyklu vaší funkce loop() nebo během provádění delay(...). Pokud váš kód obsahuje fragmenty, které trvají déle než 50 milisekund, musíte použít delay(...), aby zásobník WiFi fungoval správně. Ale delayMicroseconds() blokuje jiné úlohy a nedoporučuje se pro zpoždění větší než 20 milisekund. Serial používá hardwarový UART0 běžící na PIO1(TX) a GPIO3(RX).

    Program pro ovládání čtyř relé z mobilní aplikace

    Po instalaci knihoven připojíme k platformě blok 4 relé na piny D1, D2, D3, D4, což odpovídá GPIO 5, 4, 0, 2, resp. Poté připojíme napájení k platformě a k reléové jednotce. Reléový blok, který mám, má jednu vlastnost. Chcete-li relé zapnout, musíte přitáhnout kolík k zemi. To znamená, že logická 0 relé zapne a 1 jej vypne.

    Budu zvažovat tři možnosti pro program řízení reléového bloku.

    První program používá populární knihovnu aRest https://github.com/marcoschwartz/aREST

    Toto je knihovna API, která vám umožňuje ovládat GPIO prostřednictvím požadavků http, jako jsou http://192.168.0.10/digital/6/1 její možnosti: nastavte GPIO na digitální nebo analogové (PWM), nastavte 0 nebo 1 na pin v digitální režimu, vracet proměnné a číst stav pinů.

    Zkompiloval jsem program a načetl jej z příkladů, které jsou součástí knihovny. Co se použití týče, jednodušší už to být nemůže.

    V Nastavení je navázáno spojení s přístupovým bodem, který je hlášen přes COM port. A smyčka vypadá takto:

    void loop() (

    Klient WiFiClient = server.available();

    pokud (!klient) (

    vrátit se;

    }

    while(!client.available())(

    zpoždění(1);

    }

    odpočívací rukojeť (klient);

    }

    Všechno. Co se tam děje, není jasné. Funguje to, ale vlastně nic neprogramujeme. My pouze spustíme program, o zbytek se postará knihovna. Zajímavější je ale naučit se pracovat s GPIO „z ruky“. Ano, mimochodem, můj program po neurčité době spadl. Někdy po 40 minutách, někdy po 5-6 hodinách. Když jsem přišel domů po 8 hodinách práce, vždy jsem zjistil, že program nefunguje. Router to ukazuje wifi klient připojen a přidělena IP adresa. O knihovnu jsem rychle ztratil zájem. Na ruskojazyčných fórech jsem neviděl žádné stížnosti na zmrazení aRest. Už jsem hřešil na NodeMCU nebo nestabilní napájení, ale další experimenty prokázaly, že v mém případě je na vině program. S největší pravděpodobností mám speciální případ. Netvrdím, že knihovna nefunguje.

    Přišli jsme na aRest.

    Druhý program vlastní, používá pouze jednu #include knihovnu . Program je jednoduchý a vizuálně ukazuje, jak spravovat piny prostřednictvím webových požadavků. Tento program je schopen spravovat pouze logické stavy na výstupech D1-D4 a zobrazovat informace o době běhu programu jako testovací požadavek. V případě potřeby můžete přidat program pro zbytek GPIO, „naučit“ jej vydávat PWM atd. Modrá LED dioda umístěná na modulu ESP-12E je připojena na pin D4. Poté, co jsem trpěl zamrznutím aRest, jsem dočasně odpojil relé 4 od D4 a přidal pár řádků do svého programu, abych tuto LED rozblikal. Přišel jsem domů po práci, koukám - bliká, což znamená, že to funguje. Zkontroloval jsem to z mobilu - určitě to funguje. Program fungoval 8 dní bez zamrzání, fungoval by i déle, ale mám jen jeden NodeMCU, tak jsem pokračoval ve studiu a program musel být zastaven.

    Po zkompilování a nahrání programu na monitor sériového portu program ohlásí stav připojení a IP adresu, kterou platforma obdrží od přístupového bodu.

    Pro ovládání reléové jednotky pro tyto dva programy byla vytvořena aplikace pro mobilní telefon s OS Android. Aplikace je velmi jednoduchá, byla vytvořena v App Inventor 2. Postup tvorby aplikace popíšu později. Jednak třetí možnost řešení ovládání relé.

    Třetí možnost komplex. Firmware platformy a software Android od jednoho vývojáře. Použil jsem službu Blynk. Jedná se o cloudovou službu pro tvorbu grafických ovládacích panelů a je vhodná pro širokou škálu mikropočítačů a mikrokontrolérů.

    K vytvoření vlastního projektu spravovaného přes Blynk potřebujete velmi málo: nainstalovat aplikaci (k dispozici jsou verze pro iOS a Android) nebo použít webový formulář. Zde se budete muset zaregistrovat v jednom kroku – zadejte svůj e-mail a heslo. Faktem je, že Blynk je cloudové řešení a každý uživatel může získat kontrolu nad kusem železa bez registrace.

    Ti, kteří chtějí, mohou nainstalovat server lokálně. V tomto případě není vyžadován přístup k internetu.

    Popíšu postup. Skládá se ze dvou částí.

    První díl. Stáhněte si Blynk z Google Play. Nainstalujte a spusťte program

    1. Klikněte na "Vytvořit nový projekt"
    2. Zadejte název projektu a v poli „Hardwarový model“ vyberte NodeMCU. Naučte se Auth Token nazpaměť nebo si jej zapište na papír a pošlete na svůj e-mail. Klikněte na "Vytvořit".
    3. Klikněte na "+" v rohu.
    4. Zvolte "Tlačítko". Jak jste již poznamenali, každý prvek přidaný do projektu stojí energii. Ve výchozím nastavení je vám přiděleno 2000. Při přidávání widgetů se spotřebovává energie. Pokud potřebujete umístit více widgetů, budete si muset koupit energii za peníze.

    1. Zde je naše tlačítko. Klikněte na to. Otevře se jeho nastavení.
    2. Vyberte název, pin, na který bude působit, režim tlačítka nebo přepínače, název pro stavy „on“ a „off“. V aplikaci nelze signál z tlačítka invertovat. U mých relé: tlačítko je vypnuté - 0 na výstupu, relé je zapnuté a naopak. Pravidla pro fungování logiky můžete předepsat instalací serveru na místní počítač.
    3. Dále klikněte na trojúhelník vpravo nahoře. Program se přepne z režimu úprav do práce.
    4. Tlačítka fungují. Je pozoruhodné, že je podporován multitouch. Zkusil jsem stisknout 6 tlačítek současně. Vše funguje (telefon má 10 tlakových bodů dle popisu).

    Druhá část je firmware NodeMCU. Stáhněte a nainstalujte knihovny Blynk https://github.com/blynkkk/blynk-library . Spusťte Arduino IDE - Soubor - Vzorky - Blynk - BoardsAndShields - ESP8266_Standalone.

    Do příkladu zadejte Auth Token z tajné pošty. Stejně tak SSID vaší WiFi sítě a heslo pro přístup k ní.

    Všechno. Sestavte a šijte. Všechno fungovalo napoprvé. Použití vyhrazeno cloudová služba musí mít přístup k internetu mobilní telefon a NodeMCU.

    Vytvořte aplikaci vAplikace inventář.

    App Inventor je vizuální vývojové prostředí pro aplikace pro Android, které od uživatele vyžaduje minimální znalosti programování. Původně byl vyvinut v Google Labs, po uzavření této laboratoře byl převeden na Massachusetts Institute of Technology. Pro programování v App Inventor použijte GUI, vizuální programovací jazyk velmi podobný Scratch a StarLogo TNG. Není tak těžké přijít na to, jak napsat aplikaci. Nenašel jsem žádnou užitečnou dokumentaci v ruštině, ale na YouTube je spousta videí.

    Služba má dvě hlavní záložky. První je „Designer“, zde v vizuální editor komponenty jsou umístěny. Rychlost vývoje rozhraní je velmi vysoká díky jedné funkci služby App Inventor. Na mobilním zařízení je třeba nainstalovat aplikaci MIT App Inventor 2 Companion. Spusť to. Na webu vyberte Connect – AI Companion. Vygeneruje se QR kód a zobrazí se na obrazovce. V aplikaci je potřeba kliknout na „naskenovat QR kód“ a naskenovat kód. Po několika sekundách se aplikace objeví na obrazovce mobilního zařízení. Nové položky nebo jakákoli změněná data jsou k dispozici pro ověření na mobilním zařízení během pouhé sekundy.

    Obrazovka obsahuje: vstupní pole pro zadání IP adresy, tlačítko pro nastavení adresy a odeslání testovacího požadavku. Níže je komponenta „WebViewer“, která zobrazí stránku odeslanou jako odpověď z NodeMCU. Níže jsou 4 skupiny dvou tlačítek, které relé zapínají a vypínají. Dále potřebujeme komponentu TinyDB, do ní uložíme proměnnou pro sestavení dotazu. Přidal jsem také komponentu pro rozpoznávání hlasu pro testování, abyste mohli relé ovládat hlasovými příkazy. Nebudu popisovat algoritmus akcí pro rozpoznávání textu, protože použití této funkce je extrémně nepohodlné. Nejprve je třeba stisknout tlačítko, poté se zobrazí okno od Googlu s nápisem „mluvte“, poté se příkaz vysloví. Navíc po skončení výslovnosti povelu rozpoznávací systém nějakou dobu čeká, pak si uvědomí, že vše už bylo řečeno. Poté přichází rozpoznávání řeči a následuje textová odpověď. Musí se porovnávat s předem připravenými frázemi. A teprve poté bude příkaz vykonán. Je jednodušší stisknout tlačítko.

    Druhá záložka se nazývá "Blocks". Zde je ve formě bloků specifikována celá „softwarová“ část aplikace.

    Zde je algoritmus programu tvořen bloky. Hlavní část algoritmu je na obrazovce. Popíšu, co se zde děje.

    • Při SET.Click - při stisku tlačítka "set" vyvoláte funkci IP
    • Následuje samotná funkce IP. Ukládá IP adresu ze vstupního pole v TinyDB předponou "http://". Poté WebViewer.GoToUrl převezme adresu z TinyDB, na konec připojí "/test" a přejde na tuto adresu. Dostávám "http://192.168.0.1/test". Ve WebViewer se na obrazovku načte informace, že test prošel, a zobrazí se doba nepřetržitého provozu NodeMCU. Pokud byla IP adresa zadána špatně, pak se nám zobrazí zpráva o nemožnosti otevření stránky.
    • Když ON1.Click (ON1 je název tlačítka) volá funkci ON1.
    • Funkce ON1 převezme adresu z TinyDB, připojí k ní "/D1/0", ukáže se "http://192.168.0.1/D1/0" a odešle požadavek. NodeMCU po obdržení daná žádost, si myslí, že pin D1 je potřeba nastavit na 0. Provede a odešle odpověď „GPIO set OK“, kterou vidíme ve WebVieweru.
    • Další tlačítko OFF1 dělá totéž, pouze na konec připojí "/D1/1". Nastaví logickou 1 na pin D1. Relé se vypne.

    Zbývající tlačítka se chovají podobně, mění čísla PIN a požadovaný stav v požadavku.

    Poté, co je vše zkontrolováno a funguje, klikněte na Build - App (uložit .apk do mého počítače). Kompilace a stažení souboru apk aplikace. Musí být nainstalován na mobilním zařízení, které dříve umožňovalo instalaci aplikací z zdroje třetích stran. Nyní se aplikace spustí sama. AI Companion již není potřeba a připojení k internetu také.

    Takto můžete bez námahy vytvořit aplikaci pro vaše zařízení Android pro správu zátěže WiFi sítě.

    NodeMCU a mobilní telefon jsou připojeny domácí router. Kde není tečka WiFi přístup, NodeMCU může fungovat jako přístupový bod pro připojení mobilního zařízení přímo k ESP8266. Například ovládání otevírání garážových vrat a rozsvícení světla v garáži.

    P.S. Ještě se mi nepodařilo zvednout přístupový bod na plošině. Příklad dodaný s knihovnami se nezkompiluje. Arduino IDE se při kompilaci jen zasekne. S tím se ještě musím vypořádat.

    P.P.S. Zvedl bod na platformě, ale dosud nedosáhl odpovídající práce. Příkazy byly provedeny buď se zpožděním několika sekund, nebo nebyly provedeny vůbec. Zatímco studium modulu je pozastaveno. Vytížený autoservis.

    Může být RC auto WiFi auto...?

    RC auta jsou dobrá, ale levná RC auta mají omezený dojezd a ovládají se pouze specifickým dálkovým ovladačem, který je součástí sady.

    Koupil jsem si 4x4 RC Jeep s pružným odpružením a terénními pneumatikami za asi 30 dolarů. Po hraní se strojem jsem se rozhodl, že by se dal vylepšit pomocí Wi-Fi a Androidu. Poté, co jsem strávil trochu času, jsem úplně odstranil desku ze stroje. Změřil jsem napětí na této desce a vyvinul systém řízení motoru s Nápověda pro Arduino. Původní řídicí systém nepoužívá PWM pro regulaci otáček. Stroj je navržen tak, aby se přes překážky pohyboval na velmi nízkém převodovém stupni a v důsledku toho velmi pomalu. Můj obvod používá PWM.

    Arduino používám již několik měsíců. Také jsem si zakoupil asynclabs WiFi Sheild pro Duemilanoe Arduino, abych experimentoval s WiFi. Dodává se s knihovnou nainstalovanou v Arduino IDE. Podařilo se mi vytvořit program, který umožňuje ovládat motory a směr pohybu pomocí WiFi.

    S pomocí vizuální studio Vyvinul jsem okno programu, které se připojuje k serveru auta a dává mu příkazy. Poté jsem po několika pokusech napsal aplikaci pro Android, která používá k ovládání auta akcelerometr.

    Nástroje a prvky

    Tento společný seznam nástroje a prvky, které byly použity v tomto projektu. Dokumentace Eagle přesně specifikuje Specifikace použité komponenty.

    multimetr
    páječka
    Pájka
    Šroubováky
    Řešení pro leptání desek plošných spojů
    Sklolaminátová fólie
    Kleště
    Arduino
    AsyncLabs WiFi Shield
    konektory RJ45
    Ovladač motoru H-můstek
    Kondenzátory

    Řidič motoru

    Pomocí Eagle jsem navrhl a vyrobil tento obvod tištěný spoj pro ni. Funguje jako ovladač motoru a regulátor výkonu pro Arduino.
    To vám umožní používat standardní 7,2V baterii pro napájení hlavního a řídicího motoru a Arduina.

    Tento obvod používá k ovládání motorů duální integrovaný ovladač H-můstku SN754410. Ovládací kolíky ovladače jsou připojeny ke kabelu RJ45, který se připojuje k AsyncLabs WiFi Sheild.

    štít arduino

    Pomocí knihovny SparkFun v Eagle jsem navrhl Arduino Shield, který předá piny WiFi Shield a připojí se k ovladači motoru přes konektor RJ45 a 2 šroubovací svorky.

    Pinout RJ45 je velmi důležitý. Chyba připojení může vést k nepředvídatelným výsledkům a budete muset desku předělat.

    Leptání DPS

    Toto téma už bylo mnohokrát probíráno a nebudu ho podrobně popisovat.
    Používám ho a vyhovuje mi a se zkušenostmi dává vynikající výsledky.

    K upevnění desky k pouzdru byl použit suchý zip. Měl jsem štěstí, protože v mém psacím stroji bylo pod trubkovým rámem hodně místa pro elektroniku.
    Zapomněl jsem vyfotit spojení desky ovladače motoru se zbytkem desek, ale dopadlo to dobře a nezabralo moc místa v pouzdře.

    Program

    Můj kód možná není dostatečně efektivní, ale funguje.

    psací stroj

    Byl jsem schopen postavit CarServer na základě příkladu SocketServer, který jsem dostal od Wifi Sheild AsynLabs.
    Budete muset zadat informace o vaší bezdrátové síti do kódu Arduino. Když je stroj zapnutý, dejte mu 15–45 sekund na navázání spojení se směrovačem. Červená LED na WiFi Shield znamená, že připojení je navázáno.

    Tento program jsem vytvořil v C# a MS Visual Studio 2008. Udělal jsem pěkné okno a auto se dá ovládat šipkami.

    Proč neovládat auto z telefonu?

    Tato myšlenka mě napadla asi týden po koupi DroidX. Začal jsem experimentovat a nakonec jsem použil Android SDK. Našel jsem podobné aplikace, kde k ovládání slouží akcelerometr. Při pohledu na tyto aplikace jsem napsal vlastní.

    Vložte IP a port zadaný v kódu Arduino. Držte telefon vodorovně. Poté jej nakloňte směrem od sebe pro jízdu vpřed a směrem k sobě pro jízdu vzad. Použijte svůj telefon jako volant.
    Toto je moje první velká aplikace pro Android. Stále má nějaké chyby, ale z velké části funguje dobře.

    Jezděte na dvoře s autem 4x4 s WiFi!

    Při vytváření tohoto projektu jsem se skvěle bavil. Získal jsem spoustu znalostí a nových dovedností a nyní mám auto s pohonem 4x4, které lze ovládat z telefonu.

    Potřebuji kameru namontovat za přední sklo, abych viděl, kam jedu. Měl by mít nízkou spotřebu a také sám přenášet video. (Myslím, že to Arduino zvládne).

    Seznam rádiových prvků

    Označení Typ Označení Množství PoznámkaProdejnaMůj poznámkový blok
    Řidič motoru
    IC1 ČipSN7544101 Do poznámkového bloku
    Lineární regulátor5 V1 Do poznámkového bloku
    bipolární tranzistor

    2N3904

    1 Do poznámkového bloku
    C1, C2 elektrolytický kondenzátor 2 Do poznámkového bloku
    Konektor2 špendlíky7 Do poznámkového bloku
    Konektor8 pinů1 Do poznámkového bloku
    štít arduino
    U1 Deska Arduino 1 Do poznámkového bloku
    T1 bipolární tranzistor

    2N3904

    1 Do poznámkového bloku
    R1 Rezistor 1 Do poznámkového bloku
    3 USD Trimrový odpor 1 Do poznámkového bloku
    Konektor2 špendlíky2

    Chcete poslat textová zpráva ze smartphonu Android na desku Arduino? Tento článek vám poradí, jak na to!

    Co bude požadováno

    • Smartphone Android podporující režim hostitele USB (tj. podpora OTG) – většina zařízení se systémem Android 3.1 a vyšším tento režim podporuje. Zkontrolujte svůj telefon pomocí přes USB Aplikace Host Diagnostics z Obchodu Play;
    • Arduino - jakákoli verze. budu používat Uno R3;
    • USB kabel pro Arduino;
    • USB OTG kabel- potřebujete jej k připojení Arduino USB kabelu micro USB port telefon;
    • Android Studio – musíte si jej nainstalovat. Je to docela snadné. android studio usnadňuje vývoj aplikací prostřednictvím svých předpokladů a generování kódu. Toto je jedno z nejlepších IDE. Tento článek můžete také použít jako návod Instalace pro Android IDE.

    Hlavní součásti aplikace pro Android

    V aplikace pro Android existují tři hlavní soubory:

    MainActivity.java Toto je spustitelný kód Java, který řídí, jak bude aplikace fungovat. activity_main.xml Obsahuje rozvržení aplikace, tj. komponenty: tlačítka, komponenty zobrazení textu a tak dále. AndroidManifest.xml Zde definujete, kdy se má aplikace spustit, jaká oprávnění potřebuje a k jakému hardwaru potřebuje přístup.

    Existuje mnoho dalších souborů, ale všechny jsou navzájem propojeny pomocí těchto tří.

    Aktivitu lze popsat jako obrazovku, na které uživatel komunikuje s telefonem. Aktivity obsahují widgety, jako jsou tlačítka, textová pole, obrázky atd., které pomáhají při předávání informací. Tento výukový program bude používat pouze jednu aktivitu, MainActivity , která bude přijímat uživatelský vstup pro odeslání do Arduina a také zobrazí přijatý text.

    Rozložení

    Použijeme stejné rozložení jako aplikace USB a Bluetooth. Je jednoduchý a obsahuje minimum widgetů potřebných pro kontrolu spojení mezi zařízeními.

    Jak vidíte, obsahuje widget EditText pro příjem vstupu od uživatele, tlačítka pro zahájení připojení, odeslání dat, ukončení připojení a vymazání TextView . Přijatá data se zobrazí v TextView (prázdné místo pod tlačítky).

    Zde je část kódu XML. Protože kód tlačítek je podobný, není zde zobrazen. Celý kód lze stáhnout z odkazu na konci článku.