İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Balığınızı dünyanın her yerinden besleyin. Pullarla uyumlu! İnternette birçok balık yemliği var ama balık pullarını besleyen pek yok. Japon balığımın ana diyeti. Balığımı beslemekten zevk alıyorum ve seyahat ettiğimde de aynı keyfi yaşamak istiyorum. Bu, balığınızı beslemeyi unutursanız da harikadır. Artık işe giderken dönüş yok! Uygulama ayrıca son beslemenin zamanını gösteren bir ekrana sahiptir. Bu, balığınızı gereğinden fazla veya eksik beslememenize yardımcı olur ve 20$'dan daha az bir maliyetle birçok ticari çözümden daha ucuzdur.
Arduino ile ilk projem otomatik bir balık yemliğiydi. Hem Arduino hem de 3D baskı konusundaki bilgi eksikliğimden dolayı bu proje harika değildi. Bu projenin amacı daha iyi bir versiyon oluşturmaktı. Büyümemi izlemeyi, bu versiyonun ne kadar iyi olduğunu görmeyi sevdim. Bu besleyici, NodeMCU ve Blynk uygulamasını temel alır.
Güncelleme: Tropikal veya kıyı gibi nemli iklimlerde, yiyecekler neme batma ve topaklanma ve oldukça iğrenç hale gelme eğilimindedir. Bu iklimlerde yaşayan insanlar için, kullanılmadığında yiyecekleri kapalı tutan bir tasarım tavsiye ederim.
Adım 1: Parçalar ve Araçlar
Parçalar
DüğümMCU
$8
Mikro SG90 Servo
$1.70
ekmek tahtası
$4
Jumper Telleri
21¢
Mikro USB Kablosu
$2
3D baskılı parçalar
Akıllı Telefon - Blynk uygulamasını indirmeniz gerekecek. iPhone ve Android'de kullanılabilir.
Sıcak Tutkal - Servoyu yerine takmak ve servo kornasını çalkalayıcı parçasına takmak için.
Balık Gevreği Kabı - Balık besleyiciyi bu şişeye uyacak şekilde tasarladım. Ayrıca bir şişeyi sığdırmak için 3 boyutlu yazdırabilirsiniz. Benimkini PetSmart'taki mağazadan aldım.
Aletler
3 boyutlu yazıcı
Sıcak yapıştırıcı tabancası
Zımpara kağıdı - 100 kum kullandım. Bu, servoyu yuvasına yerleştirmek için gerekli olabilir.
Programlar ve Kitaplıklar
Arduino IDE'si
Blynk Uygulaması
Blynk Kitaplığı
2. Adım: 3D Baskı
Balık besleyiciyi Tinkercad'de tasarladım. Fusion360'ı öğreniyorum ama şu anda Tinkercad'e daha çok güveniyorum. Besleyici, isteğe bağlı bir şişeyle birlikte iki parça halinde yazdırır. Daha büyük parça, şişeyi, servoyu ve NodeMCU'yu barındırır. İkinci parça servo kornaya takılır. Yiyecekler bu parçadan suya çalkalanır. Her iki parça da desteksiz basılabilir. %25 dolgu kullandım. Şişe önerilir, ancak bunun yerine parçalar sayfasındaki balık yemi şişesi kullanılabilir. Büyük parçayı yazdırmam yaklaşık beş saatimi aldı ve servo ataşmanı yaklaşık bir buçuk saat sürdü. Dosyaları burada bulabilirsiniz: Thingiverse'deki yazıcı dosyaları
Şu anda bir MOD-t üzerine yazdırıyorum. Ucuz fiyatı ve kullanımı kolay yazılımı, onu benim için harika bir ilk yazıcı yaptı. Ancak, bir CAD tasarımcısı ve mucit olarak büyüdüğüm için yeni bir yazıcıyı çok isterim.
Adım 3: Şematik
NodeMCU, Arduino'ya benzer bir mikro denetleyicidir. Aradaki fark, yerleşik bir esp çipine sahip olmasıdır. Bu, herhangi bir harici bileşen olmadan wifi'ye bağlanabileceği anlamına gelir.
Yapılan tek bağlantı servo ve NodeMCU arasındadır. Gnd'yi Gnd'ye bağlayın. NodeMCU'nun Vin'ine bağlı servonun 5v'si. Servonun sinyal kablosu daha sonra NodeMCU'nun D1'ine bağlanır. NodeMCU, tipik Arduino'nuzdan farklı bir pin çıkışına sahiptir. NodeMCU'nun D1, Arduino'nun D5 pinine karşılık gelir. Pinout'u da kontrol edin. Pinimizi tanımladığımız kodda iki seçeneğimiz var. Pimi "D1" olarak adlandırın veya "5" olarak adlandırın. Her iki seçenek de çalışır.
4. Adım: Uygulamayı Yapma - Blynk
Blynk, wifi, bluetooth, ethernet vb. üzerinden mikrodenetleyicilere bağlantı sağlayan bir IOS ve Android uygulamasıdır. Bu projede uygulamaya wifi üzerinden bağlanıyoruz. Blynk, projeleri kontrol etmek için kolay, özelleştirilmiş ekranlara izin veren bir sürükle ve bırak uygulamasıdır.
Blynk uygulamasını kurmak için:
Blynk uygulamasını indirin.
Bir hesap kurun. Gerçek bir e-posta adresi kullanın. Yetkilendirme kodlarınız bu e-postaya gönderilecektir.
"Yeni Proje Oluştur" u tıklayın.
Projenize bir ad verin.
"NodeMCU" cihazını seçin.
Bağlantı türünün "Wifi" olduğundan emin olun.
"Proje Oluştur" u tıklayın.
Ekrana tıklayın ve bir yan çubuk görünecektir.
Bir düğme seçin.
Düğmeye bir ad verin.
Çıktıyı "Sanal 1" olarak seçin.
"Push" modunda olduğundan emin olun.
Ad Açık "Besleniyor" ve Kapalı "Besleniyor".
"Tamam" ı tıklayın Ekranı tekrar tıklayın.
Bir "Etiketli Değer Göstergesi M" seçin.
"Son Besleme" olarak adlandırın.
Girişi V5 olarak seçin.
"Tamam" ı tıklayın.
Ekrana tekrar tıklayın.
Kenar çubuğunu aşağı kaydırarak "Gerçek Zamanlı Saat"e gidin.
Seçin.
Saat dilimini kendinize göre ayarlayın ve "Tamam"ı tıklayın.
Uygulamanız Kullanıma Hazır
Adım 5: Kod
Kodu kullanmak için Blynk kitaplığını indirmeniz gerekecek.
Arduino IDE ile bir NodeMCU programlayabilmek için birkaç adımdan geçmeniz gerekecek. Buradaki adımları izleyin: NodeMCU'yu Programlayın
Kod, sanal pin 5'ten yüksek bir sinyal algılayarak çalışır. Bu, Blynk uygulamasındaki bir düğme ile tetiklenir. Yüksek sinyal algılandığında, kod bir işlevi çalıştırır. Bu fonksiyon servoyu 1 derecelik adımlarla 30 derece hareket etmeye çağırır. Basamakların kullanılması temiz hareket sağlar.
Ayrıca telefon, gerçek zamanlı saat verilerini, yani zamanı NodeMcu'ya gönderir. Telefon her saniye saati gönderir. Servoyu hareket ettirmek için butona basıldığında, bir i değişkeni 1'e getirilir. Bu, if (i == 1) ifadesinin doğru olmasına neden olur ve uygulamada görüntülenecek zamanı gönderir. Düğmeye her basıldığında saat gönderilir. Yani görüntülenen zaman, son beslemenin zamanıdır.
ssid ve şifrenizi eklemeniz gerekecek. Wifi bağlantınız şifre gerektirmiyorsa bu alanı "" olarak bırakın. Ayrıca, uygulamanız oluşturulduğunda postayla gönderilen kimlik doğrulama simgenizi de eklemeniz gerekir. Beslemek istediğiniz yiyecek miktarına uyması için servonun derecesini değiştirmeniz gerekebilir.
/* Kablosuz Balık Besleyici * Aaron Fiyatı * V1.2 * * Bu kroki dünyanın her yerinden balıkların beslenmesini sağlar * verilen wifi mevcuttur. Çizim, D1 (GPIO5) pinindeki bir servoyu kontrol eden NodeMCU'ya * dayanmaktadır. Blynk uygulaması * bir akıllı telefondan NodeMCU'yu kontrol eder. * Uygulama, akıllı telefondan NodeMCU'ya rtc verileri gönderir. * Uygulamadaki bir düğmeyi sanal pim 1'e bağlayın. * Sanal pim 5'e bir etiket bağlayın */
#define BLYNK_PRINT Seri
#Dahil etmek
#Dahil etmek
#Dahil etmek
#Dahil etmek
#Dahil etmek
// Blynk Uygulamasında Auth Token almalısınız. // Proje Ayarlarına gidin (somun simgesi). char auth = "AuthToken";
// WiFi kimlik bilgileriniz. // Açık ağlar için şifreyi "" olarak ayarlayın. char ssid = "ssid"; char pass = "şifre"; int konum; int i; Servo myservo;
BlynkTimer zamanlayıcı;
WidgetRTC rtc;
void clockDisplay() { // İstediğiniz zaman saat(), dakika(), … arayabilirsiniz // Ayrıntılar için lütfen Zaman kitaplığı örneklerine bakın
String currentTime = String(saat()) + ":" + dakika() + ":" + saniye(); String currentDate = String(day()) + " " + ay() + " " + yıl(); // Serial.print("Geçerli saat: "); // Serial.print(currentTime); // Seri.print(" "); // Serial.print(geçerliTarih); // Serial.println();
if (i == 1) { // Uygulamaya zaman gönder Blynk.virtualWrite(V5, currentTime); ben = 0; Seri.baskı(i); }
}
void setup() { // Hata ayıklama konsolu Serial.begin(9600);
myservo.attach(5); myservo.write(75); Blynk.begin(auth, ssid, pass); rtc.begin();
timer.setInterval(1000L, clockDisplay); Seri.baskı(i); }
boşluk döngüsü() { Blynk.run(); zamanlayıcı.run(); }
BLYNK_WRITE(V1) { if(param.asInt()==1) {
ben++; Seri.baskı(i); Serial.print("Basıldı"); // Servoyu Besleme Konumuna Taşı
for(konum = 50; konum =140; konum-=1) // 180 dereceden 0 dereceye gider // { // myservo.write(kon); // servoya 'pos' değişkenindeki pozisyona gitmesini söyle // delay(15); // servonun pozisyona gelmesi için 15ms bekler // } } else { Serial.print("Depressed"); //Eve dön myservo.write(75);} }
Adım 6: Hepsini Bir Araya Getirmek
Servoyu yukarıda gösterildiği gibi 3d yazdırılan parçaya takın. Çalkalayıcı parçası, kornaya yemeğin oturduğu yuvayı kapatacak şekilde hizalanmalı ve kornaya yapıştırılmalıdır. Şişe biraz kuvvetle deliğine kayar. Breadboard'u düz parçaya yapıştırın ve düz parçanın altını tanka yapıştırın. Parçayı dik açı parçasına oturacak şekilde tasarladım. NodeMCU'ya güç verin ve uygulamanın sağ üst köşesindeki oynat düğmesine tıklayın. Besleyiciniz artık hazır!
7. Adım: Sonuç
Her şey çalışırsa, yem düğmesine tıkladığınızda balıklar beslenir. Son besleme zamanı da güncellenmelidir. Bu yaptığım en faydalı projelerden biri. Balığımı beslemenin zevkini alıyorum ve balıklar yem alıyor. Bir kazan-kazan gibi geliyor! Bütün bu yemlemeyle, büyük balıklarım olacak. Gölet yapmayı bilen var mı?
Bu Eğitilebilirlik birkaç yarışmada. Lütfen beğenin, yorum yapın, oy verin ve paylaşın. Soruları da cevaplamaktan mutluluk duyarım. Eğlence
Nesnelerin İnterneti Yarışması 2017'de İkincilik