Bu makale dizisinde, "akıllı" inşa etme deneyimimden bahsedeceğim. otomatik sistem benim durumumda bir evcil hayvanı beslemek için - bir kedi.
Hemen belirtmek isterim ki, ilk adımda sadece "otomatik" besleyiciden bahsedeceğiz ve sonraki aşamalarda "akıllı" hale gelecek (eğer şanslıysanız ve her şey plana göre gidecek).
O halde konsept ve hedeflerle başlayalım:
- Beni kediye kuru mama verme zorunluluğundan kurtaran bir sistem oluşturun (1. adım)
- Sistemi kasenin altına bir ağırlık sensörü ile donatın ve kantarın göstergelerine göre besleyin: kase boşsa ekleyin, aksi takdirde kase boşalana kadar bekleyin (2. adım)
- Sevgili kedinizle fotoğraf aktarımı için sisteme bir Wi-Fi modülü ve bir video kamera ekleyin, ayrıca beslemenin uzaktan kontrolünü sağlayın. Ek olarak, kedinin ne kadar yediğine dair veri toplayın ve analiz yapın (3. adım)
İlk adımda çok sayıda sensör ve manipülatör gerekli değildir, bir servo motor yeterlidir (örneğin, Micro Servo Towerpro SG90 9 g), bu nedenle tüm kontrol bu tür görevler için ideal olan ArdruinoUno kartından gerçekleşir.
Besleme sistemleri bir şekilde kuru gıda içeren bir tür kap ve miktarını dağıtan döner bir mekanizma içerir. Diğer "mucitlerin" deneyimlerini inceledikten sonra, üç ana mekanizmayı seçerdim:
![](https://i0.wp.com/habrastorage.org/web/fe5/45a/250/fe545a2503f749a4987d71923949c89b.png)
Besleyiciyi ilk aşamada monte etmek için ihtiyaç duyduğum tüm malzemeler:
- Cam kavanoz
- ArduinoUno
- MicroServo (İzin verilen dönüş açısı 180'dir, ancak bu önemli değil)
- bir parça plastik
- mıknatıslar
- kartı servo motora bağlamak için pimler
- 5V'da USB şarjı
Mekanizmanın mantığı basittir: Kutunun kapağında sektör tipi bir delik açılır (kapağın ortası kesilmez), aynı sektör plastikten kesilir. Kapağın iç kısmına örneğin bantla bir servo motor takılmıştır. İlk olarak kapak motor eksenine monte edilir ve dıştan sektörü kesin. Böylece servo motorun eksenini çevirdiğinizde, kesilen sektör kutunun kapağındaki deliğe göre yer değiştirir.
Ayrıca servo motor kablosunun dışarıya çıkışını karta bağlamak için bir delik açmayı unutmayınız. 1. adımda, besleme bir zamanlayıcıda gerçekleşir, kedim bir obur değildir, bu nedenle sektörün açılması günde bir kez gerçekleşir. Kısa bir zaman, Arduino için kod aşağıdadır:
#Dahil etmek
Kutuyu duvara tutturmak için her biri 4 kg olan bu mıknatısları kullandım (daha güçlü olanları kullanmak bana daha iyi geliyor). Mıknatıslar basitçe bankaya tutkalla, duvara vidalarla tutturulur.
Tahta, kavanoza böyle bir Velcro ile tutturulmuştur, çıkarılması ve geri takılması uygundur. Bu cırt cırt herhangi bir evde satılır, resimleri sabitlemek için kullanılır.
Tek harici modülüm servo motor olduğu için ek bir güç kaynağına gerek yok, karta güç vermek yeterli, 5V'da usb şarj ile direkt ağa bağlanabilir.
Monte edildiğinde böyle görünüyor:
Aşağıda, besleyicinin daha da geliştirilmesi için birkaç fikir belirledim, birçoğu var ve daha sonra tam olarak ne yapılacağı henüz belli değil, bu bölüm tartışma için.
- hareket sensörlerinin kurulumu, kedinin görüş hattında göründüğü anda fotoğraflanması. Ağırlık sensörü ve hareket sensörünün entegrasyonu, kedinin ne zaman yemliğin yanından geçtiğini ve ne zaman yemek yemeye geldiğini belirlemenizi sağlar. Buna göre, kote ne zaman yemeyi ve ne kadar yemeyi tercih ettiği konusunda analitiği bozabilirsiniz.
- Yem kabının kendisine bir ağırlık sensörü ekleyebilirsiniz, böylece besleyici boşaldığı anı algılar ve sahibine boş olduğunu, doldurmanız gerektiğini söyleyen bir uyarı gönderir. Ardından, bir seçenek olarak, teslimatla birlikte favori web sitenizden otomatik sipariş beslemesi olasılığını ekleyin.
- Besleyicinin iki kedi üzerinde çalışma özelliğini ekleyebilirsiniz:
- Veya her biri "yabancı" bir kediyi korkutup kaçırabilen iki farklı besleyici olacak.
- Ya bir, ama bir şekilde değiştirilmiş
- Bir suluk nasıl uygulanacağını düşünmemiz ve onu bir besleme teknesi ile bütünleştirmemiz, bir filtreleme sistemi eklememiz gerekiyor.
Umarım birilerine faydalı olur.
Bu proje WIFI ESP8266 kartında yapılmıştır ve akıllı telefonunuzdaki BLYNK uygulaması aracılığıyla kontrol ve izleme için keskinleştirilmiştir.
Ayrıca gerçek zamanlı izleme için projeye bir IP kamera ekleyebilir (veya sunucu olarak kameralı eski bir akıllı telefon kullanabilirsiniz). BLYNK uygulamasındaki bir widget aracılığıyla IP Webcam Pro aracılığıyla zaman.
1.8 derecelik adımlarla besleme için bir NEMA17 step motor kullanılır - tam devir başına 200 adım. Motor, burguyu sıhhi tesisatta döndürür beslemenin hazneden düştüğü adaptör.
Dozaj kısmı ayarlanabilir ve BLYNK uygulamasında dolguyu görsel olarak görüntüleyebilir. Ayrıca uygulamanın kendisinde, yazının sonuna doğru konuşacağım ve YouTube kanalımda bir videoda göstereceğim bir sürü ayar var.Youtube - DenisGeek
Akıllı telefonlar için oyun pazarındaki uygulamalar:
Elektronik parça ve bileşenler:
Bu cihazın şeması çok basittir. Beyin görevi gören ESP8266 kartından ve Wi-Fi yönlendiricinizle özel bir aracılığıyla veri ileten bir iletişim aracından oluşur. BLYNK uygulama sunucusundaki API anahtarı. Beynimiz sürücüyü yönetiyor step motor ve bir kerede NEMA17 shagiku için hareketi ayarlar. LM2596 düşürme kartı, ESP8266 kartına güç sağlamak için bir düşürme modülü görevi görür.
Gövde üzerinde ayrıca 10KΩ'luk bir çekme direnci ile toprağa eklenen bir uzaktan kumanda düğmesi vardır - manuel modda "beslemeyi" başlatma işlevini uygular.
Aliexpress'deki proje için aksesuarlar sipariş ettim:
ESP kartı 8266 NODEmcu LUA http://ali.pub/2k460i \ http://ali.pub/2k4622
Güç kaynağı 12 V 2 A http://ali.pub/2k464e
Step motor sürücüsü L289N http://ali.pub/2k4674
Step motor Nema17 http://ali.pub/2k46a8
Buck dönüştürücü LM2596 http://ali.pub/2k46jk
ESP kartının lehimini çözmek istemiyorsanız, tüm breadboard kablolarını bağlayabilirsiniz. http://ali.pub/2k46un
Yardımcı araç:
Havya http://ali.pub/2k2wz8
Lehim http://ali.pub/2k471g
Pense http://ali.pub/2k4730
Diğer her şey yerel olarak bir radyodan veya bir hırdavatçıdan satın alınabilir (çerçeveyi, bağlantı kutusunu, kelepçeleri, vidaları vb. monte etmek için kereste)
Başlangıç olarak, her şeyi masanın üzerinde bir düzen şeklinde topladım ve performans açısından kontrol ettim, ayrıca ek ayarlar yaptım.
Sonra her şeyi bir hırdavatçıdan satın aldığı plastik bir kutuya attı.
Oluk için çerçevenin boyutları:
Çerçeve böyle görünüyor. Her şey çok basit ve çok yönlüdür, ahşap, kontrplak ve kendinden kılavuzlu vidalardan yapılmıştır.
Dosyaları yazdırmak için buradan indirebilirsiniz: https://goo.gl/EwqCC1
Besleme mekanizması, Dismokol yapıştırıcı ile 2 parçadan yapıştırılmış bir 3D yazıcı - burgu üzerine basıldı.
Baskı başarılı oldu.
Bir mühür sipariş edebilir veya burguyu kırık bir kıyma makinesinden uyarlamayı deneyebilirsiniz.
Tank için bir temel olarak bir şişe "taras" kvası ve ayrıca plastik borular için bir konektör kullanıldı.
Ayrıca, monte edilen cihazın genel bir görünümü:
Montajdan sonra, ünitemize güç sağlamak yeterlidir, ayrıca 20 saniye sonra, "beslemeyi" kontrol etmek ve başlatmak ve dozu kontrol etmek için düğmeye basın.
Ardından BLYNK uygulamasına geçelim. Playmarketten veya web sitesinden akıllı telefonunuza indirin https://www.blynk.cc/
Uygulamayı indirdikten sonra giriş yapıyoruz / kayıt oluyoruz ve uygulamamızı oluşturmak için 2000 enerji puanı alıyoruz.
Ardından, QR kodunu tararız ve önceden yapılandırılmış widget'ımın şablonunu otomatik olarak çekeriz:
Bundan sonra, uygulamada yetkilendirme jetonunuzu belirtmeniz gerekecek (yeni bir proje oluşturduktan sonra posta ile aldığınız - ayrıca program kodunda da belirtiyoruz)
Ayrıca, hesabınız uzun zaman önce kayıtlıysa, daha fazla enerjiniz olabilir veya uygulamada satın alabilirsiniz - 1000 $ için 1000.
Bu widget'ı aldım, ancak maliyeti 3200-3600 (görsel modüllere bağlı olarak)
Ve 6 zamanlayıcılı son seçenek çok uygundur.
Ayrıca BLYNK widget'larına bir sanal pin bağlama tablosu ekliyorum
Diyelim ki yanıp sönme uygulamasında başka bir zamanlayıcı eklemek için Zamanlayıcı öğesini eklemeniz ve ayarlarda SANAL ÇIKIŞ V6 veya V7 ayarlamanız gerekiyor.
Firmware'i yorumlarla birlikte buradan indirebilirsiniz: https://goo.gl/xuaZm9
ESP8266 nodemcu kartını ARDUINO IDE ortamına nasıl ekleyeceğinizi ve flash'lamayı nasıl yapacağınızın yanı sıra, ayrıntılara buradan bakın
Tüm işlemlerden sonra krokiyi yüklüyoruz öncelikle sistemimize gücü bağlayıp 20 saniye bekleyip test için butona basıp burguyu çeviriyoruz tepki varsa doğru şekilde takılıyor. Ardından, BLYNK uygulamasını başlatıyoruz.Her şeyden önce, projenin durumuna bakıyoruz - her şey doğruysa, besleyiciniz ağda görünmelidir. Bundan sonra, saat simgesine tıklayarak saat dilimini ayarlamanız gerekir ve ayrıca gerekli zamanlayıcıları hemen yapılandırabilirsiniz. Ayarları senkronize etmek için - açık modunda "Zamanlayıcı" düğmesine basın. Yeniden başlatmanın (elektrik kesintisi) ardından zamanlayıcılar çalışmıyorsa, uygulamaya gidip kapatmak ve açmak için "Zamanlayıcı" düğmesine basmanız gerekir.
- öğretici
Bu makale dizisinde, benim durumumda bir kedi olan bir evcil hayvanı beslemek için "akıllı" bir otomatik sistem kurma deneyimimden bahsedeceğim.
Hemen belirtmek isterim ki, ilk adımda sadece "otomatik" besleyiciden bahsedeceğiz ve sonraki aşamalarda "akıllı" hale gelecek (eğer şanslıysanız ve her şey plana göre gidecek).
O halde konsept ve hedeflerle başlayalım:
- Beni kediye kuru mama verme zorunluluğundan kurtaran bir sistem oluşturun (1. adım)
- Sistemi kasenin altına bir ağırlık sensörü ile donatın ve kantarın göstergelerine göre besleyin: kase boşsa ekleyin, aksi takdirde kase boşalana kadar bekleyin (2. adım)
- Sevgili kedinizle fotoğraf aktarımı için sisteme bir Wi-Fi modülü ve bir video kamera ekleyin, ayrıca beslemenin uzaktan kontrolünü sağlayın. Ek olarak, kedinin ne kadar yediğine dair veri toplayın ve analiz yapın (3. adım)
İlk adımda çok sayıda sensör ve manipülatör gerekli değildir, bir servo motor yeterlidir (örneğin, Micro Servo Towerpro SG90 9 g), bu nedenle tüm kontrol bu tür görevler için ideal olan ArdruinoUno kartından gerçekleşir.
Besleme sistemleri bir şekilde kuru gıda içeren bir tür kap ve miktarını dağıtan döner bir mekanizma içerir. Diğer "mucitlerin" deneyimlerini inceledikten sonra, üç ana mekanizmayı seçerdim:
Besleyiciyi ilk aşamada monte etmek için ihtiyaç duyduğum tüm malzemeler:
- Cam kavanoz
- ArduinoUno
- MicroServo (İzin verilen dönüş açısı 180'dir, ancak bu önemli değil)
- bir parça plastik
- mıknatıslar
- kartı servo motora bağlamak için pimler
- 5V'da USB şarjı
Mekanizmanın mantığı basittir: Kutunun kapağında sektör tipi bir delik açılır (kapağın ortası kesilmez), aynı sektör plastikten kesilir. Kapağın iç kısmına örneğin bantla bir servo motor takılmıştır. İlk olarak, kapak motor eksenine ve kesme sektörü dışarıya monte edilir. Böylece servo motorun eksenini çevirdiğinizde, kesilen sektör kutunun kapağındaki deliğe göre yer değiştirir.
Ayrıca servo motor kablosunun dışarıya çıkışını karta bağlamak için bir delik açmayı unutmayınız. 1. adımda, besleme bir zamanlayıcıda gerçekleşir, kedim bir obur değil, bu nedenle sektörün açılması kısa bir süre için günde bir kez gerçekleşir, Arduino için kod aşağıdadır:
#Dahil etmek
Kutuyu duvara tutturmak için her biri 4 kg olan bu mıknatısları kullandım (daha güçlü olanları kullanmak bana daha iyi geliyor). Mıknatıslar basitçe bankaya tutkalla, duvara vidalarla tutturulur.
Tahta, kavanoza böyle bir Velcro ile tutturulmuştur, çıkarılması ve geri takılması uygundur. Bu cırt cırt herhangi bir evde satılır, resimleri sabitlemek için kullanılır.
Tek harici modülüm servo motor olduğu için ek bir güç kaynağına gerek yok, karta güç vermek yeterli, 5V'da usb şarj ile direkt ağa bağlanabilir.
Monte edildiğinde böyle görünüyor:
Aşağıda, besleyicinin daha da geliştirilmesi için birkaç fikir belirledim, birçoğu var ve daha sonra tam olarak ne yapılacağı henüz belli değil, bu bölüm tartışma için.
- hareket sensörlerinin kurulumu, kedinin görüş hattında göründüğü anda fotoğraflanması. Ağırlık sensörü ve hareket sensörünün entegrasyonu, kedinin ne zaman yemliğin yanından geçtiğini ve ne zaman yemek yemeye geldiğini belirlemenizi sağlar. Buna göre, kote ne zaman yemeyi ve ne kadar yemeyi tercih ettiği konusunda analitiği bozabilirsiniz.
- Yem kabının kendisine bir ağırlık sensörü ekleyebilirsiniz, böylece besleyici boşaldığı anı algılar ve sahibine boş olduğunu, doldurmanız gerektiğini söyleyen bir uyarı gönderir. Ardından, bir seçenek olarak, teslimatla birlikte favori web sitenizden otomatik sipariş beslemesi olasılığını ekleyin.
- Besleyicinin iki kedi üzerinde çalışma özelliğini ekleyebilirsiniz:
- Veya her biri "yabancı" bir kediyi korkutup kaçırabilen iki farklı besleyici olacak.
- Ya bir, ama bir şekilde değiştirilmiş
- Bir suluk nasıl uygulanacağını düşünmemiz ve onu bir besleme teknesi ile bütünleştirmemiz, bir filtreleme sistemi eklememiz gerekiyor.
Umarım birilerine faydalı olur.
- öğretici
Bu makale dizisinde, benim durumumda bir kedi olan bir evcil hayvanı beslemek için "akıllı" bir otomatik sistem kurma deneyimimden bahsedeceğim.
Hemen belirtmek isterim ki, ilk adımda sadece "otomatik" besleyiciden bahsedeceğiz ve sonraki aşamalarda "akıllı" hale gelecek (eğer şanslıysanız ve her şey plana göre gidecek).
O halde konsept ve hedeflerle başlayalım:
- Beni kediye kuru mama verme zorunluluğundan kurtaran bir sistem oluşturun (1. adım)
- Sistemi kasenin altına bir ağırlık sensörü ile donatın ve kantarın göstergelerine göre besleyin: kase boşsa ekleyin, aksi takdirde kase boşalana kadar bekleyin (2. adım)
- Sevgili kedinizle fotoğraf aktarımı için sisteme bir Wi-Fi modülü ve bir video kamera ekleyin, ayrıca beslemenin uzaktan kontrolünü sağlayın. Ek olarak, kedinin ne kadar yediğine dair veri toplayın ve analiz yapın (3. adım)
İlk adımda çok sayıda sensör ve manipülatör gerekli değildir, bir servo motor yeterlidir (örneğin, Micro Servo Towerpro SG90 9 g), bu nedenle tüm kontrol bu tür görevler için ideal olan ArdruinoUno kartından gerçekleşir.
Besleme sistemleri bir şekilde kuru gıda içeren bir tür kap ve miktarını dağıtan döner bir mekanizma içerir. Diğer "mucitlerin" deneyimlerini inceledikten sonra, üç ana mekanizmayı seçerdim:
Besleyiciyi ilk aşamada monte etmek için ihtiyaç duyduğum tüm malzemeler:
- Cam kavanoz
- ArduinoUno
- MicroServo (İzin verilen dönüş açısı 180'dir, ancak bu önemli değil)
- bir parça plastik
- mıknatıslar
- kartı servo motora bağlamak için pimler
- 5V'da USB şarjı
Mekanizmanın mantığı basittir: Kutunun kapağında sektör tipi bir delik açılır (kapağın ortası kesilmez), aynı sektör plastikten kesilir. Kapağın iç kısmına örneğin bantla bir servo motor takılmıştır. İlk olarak, kapak motor eksenine ve kesme sektörü dışarıya monte edilir. Böylece servo motorun eksenini çevirdiğinizde, kesilen sektör kutunun kapağındaki deliğe göre yer değiştirir.
Ayrıca servo motor kablosunun dışarıya çıkışını karta bağlamak için bir delik açmayı unutmayınız. 1. adımda, besleme bir zamanlayıcıda gerçekleşir, kedim bir obur değil, bu nedenle sektörün açılması kısa bir süre için günde bir kez gerçekleşir, Arduino için kod aşağıdadır:
#Dahil etmek
Kutuyu duvara tutturmak için her biri 4 kg olan bu mıknatısları kullandım (daha güçlü olanları kullanmak bana daha iyi geliyor). Mıknatıslar basitçe bankaya tutkalla, duvara vidalarla tutturulur.
Tahta, kavanoza böyle bir Velcro ile tutturulmuştur, çıkarılması ve geri takılması uygundur. Bu cırt cırt herhangi bir evde satılır, resimleri sabitlemek için kullanılır.
Tek harici modülüm servo motor olduğu için ek bir güç kaynağına gerek yok, karta güç vermek yeterli, 5V'da usb şarj ile direkt ağa bağlanabilir.
Monte edildiğinde böyle görünüyor:
Aşağıda, besleyicinin daha da geliştirilmesi için birkaç fikir belirledim, birçoğu var ve daha sonra tam olarak ne yapılacağı henüz belli değil, bu bölüm tartışma için.
- hareket sensörlerinin kurulumu, kedinin görüş hattında göründüğü anda fotoğraflanması. Ağırlık sensörü ve hareket sensörünün entegrasyonu, kedinin ne zaman yemliğin yanından geçtiğini ve ne zaman yemek yemeye geldiğini belirlemenizi sağlar. Buna göre, kote ne zaman yemeyi ve ne kadar yemeyi tercih ettiği konusunda analitiği bozabilirsiniz.
- Yem kabının kendisine bir ağırlık sensörü ekleyebilirsiniz, böylece besleyici boşaldığı anı algılar ve sahibine boş olduğunu, doldurmanız gerektiğini söyleyen bir uyarı gönderir. Ardından, bir seçenek olarak, teslimatla birlikte favori web sitenizden otomatik sipariş beslemesi olasılığını ekleyin.
- Besleyicinin iki kedi üzerinde çalışma özelliğini ekleyebilirsiniz:
- Veya her biri "yabancı" bir kediyi korkutup kaçırabilen iki farklı besleyici olacak.
- Ya bir, ama bir şekilde değiştirilmiş
- Bir suluk nasıl uygulanacağını düşünmemiz ve onu bir besleme teknesi ile bütünleştirmemiz, bir filtreleme sistemi eklememiz gerekiyor.
Umarım birilerine faydalı olur.
28 Temmuz 2015, 02:28Akvaryum balıkları için besleyici Arduino tabanı
- kendin yap veya kendin yap
Yaz tatil mevsimidir. Denizde geçen üç haftanın akvaryum sakinlerinin aç kalmasına yol açacağından korktum ve kayınvalidem benimle gittiğinden, balıkları besleme işini emanet edecek kimse yoktu.
Problemi biraz düşündükten sonra elimdeki Arduino UNO yardımıyla otomatik besleyici yapmaya karar verdim. Neyse ki, otomasyon konusunda zaten biraz deneyimim vardı. Ve Ethernet Kalkanı gelecek için satın alındığından, korkunç bir sapkınlık düşüncesi ortaya çıktı: bir bilgisayar ağı aracılığıyla kontrolü beslemek. Gerçek şu ki, evde, ev sunucusu görevi gören sürekli açık bir bilgisayarım var. Kesintisiz bir güç kaynağına bağlı ve bu nedenle, şebekenin kısa süreli olarak değiştirilmesiyle bile, bilgisayarın bizi fanlarının uğultusu ile karşılaması ve bir durumda bu besleyiciyi kontrol etmeye tenezzül etmesi ihtimali yüksektir.
Gerçek şu ki, Ethernet Shield için Arduino IDE geliştirme ortamından alınan örneklerde, bazı değişiklikleri tüm analog kontakların durumunu JSON formatında görüntülemeyi mümkün kılan bir web sunucusu bulundu.
Bu web sunucusundaki sorgu dizesiyle küçük bir deneme, aşağıdaki gibi URL'leri tanımayı mümkün kılmıştır:
Son ikisini akvaryumdaki ışığı açıp kapatmak için uyarladım ve ilkini doğrudan besleme için.
Işıkların açılıp kapanması röle modülü ile yapılmaktadır. Bu çok güveni doğrudan önceden satın alınmış bir çıkışa kurdum. Tüm bunlardan sonra, küçük, kontrol edilebilir bir uzatma kablosu yaptım.
En zoru ise yemleme kurulumunu kendisi yapmaktı. Tatillerde balıkların donmuş kan kurtlarının hariç tutulduğu bir diyete devam ettiği ve sadece pelet yediği ortaya çıktı.
Kendi el sanatı için kabul edilebilir bir tasarım bulmak için Runet'i didik didik aradı. En kabul edilebilir olanı, içinde besleme bulunan dönen bir tamburdu. Bu durumda tambur, granüllerin en alt noktadan geçerek döküldüğü bir yuvaya sahiptir. Bu durumda en önemli şey, bu tamburun yanlışlıkla "yarık" pozisyonunda durmamasıdır, daha sonra balıklar "karın ziyafeti" yaşayabilir ve bir süre sonra bunun yerine bir sarter içinde yaşadıklarını hissederler. bir akvaryumdan. Kısacası, sorunlar vardı:
- davul ne yapılır
- nasıl döndürülür
- sadece bir dönüş yaparak zamanda nasıl durdurulur
Bu, üç problemden ikisini bıraktı ve kesin durma problemini çözme konusunda ciddi olarak düşünmeye başladım. Bir devrin geçişini işaret edecek olan mekanik şalter bana pek görünmüyordu. iyi karar... Tamburun yalnızca bir konumunda meydana gelen dişli kutusu üzerindeki ek mekanik yük ile karıştırılmıştır. Bu nedenle sistemi kullanmaya karar verdim: LED + tamburda siyah işaret + fotodirenç. Bir fotodirenç aldım, onunla bir voltaj bölücü monte ettim ve Arduino UNO'nun analog girişlerinden birini kullanarak bir etiketin varlığını veya yokluğunu belirlemek için voltajı ölçmeye başladım. İşaret, küçük bir elektrik bandı parçasıydı ve arka ışık, bir dirençle (akımı sınırlamak için) güç verilen bir LED aracılığıyla düzenlendi. Sonra, davulun farklı derecelerde aydınlatılmasıyla (odadaki ışık) sıkıcı bir istatistik birikimi vardı. Analog girişten hangi değerlerin alındığı belirlendi ve "etiket var" - "etiket yok" seçenekleri için eşik değerleri belirlendi. Son sorun da bu şekilde çözüldü.
Sonra yemliği granüller ve bir yuva ile birlikte denedim, ancak balıkları önceden beslememek için tüm testleri bir yaprak kağıt üzerinde yaptım, burada sadece yuvanın boyutunu (yapıştırarak) belirlemedim. yapışkan bant parçaları ile), ancak aynı zamanda bazı granüllerin iki ray arasındaki amaçlanan mesafeyi aşarak uyandığını da keşfetti. Bir kablo için plastik ambalajı doldurmam ve bir elektrik motorunda fırçalara benzer bir şey yapmam gerekti, böylece boşluk kaldırıldığında, besleme tambura sürtünen bu şeffaf plakalarla "tıkalı" oldu.
Zaten anladığınız gibi, bu cihazın amacı hiç de iyi beslenmiş bir balık yaşamı değil, kendini biraz sınamaktır. Ve daha ileri gitmeye karar verdim. Yazılım geliştirme açısından. Donanımda, yalnızca üç komutun yürütücüsüne sahiptim, ancak ev sunucusunda - bazı istatistikler tutmaya karar verdim. Bir web programcısı olduğum için MySQL veritabanını alışkanlıktan çıkardım ve içinde iki tablo başlattım. Birinde cihaza url'leri ve istek tarihlerini ekledim, diğerinde cevapları yazdım, sonuç olarak balıkların başarılı bir şekilde beslenip beslenmediği ve akvaryumdaki ışığın ne zaman açılıp kapandığı istatistiklerini aldım. (Gerçek şu ki, cihaz ancak tamamlandıktan sonra yanıt verir Ve bir şeyler ters giderse sorun olmaz.) Java'daki bazı becerilerimi hatırlayarak, URL sınıfını aldım ve bu üç http isteğini yapmak için kullandım. arduinka.JSON yanıtı json.org'dan indirilen kitaplık tarafından ayrıştırıldı.Geri kalan sapmalar için yeterli zaman olmadığı için hızla yaklaştı ve eski güzel cron'un yardımıyla java yazılımının kendisini başlatmaya karar verdim.
Biz ve balıklar denize gidişi bu şekilde bulduk. Üç hafta sonra bronzlaşmış olarak döndük ve tüm balıklarımızın akvaryumun etrafında mutlu bir şekilde yüzdüklerini gördük ve artık bıkmışlardı.