• Bir ev robotunu Bluetooth üzerinden kontrol etmek için bir Android uygulaması oluşturuyoruz. Arduino'yu Android'e Bağlamanın Altı Kolay Yolu

    Wi-Fi modülü ile.

    Açık Arduino Uno Her şey için Wi-Fi sağlandı rahat çalışma mikrokontrolörlü: 14 dijital giriş/çıkış (bunlardan 6'sı PWM çıkışı olarak kullanılabilir), 6 analog giriş, USB konektörü, güç konektörü, devre içi programlama konektörü (ICSP) ve mikrokontrolör sıfırlama düğmesi.

    Kartın öne çıkan özelliği, Arduino'nun diğer modüllerle iletişim kurmasını sağlayan ESP8266 WiFi modülüdür. kablosuz Ağlar 802.11 b/g/n standartları.

    ESP8266, USB kablosu kullanmadan bir Arduino kartını flaşlamanıza olanak tanır OTA modu(Kablosuz Firmware - “kablosuz firmware”).

    Kurulun video incelemesi

    Bağlantı ve kurulum

    Arduino Uno WiFi kartını kullanmaya başlamak için işletim sistemi Windows, Arduino IDE'yi bilgisayarınıza indirip yükleyin - Arduino IDE'si.

    Bir şeyler yanlış gitti?

    WiFi modülünü yapılandırma

    WiFi üzerinden Arduino Firmware'i

    Arduino Uno WiFi'nin stoklarında bir tane daha var güzel bonus- OTA (Kablosuz Firmware) modunda USB kablosu kullanmadan çizimleri yükleme yeteneği. Bunun nasıl yapılacağına daha yakından bakalım.


    Bunu yapmak için menüye girin: Aletler Liman ve doğru bağlantı noktasını seçin.

    Arduino'yu WiFi üzerinden flashladığımız için kart, IP adresine sahip uzak bir cihaz olarak tanımlanacaktır.

    Ortam yapılandırılır, kart bağlanır. Krokiyi indirmeye devam edebilirsiniz. Arduino IDE geniş bir liste içeriyor hazır örnekler, herhangi bir sorunun çözümünü gözetleyebileceğiniz. Örnekler arasından LED'in yanıp sönmesini - "Yanıp Sönme" taslağını seçelim.
    Program indirme simgesine tıklayarak panoyu flaşlayın.
    Yükleme sonrasında LED saniyede bir kez yanıp sönmeye başlayacaktır. Bu, her şeyin yolunda gittiği anlamına gelir.

    Şimdi şu adrese gidebilirsiniz: kullanım durumları.

    Kullanma örnekleri

    Web sunucusu

    Analog girişlerin güncel değerlerini içeren bir sayfayı görüntüleyecek basit bir web sunucusu kuralım.

    web-server.ino /* Arduino Uno WiFi üzerinde çalışan basit bir web sunucusu örneği. Sunucu, analog girişlerin değerlerini görüntüler ve bilgileri her iki saniyede bir günceller. Sunucuya http:// adresinden erişin /arduino/webserver/ Bu örneğin yalnızca Arduino Uno WiFi Developer Edition ile çalıştığını unutmayın. */#katmak #katmak void setup() ( Wifi.begin() ; Wifi.println ("Web Sunucusu çalışıyor"); // Wi-Fi konsolunda sunucunun başlatılmasıyla ilgili bir mesaj görüntüle) void loop() ( while (Wifi.available () ) ( proses(Wifi) ; ) gecikme(50 ) ; ) void proses(WifiData client) ( String command = client.readStringUntil ("/" ) ; if (command = = "web sunucusu" ) ( WebSunucusu(istemci) ; )) void WebSunucusu(WifiData istemcisi) ( client.println ("HTTP/1.1 200 OK" ) ; client.println ("Content-Type: text/html" ) ; client. println ("Bağlantı: kapat" );client.println ("Yenile: 2" ) ; //Saniye cinsinden sayfa yenileme periyodunu ayarlayan başlık client.println(); client.println(" " ) ; // Sayfayı oluştur client.println( " UNO WIFI Web Sunucusu " ) ); client.print( "

    Analog pinlerden değer çıkışı örneği

    "
    ) ); istemci.print("
      " ); for (int analogKanal = 0 ; analogKanal< 4 ; analogChannel++ ) { int sensorReading = analogRead(analogChannel) ; client.print ("
    • analog girişte ") ); client.print(analogKanal); client.print(": " ); client.print(sensörOkuma); client.print("
    • " ) ; ) client.println("
    "); client.print(DELIMITER) ; // Bağlantıyı kapatmayı unutmayın! }

    Yönetim Kurulu elemanları

    Mikrodenetleyici ATmega328P

    Arduino Uno WiFi platformunun kalbi 8 bitlik AVR mikrokontrolcüsü ATmega328P'dir.

    Mikrodenetleyici ATmega16U2

    ATmega16U2 mikro denetleyicisi, ATmega328P mikro denetleyicisini bilgisayarın USB bağlantı noktasına bağlar. Arduino Uno WiFi, bir bilgisayara bağlandığında sanal COM bağlantı noktası olarak tanımlanır. 16U2 çip ürün yazılımının kullanım alanları standart sürücüler USB-COM, dolayısıyla harici sürücülerin kurulumu gerekli değildir.

    Güç pimleri

      ŞASE: Harici bir güç kaynağından gelen voltaj (USB'den gelen 5V veya diğer stabilize voltajla ilişkili değildir). Bu çıkış sayesinde hem harici güç sağlayabilir hem de cihaza harici bir adaptör bağlanması durumunda akım tüketebilirsiniz.

      5V:Çıkış, kart dengeleyicisinden 5 V'luk bir voltaj alır. Bu dengeleyici ATmega328 mikro denetleyicisine güç sağlar. Cihaza 5V çıkış üzerinden güç verilmesi önerilmez - bu durumda voltaj dengeleyici kullanılmaz, bu da kartın arızalanmasına neden olabilir.

      3.3V: Kart regülatöründen 3,3V. Maksimum çıkış akımı 1 A'dır.

      TOPRAK: Temel sonuçlar.

      - IOREF: Pin, genişletme kartlarına mikro denetleyicinin çalışma voltajı hakkında bilgi sağlar. Gerilime bağlı olarak genişletme kartı uygun güç kaynağına geçebilir veya seviye dönüştürücüleri kullanabilir, bu da hem 5V hem de 3,3V cihazlarla çalışmasına olanak tanır.

    G/Ç bağlantı noktaları

      Dijital girişler/çıkışlar: 0 - 13 arası pinler
      Birinin lojik seviyesi 5 V, sıfır ise 0 V'dir. Maksimum çıkış akımı 40 mA'dir. Çekme dirençleri, varsayılan olarak devre dışı olan ancak yazılım tarafından etkinleştirilebilen pinlere bağlanır.

      PWM: 3, 5, 6, 9, 10 ve 11 numaralı pinler
      8 bitlik analog değerlerin PWM sinyali olarak çıkışını yapmanızı sağlar.

      ADC: A0 - A5 pinleri
      Her biri analog voltajı 10 bitlik bir sayı (1024 değer) olarak temsil edebilen 6 analog giriş. ADC'nin bit derinliği 10 bittir.

      TWI/I²C: SDA ve SCL pinleri
      2 kablo aracılığıyla senkronize bir protokol kullanarak çevre birimleriyle iletişim kurmak için. Çalışmak için Wire kütüphanesini kullanın.

      SPI: pinler 10(SS), 11(MOSI), 12(MISO), 13(SCK).
      Bu pinler aracılığıyla SPI arayüzü üzerinden iletişim gerçekleştirilir. Çalışmak için SPI kütüphanesini kullanın.

      - UART: pinler 0(RX) ve 1(TX)
      Bu pinler, USB-UART dönüştürücü görevi gören ATmega16U2 mikro denetleyicisinin ilgili pinlerine bağlanır. Arduino kartını Serial sınıfı aracılığıyla bir bilgisayar veya diğer cihazlarla iletişim kurmak için kullanılır.

    LED göstergesi

    USB Tip-B konektörü

    bağlayıcı USB Tip-B Arduino Uno WiFi platformunu bir bilgisayar kullanarak flaşlamak için tasarlanmıştır.

    Harici güç kaynağı için konnektör

    7 V ila 12 V arası harici güç kaynağı için konnektör.

    5V voltaj regülatörü

    Kart harici bir güç kaynağına bağlandığında voltaj MPM3610 regülatöründen geçer. Stabilizatör çıkışı 5V pinine bağlanır. Maksimum çıkış akımı 1A'dır.

    3.3V voltaj regülatörü

    3,3 volt çıkışlı MPM3810GQB-33 dengeleyici. ESP8266 WiFi modülüne güç sağlar ve 3,3V pinine çıkış yapar. Maksimum çıkış akımı 1A'dır.

    ATmega328P için ICSP konektörü

    ICSP konektörü, ATmega328P mikro denetleyicisinin devre içi programlanması için tasarlanmıştır. SPI kütüphanesini kullanan bu pinler, SPI arayüzü üzerinden genişletme kartlarıyla iletişim kurabilir. SPI hatları 6 pinli bir konnektöre yönlendirilir ve ayrıca 10(SS), 11(MOSI), 12(MISO) ve 13(SCK) dijital pinlerinde kopyalanır.

    ATmega16U2 için ICSP konektörü

    ICSP konektörü, ATmega16U2 mikro denetleyicisinin devre içi programlanması için tasarlanmıştır.

    ESP8266 yongası, projelerde kablosuz iletişimi organize etmek için en popüler araçlardan biridir. akıllı ev. Kablosuz denetleyicinin yardımıyla WiFi arayüzü üzerinden iletişimi düzenleyebilir, Arduino projeleriİnternet erişimi ve uzaktan kontrol ve veri toplama imkanı. ESP8266'ya dayanarak WeMos ve NodeMcu gibi popüler panoların yanı sıra çok sayıda ev yapımı proje oluşturuldu. Bu yazımızda ESP82266'nın ne olduğunu, çeşitlerinin neler olduğunu, Arduino IDE'de ESP8266 ile nasıl çalışılacağını öğreneceğiz.

    ESP8266, programları flash bellekten çalıştırabilen bir WiFi mikro denetleyicisidir. Cihaz 2014 yılında piyasaya sürüldü Çinli bir firma tarafından Espressif ve neredeyse anında popüler oldu.

    Kontrolör ucuzdur, az sayıda harici elemana sahiptir ve aşağıdaki teknik parametrelere sahiptir:

    • WEP, WPA, WPA2 ile 802.11 b/g/n Wi-Fi protokollerini destekler;
    • 14 giriş ve çıkış bağlantı noktasına, SPI, I2C, UART, 10 bit ADC'ye sahiptir;
    • Destekler harici bellek 16 MB'a kadar;
    • Gerekli güç kaynağı 2,2 ila 3,6 V arasındadır, seçilen moda bağlı olarak akım tüketimi 300 mA'ya kadardır.

    Önemli bir özellik, çip üzerinde kullanıcının kalıcı belleğinin bulunmamasıdır. Program, gerekli program öğelerinin dinamik yüklenmesi kullanılarak harici bir SPI ROM'dan yürütülür. Dahili çevre birimlerine erişim, belgelerden değil, bir dizi kitaplığın API'sinden elde edilebilir. Üretici yaklaşık RAM miktarını belirtir - 50 kB.

    ESP8266 Anakart Özellikleri:

    • Bilgisayara rahat bağlantı USB kablosu, onun tarafından desteklenmektedir;
    • Dahili bir voltaj dönüştürücünün varlığı 3.3V;
    • 4 MB flash belleğin kullanılabilirliği;
    • Yeniden başlatma ve yanıp sönme için yerleşik düğmeler;
    • Tüm portlar 2,5 mm aralıklı iki tarak üzerinde karta getirilir.

    ESP8266 modülünün uygulama alanları

    • Otomasyon;
    • Çeşitli akıllı ev sistemleri: Kablosuz kontrol, kablosuz prizler, sıcaklık kontrolü, alarm sistemlerine ek olarak;
    • Mobil elektronik;
    • etiket kimliği;
    • Çocuk oyuncakları;
    • Örgü ağları.

    esp8266 pin çıkışı

    ESP8266 modülünün çok sayıda çeşidi vardır. Şekil bunlardan bazılarını göstermektedir. En popüler seçenek ESP 01'dir.

    Programın yürütülmesi, güç kaynağı sona erdiğinde GPIO0, GPIO2 ve GPIO15 bağlantı noktalarının durumuna göre belirtilmelidir. 2 önemli mod vardır - flash kartı flaşlamak için kod UART'tan çalıştırıldığında (GPIO0 = 0, GPIO2 = 1 ve GPIO15 = 0) ve harici ROM'dan çalıştırıldığında (GPIO0 = 1, GPIO2 = 1 ve GPIO15 = 0) standart modda.

    ESP01'in pin çıkışı resimde gösterilmektedir.

    İletişim Açıklaması:

    • 1 - toprak, 8 - güç. Belgelere göre voltaj 3,6 V'a kadar sağlanıyor - genellikle 5 V ile beslenen Arduino ile çalışırken bunun dikkate alınması önemlidir.
    • 6 - RST, mikrodenetleyiciye düşük mantık seviyesi uygulandığında yeniden başlatılması gerekiyor.
    • 4 - CP_PD, cihazı güç tasarrufu moduna geçirmek için de kullanılır.
    • 7 ve 0 - RXD0 ve TXD0, bu, modülü flaşlamak için gereken bir donanım UART'ıdır.
    • 2 - TXD0, bu pin'e GPIO1'de lojik seviye düşük olduğunda ve UART üzerinden veri iletildiğinde yanan bir LED bağlanır.
    • 5 - GPIO0, giriş ve çıkış portu, aynı zamanda cihazı programlama moduna almanızı sağlar (port düşük mantık seviyesine bağlandığında ve voltaj uygulandığında).
    • 3 - GPIO2, giriş ve çıkış bağlantı noktası.

    ESP-12 Pin Çıkışı

    Arduino ve ESP8266 arasındaki temel farklar

    • ESP8266'nın flash belleği daha fazlayken, ESP8266'nın kalıcı belleği yoktur;
    • ESP8266 işlemci Arduino'dan daha hızlıdır;
    • ESP8266'da Wi-Fi vardır;
    • ESP8266, Arduino'dan daha fazla akım tüketir;

    Arduino IDE'de ESP8266'nın Programlanması

    esp8266 geliştirme kiti şunları içerir:

    • GNU Derleyici Koleksiyonundan derleyici.
    • Kütüphaneler, WiFi, TCP/IP protokol yığınları.
    • Denetleyici programına bilgi yüklemenin bir yolu.
    • IDE'yi çalıştırıyorum.

    Başlangıçta ESP8266 modülleri üreticinin ürün yazılımıyla birlikte gönderilir. Onun yardımıyla modülü harici bir mikrodenetleyiciden kontrol edebilir, modemde olduğu gibi Wi-Fi ile çalışmayı gerçekleştirebilirsiniz. Ayrıca başka birçok şey var hazır yazılım. Bazıları modülü WEB arayüzünü kullanarak yapılandırmanıza izin verir.

    den programlanabilir Arduino ortamları IDE. Onun yardımıyla kolayca eskizler yazıp bunları ESP8266'ya yükleyebilir, ESP8266'yı flaşlayabilirsiniz ve Arduino kartının kendisine gerek yoktur. Arduino IDE her türlü ESP8266 modülünü destekler.

    İÇİNDE şu anda ESP8266 için aşağıdaki işlevler uygulanabilir:

    • Kablolama dilinin temel işlevleri. GPIO bağlantı noktalarını Arduino kartındaki pinlerle aynı şekilde kontrol edebilirsiniz: pinMode, digitalRead, digitalWrite, analogWrite. AnalogRead(A0) komutu ADC değerlerini okumanızı sağlar. AnalogWrite (pin, değer) komutunu kullanarak PWM'yi istediğiniz GPIO çıkışına bağlayabilirsiniz. Değer=0 ile PWM devre dışı bırakılır, maksimum değer 1023 sabit değerine ulaşır.attachInterrupt, detachInterrupt işlevlerini kullanarak 16 hariç herhangi bir GPIO bağlantı noktasını kesebilirsiniz.
    • Zamanlama ve gecikme. Millis ve micros komutlarını kullanarak başlangıçtan bu yana geçen ms ve ms'leri geri döndürebilirsiniz. Gecikme, programın yürütülmesini istediğiniz süre boyunca duraklatmanıza olanak tanır. Ayrıca, gecikme(...) işlevi normal bir süreyi korumanıza olanak tanır. Wi-Fi işlemiÇizimin tamamlanması 50 ms'den uzun süren büyük öğeler içeriyorsa. Yield(), gecikme(0) işlevine benzer.
    • Seri ve Seri1 (UART0 ve UART1). ESP8266 üzerindeki seri çalışma arduinodaki çalışmaya benzer. Veri yazma ve okuma, 128 baytlık FIFO ve 256 baytlık program arabelleği doluysa kod yürütülmesini engeller. Seri nesnesi UART0 donanımını kullanır ve GPIO1(TX) ve GPIO3(RX) yerine GPIO15 (TX) ve GPIO13 (RX) olarak ayarlanabilir. Bunu yapmak için Serial.begin() fonksiyonundan sonra; Serial.swap();'ı aramanız gerekir. Benzer şekilde Seri1, iletim olarak çalışan UART1'i kullanır. Bu GPIO2 için gerekli pin.
    • PROGMEM makrosu. Çalışması Arduino'daki çalışmaya benzer. Salt okunur verilerin ve dize sabitlerinin flash belleğe taşınmasına izin verir. Aynı zamanda, aynı sabitler ESP8266'da saklanmaz, bu da ek flash bellek israfına yol açar.
    • I2C. I2C veri yolu ile çalışmaya başlamadan önce, Wire.pins(int sda, int scl) işlevi kullanılarak veri yolları seçilir.
    • SPI, OneWire tamamen desteklenmektedir.

    Arduino'yu WiFi üzerinden iletişim kurmak için esp8266 kullanma

    Arduino'ya bağlamadan önce, Arduino kartındaki voltaj 5 V iken ESP8266 besleme voltajının 3,6'dan yüksek olamayacağını unutmamak gerekir. 2 mikrodenetleyiciyi rezistif bölücüler kullanarak bağlamanız gerekir. Modülü bağlamadan önce seçilen ESP8266'nın pin şemasını öğrenmeniz gerekir. ESP8266-01'in bağlantı şeması şekilde gösterilmiştir.

    Arduino'dan ESP8266 modülünde Vcc&CH_PD'ye 3,3V, Arduino'dan ESP8266'ya, 0 - TX, 1 - RX'ten toprağa.

    Destek için kararlı çalışma ESP8266'nın kaynağa ihtiyacı var sabit voltaj 3,3 V'ta ve maksimum 250 mA akımda. Güç USB-TTL dönüştürücüden geliyorsa arızalar ve arızalar meydana gelebilir.

    ESP8266 için Wi-Fi kitaplığıyla çalışmak, sıradan bir kalkanın kitaplığına benzer. Birkaç özellik var:

    • mod(m) - üç moddan birini seçmek için: istemci, erişim noktası veya her iki mod aynı anda.
    • softAP(ssid) - açık erişim noktası oluşturmak için gereklidir.
    • softAP(ssid, şifre) - en az 8 karakter uzunluğunda olması gereken bir şifreye sahip bir erişim noktası oluşturur.
    • WiFi.macAddress(mac) ve WiFi.softAPmacAddress(mac) - MAC adresini belirtir.
    • WiFi.localIP() ve WiFi.softAPIP() - IP adresini belirleme.
    • printDiag(Seri); - Teşhis bilgileri sağlar.
    • WiFiUDP - istemci modunda çok noktaya yayın paketinin iletilmesi ve alınması desteği.

    Çalışma aşağıdaki algoritmaya göre gerçekleştirilir:

    • USB-TTL'yi USB'ye ve ESP'ye bağlama.
    • Arduino IDE'yi başlatın.
    • Araçlar menüsünden istediğiniz bağlantı noktasını, kartı, frekansı ve flash belleğin boyutunu seçin.
    • Dosya - Örnekler - ESP8266WiFi - WiFiWebServer.dll
    • Taslağa Wi-Fi ağının SSID'sini ve şifresini yazın.
    • Kodu derlemeye ve indirmeye başlayın.
    • Firmware işleminin sonuna kadar bekleyin, GPIO0'un toprakla olan bağlantısını kesin.
    • Hızı 115200 olarak ayarlayın.
    • Bağlantı kurulacak ve IP adresi kaydedilecektir.
    • Tarayıcıyı açın, yazın adres çubuğu IP numarası/gpio/1
    • Bağlantı noktası monitörünü görüntüleyin; GPIO2 çıkışına bir LED bağlıysa yanması gerekir.

    Esp8266 tabanlı NodeMCU

    NodeMCU, esp8266 modülünü temel alan bir platformdur. Wi-Fi üzerinden interneti kullanarak devreyi uzaktan kontrol etmek için kullanılır. Kart küçük, kompakt, ucuzdur ve ön tarafında bir USB konektörü vardır. Yakınlarda mikro denetleyicide hata ayıklama ve yeniden başlatma düğmeleri bulunur. ESP8266 yongası da kuruludur. Besleme voltajı 5 ila 12 V arasındadır, 10 V'tan fazlasının sağlanması arzu edilir.

    Kartın en büyük avantajı düşük güç tüketimidir. Genellikle kendi kendine çalışan devrelerde kullanılırlar. Kartta yalnızca 11 bağlantı noktası var genel amaçlı, bazılarının özel işlevleri vardır:

    • D1 ve D2 - I2C / TWI arayüzü için;
    • D5-D8- SPI arayüzü için;
    • D9, D10 - UART için;
    • D1-D10 - PWM olarak çalışabilir.

    Platform, donanım girişi ve çıkışı için modern bir API'ye sahiptir. Bu, ekipmanla çalışırken ve kurulumu sırasında eylem sayısını azaltmanıza olanak tanır. NodeMCU ürün yazılımı ile hızlı cihaz geliştirme için tüm çalışma potansiyelini kullanabilirsiniz.

    Esp8266 tabanlı WeMos

    WeMos, esp8266 mikro denetleyicisini temel alan başka bir platform türüdür. Buna göre bir Wi-Fi modülü var, Arduino IDE destekleniyor, harici anten için bir konektör var. Kartta, kesme/pwm/I2C/tek kabloyu destekleyen (D0 hariç) 11 dijital giriş/çıkış bulunur. Maksimum besleme voltajı 3,3 V'a ulaşır. Platformda ayrıca bir USB konektörü de bulunmaktadır. Maksimum 3,2V voltajlı analog giriş 1.

    Modülle çalışmak için CH340 sürücüsünü kurmanız ve Arduino IDE'yi ESP8266 için yapılandırmanız gerekir. Bunu yapmak için ayarlar menüsünde "pano yöneticisi için ek bağlantı" satırına http://arduino.esp8266.com/stable/package_esp8266com_index.json adresini ekleyin.

    Bundan sonra esp8266 by ESP8266 paketini bulup yüklemeniz gerekiyor. Daha sonra araçlar menüsünden Wemos D1 R2 mikro denetleyicisini seçip istediğiniz taslağı yazmanız gerekiyor.

    ESP8266 Sonuçları

    ESP8266 yongasını temel alan kartlarla şunları ekleyebilirsiniz: büyük internet”, onları çok daha akıllı hale getiriyor. Uzaktan kumanda, sunucuda veri toplama ve analiz, ses işleme ve görüntü işleme - tüm bunlar, projemizi WiFi aracılığıyla internete bağladığımızda kullanılabilir hale gelir. Sonraki yazılarda esp8266 tabanlı cihazları nasıl programlayabileceğinize daha yakından bakacağız ve ayrıca WeMos ve NodeMcu gibi popüler anakartlara da dikkat edeceğiz.

    Arduino kartları ve benzeri mikrodenetleyicilerin yaratıcılığı her zamankinden daha erişilebilir hale getirdiğini yazıyorlar. Kullanım amacı ne olursa olsun - evinizi otomatikleştirmek veya kontrol etmek LED şeritler ve hatta mülkünüzü korumak için bu muhteşem küçük teknik cihazlarçoğu DIY elektronik cihazın temelidir.

    Arduino'nuza pin atlama tellerinin konumunu değiştirmesi talimatını vermeniz gerekiyorsa (örneğin, ışığı açın), o zaman Arduino kullanıcının tuşuna basmasını isteyecektir. fiziksel düğme veya bir sensör kullanın. Birçok proje için, insan parmağının baskısını kullanmak veya cihazları kontrol etmek için benzer yöntemleri kullanmak tamamen kabul edilebilir, ancak yalnızca uzaktan erişime sahip bir devre oluşturmak istiyorsanız ne uygulanmalıdır?

    Bu makale şunları sağlar: Kısa Açıklama Android cihazınızı herhangi bir uyumlu Arduino kartına bağlamanın altı yolu.

    1. ArduinoDroid eskizler oluşturmanıza olanak sağlar

    Listemizdeki ilk cihaz ArduinoDroid'dir. Bu uygulama, mobil cihazınızı bir USB kablosuyla Arduino'ya bağlayan USB On The Go (OTG) aracılığıyla çalışır. Biri USB'nin avantajları kablo, cihazın çalışması için internete veya Bluetooth'a bağlanma ihtiyacının olmamasıdır.

    Uygulama, kullanıcının akıllı telefona kod yazmasına, Dropbox'ta saklanan önceden yazılmış eskizleri yüklemesine veya Google sürücü ve ardından derleme işlemini başlatın.

    ArduinoDroid uygulamasını kullanmanın faydaları açıktır. Elinizde bir IDE'nin olması, alanlarda hızlı bir şekilde değişiklik yapmanıza olanak tanır ve bir Android cihazını takma işlemi, büyük bir dizüstü bilgisayarı ellerinizde dengelemeye çalışmaktan daha az karmaşık ve zaman alıcıdır!

    ArduinoDroid uygulamasının bariz dezavantajı, cihazınızda kod yazmanın, özellikle de bu amaçla bir akıllı telefon kullanıyorsanız, biraz acı verici olabilmesidir. Ancak uygulamanın bu zayıf noktası, terazinin bir tarafında internet bağlantısına ihtiyaç duymadan anakartınızda ultra taşınabilir bir programlama yöntemine sahip olmanın rahatlığı, diğer tarafında ise terazinin diğer tarafında çok belirgin değil. pek rahat bir kod yazma yöntemi değildir.

    Öte yandan ArduinoDroid'e sahip olmak öğrenmenin ucuz bir yoludur Arduino'nun temelleriçünkü bir Arduino kartı klonu ve USB On The Go'nun maliyeti birkaç dolar. Bilgisayara nadiren erişimi olanlar için ArduinoDroid uygulaması harika bir alternatif!

    2.Arduino Bluetooth Denetleyici

    Listemizdeki bir sonraki program, uygun bir şekilde adlandırılan Arduino Bluetooth Denetleyicisidir. Bu uygulama, yüklenen çizimlerde değişiklik tetiklemesi açısından büyük öneme sahiptir ve Arduino programlaması için daha az öneme sahiptir. Arduino denetleyicisi Bluetooth aracılığıyla, Bluetooth aracılığıyla panonuza veri göndererek tek tuşla seri veri göndermenize olanak tanır. İhtiyacın olacak bluetooth modülü anakartınız için, modül olmasına rağmen HC-06 yaygın olarak kullanılır ve 3 $ gibi düşük bir fiyata satın alınabilir.

    Bahsetmeye değer, programın yüklü olduğu gerçeğidir. ingilizce dili, Play Store resimleri İtalyanca gösterse bile!

    3. Proje geliştirme için Blynk uygulaması

    Blynk uygulaması proje oluşturmak için harika bir gelişmedir. Uygulamanın esnekliği ve basitliği, panonuzdaki olayları tetiklemek için sezgisel bir yaklaşım sağlar. Uygulama kendi internet bağlantısını kullandığından Blynk ile çalışmak internet bağlantısı gerektirir kendi sunucusu. Akıllı telefonlar için harika bir özellik olan Blynk uygulamasına erişmek için Wi-Fi veya mobil veriyi kullanabilirsiniz.

    Uygulamanın en güçlü noktalarından biri cihaza olan bağlantıların değişkenliğidir. Hemen hemen tüm geliştirme kartlarının desteğiyle, sunucuya kablosuz olarak veya ethernet ve hatta USB aracılığıyla bir bilgisayar kullanarak bağlanabilirsiniz. Hizmet iyi bir şekilde belgelenmiştir ve sezgisel uygulaması, projenize özel kontrolü entegre etmeyi kolaylaştırır. Arduino IDE'nin Blynk kütüphanesi tüm iletişimi yönetir.

    Sabah erkenden yataktan çıkmadan önce akıllı telefonunuzu kullanarak kahve makinenizi açmayı tercih ediyorsanız bu uygulama tam size göre!

    Blynk bu kategorideki tek hizmet değil. Thinger.io gibi son derece özelleştirilmiş bir hizmete ve son derece zor olsa da neredeyse sınırsız olan OpenHAB'a dikkat etmeye değer. Bu üç hizmet arasında Blynk, en hızlı şekilde ayağa kalkıp çalışmaya başlayanıdır, ancak OpenHAB'ı öğrenmek uzun vadede harika bir fikirdir.

    4. Sıfırdan iletişim

    Yukarıda açıklanan uygulamalar halihazırda kullanıldığını varsaymaktadır. mevcut hizmetlerçeşitli bağlantı seçenekleri sunmanıza yardımcı olur. Uygulamalarınızın her yönü üzerinde tam ve tam kontrol sahibi olmak için ne yapmanız gerekir? Android cihazlar? Neden bu sorunu kendiniz ve sıfırdan çözmüyorsunuz?

    Bir uygulama paketi üzerinde kontrol sağlama sorunu basitçe açılarak çözülür USB iletişimi ve uygulamalar ile Arduino kartı arasında seri verilerin karşılıklı iletimi. Bu kontrol seçeneği, alışmanın en iyi yollarından biridir. android stüdyosu ve genel olarak uygulama geliştirme.

    Android platformundaki cihazlar için kodsuz uygulama oluşturmanın yöntemleri ve yolları varsa, kodlamanın temellerinin incelenmesinin dikkati hak ettiği unutulmamalıdır. yazılım Java'da.

    5. Arduino'nuzu bir sunucuya dönüştürün

    Panonuzla iletişim kurmanın alternatif bir yolu da onu küçük bir sunucuya dönüştürmektir. Anahtar avantaj Kartın bir sunucuya bu şekilde dönüştürülmesi, bir IP adresine gidebilen veya bir web isteği gönderebilen herhangi bir cihazdan kartlarla iletişim kurma yeteneğinin ortaya çıkmasıdır. Bu ek gerektirecektir ethernet kalkan ev ağı kartınıza.

    Ethernet kalkanınız yoksa , daha sonra benzer bir etki, bir Wi-Fi kalkanı aracılığıyla veya NodeMCU gibi Wi-Fi bağlantılı bir kart aracılığıyla elde edilebilir.

    Node.js kodu sizin favorinizse arduino-android github projesine bir göz atmak mantıklı olacaktır. Bir kez daha Android uygulamaları temel alınarak tasarlandı açık kaynak Tek yapmanız gereken node.js sunucusunu seçtiğiniz Arduino kartına kurmak.

    6. Kızılötesi kontrol

    Arduino'nuzla evrensel bir iletişim aracı arıyorsanız veya efsanevi gizli ajan MacGyver'ın rolünü oynamak istiyorsanız, o zaman göz atın kızılötesi alıcı(IT) eski stereo veya VHS oynatıcınızdan alın ve bunu cihazınızla iletişim kurmak için kullanın. Arduino kurulu!

    Göndermek ister misin? SMS Android akıllı telefonunuzdan Arduino kartınıza mı? Bu makale size bunu nasıl yapacağınızı anlatıyor!

    Ne gerekli olacak

    • USB ana bilgisayar modunu destekleyen Android akıllı telefon (ör. OTG desteği) - Android 3.1 ve üstünü çalıştıran çoğu cihaz bu modu destekler. Telefonunuzu Play Store'daki USB Host Diagnostics Uygulaması ile kontrol edin;
    • Arduino - herhangi bir sürüm. Uno R3 kullanacağım;
    • Arduino için USB kablosu;
    • USB OTG kablosu- Arduino USB kablosunu bağlamak için buna ihtiyacınız var mikro USB bağlantı noktası telefon;
    • Android Studio - Yüklemeniz gerekiyor. Bunu yapmak oldukça kolaydır. Android Studio, varsayımları ve kod oluşturmasıyla uygulama geliştirmeyi kolaylaştırır. Bu bir tanesi en iyi IDE'ler. Bu makaleyi aynı zamanda bir rehber olarak da kullanabilirsiniz. Android kurulumu IDE.

    Bir Android Uygulamasının Ana Bileşenleri

    Bir Android uygulamasında üç ana dosya vardır:

    MainActivity.java Bu, uygulamanın nasıl çalışacağını kontrol eden yürütülebilir Java kodudur. Activity_main.xml Uygulamanın düzenini, yani bileşenleri içerir: düğmeler, metin görüntüleme bileşenleri vb. AndroidManifest.xml Burası, uygulamanın ne zaman çalışması gerektiğini, hangi izinlere ihtiyaç duyduğunu ve hangi donanıma erişmesi gerektiğini tanımladığınız yerdir.

    Daha birçok dosya var ama hepsi bu üçünü kullanarak birbirine bağlı.

    Etkinlik, kullanıcının telefonla etkileşimde bulunduğu ekran olarak tanımlanabilir. Etkinlikler, bilgilerin aktarılmasına yardımcı olan düğmeler, metin alanları, resimler vb. gibi widget'lar içerir. Bu eğitimde, Arduino'ya göndermek için kullanıcı girişini kabul edecek ve alınan metni görüntüleyecek yalnızca bir etkinlik olan MainActivity kullanılacaktır.

    Düzen

    USB Uygulaması ve Bluetooth Uygulaması ile aynı düzeni kullanacağız. Basittir ve cihazlar arasındaki bağlantıyı kontrol etmek için gereken minimum sayıda widget içerir.

    Gördüğünüz gibi, kullanıcıdan girdi almak için bir EditText widget'ı, bağlantıyı başlatmak, veri göndermek, bağlantıyı sonlandırmak ve TextView'ı temizlemek için düğmeler içerir. Alınan veriler TextView'da görüntülenir (düğmelerin altındaki boş alan).

    İşte XML kodunun bir parçası. Butonların kodları benzer olduğundan burada gösterilmemiştir. Kodun tamamını makalenin sonundaki bağlantıdan indirebilirsiniz.