Spisu treści:

Nakarm swoje płatki rybne z dowolnego miejsca!: 7 kroków (ze zdjęciami)
Nakarm swoje płatki rybne z dowolnego miejsca!: 7 kroków (ze zdjęciami)

Wideo: Nakarm swoje płatki rybne z dowolnego miejsca!: 7 kroków (ze zdjęciami)

Wideo: Nakarm swoje płatki rybne z dowolnego miejsca!: 7 kroków (ze zdjęciami)
Wideo: OSWOILIŚMY NAJLEPSZE STWORZENIE DO WALKI! | ARK FJORDUR [13] 2024, Listopad
Anonim
Image
Image
Części i narzędzia
Części i narzędzia

Karm swoje ryby z dowolnego miejsca na świecie. Kompatybilny z płatkami! W Internecie jest wiele karmników dla ryb, ale niewiele z nich karmi płatki rybne. Główna dieta mojej złotej rybki. Lubię karmić moje ryby, a kiedy podróżuję, chcę mieć taką samą przyjemność. Jest to również świetne, jeśli zapomnisz karmić swoje ryby. Koniec z zawracaniem w drodze do pracy! Aplikacja posiada również wyświetlacz pokazujący czas ostatniego karmienia. Pomoże Ci to nie przekarmić ani nie dokarmić ryb, a za mniej dzięki 20 USD jest to tańsze niż wiele komercyjnych rozwiązań.

Moim pierwszym projektem z Arduino był automatyczny podajnik ryb. Z moim brakiem wiedzy na temat Arduino i druku 3D ten projekt nie był świetny. Celem tego projektu było zbudowanie lepszej wersji. Podobało mi się obserwowanie mojego rozwoju, widząc, o ile lepsza jest ta wersja. Ten podajnik jest oparty na NodeMCU i aplikacji Blynk.

Aktualizacja: W wilgotnym klimacie, takim jak tropikalny lub przybrzeżny, jedzenie ma tendencję do nasiąkania wilgocią i staje się zbite i dość obrzydliwe. Osobom żyjącym w tych klimatach polecam projekt, który zapewnia szczelność żywności, gdy nie jest używana.

Krok 1: Części i narzędzia

Części i narzędzia
Części i narzędzia
Części i narzędzia
Części i narzędzia

Części

WęzełMCU

$8

Serwo Micro SG90

$1.70

Deska do krojenia chleba

$4

Przewody połączeniowe

21¢

Kabel Micro USB

$2

Części drukowane w 3D

Smartfon - musisz pobrać aplikację Blynk. Dostępne na iPhone'a i Androida.

Gorący klej - Do mocowania serwomechanizmu na miejscu i mocowania serwomechanizmu do elementu wytrząsarki.

Pojemnik na płatki rybne - Karmnik do ryb zaprojektowałem tak, aby pasował do tej butelki. Możesz również wydrukować w 3D butelkę, aby pasowała. Kupiłem mój w sklepie w PetSmart.

Narzędzia

drukarka 3d

Pistolet na gorący klej

Papier ścierny - użyłem ziarnistości 100. Może to być potrzebne, aby zmieścić serwo w jego gnieździe.

Programy i biblioteki

IDE Arduino

Aplikacja Blynk

Biblioteka Blynka

Krok 2: Drukowanie 3D

drukowanie 3d
drukowanie 3d
drukowanie 3d
drukowanie 3d
drukowanie 3d
drukowanie 3d

Karmnik do ryb zaprojektowałem na Tinkercad. Uczę się Fusion360, ale obecnie jestem bardziej pewny siebie w Tinkercad. Podajnik drukuje w dwóch częściach z opcjonalną butelką. Większy element mieści butelkę, serwo i NodeMCU. Drugi element mocuje się do klaksonu serwa. Jedzenie jest strząsane z tego kawałka do wody. Obie części można zadrukować bez podpór. Użyłem 25% wypełnienia. Butelka jest zalecana, ale zamiast niej można użyć butelki z pokarmem dla ryb ze strony części. Wydrukowanie większego kawałka zajęło mi około pięciu godzin, a przyłączenie serwomechanizmu około półtorej godziny. Pliki można znaleźć tutaj: Pliki drukarki na Thingiverse

Obecnie drukuję na MOD-t. Jego niska cena i łatwe w użyciu oprogramowanie sprawiły, że była to dla mnie świetna pierwsza drukarka. Jednak chciałbym nową drukarkę, ponieważ rozwijam się jako projektant i wynalazca CAD.

Krok 3: Schemat

Schematyczny
Schematyczny
Schematyczny
Schematyczny

NodeMCU to mikrokontroler podobny do Arduino. Różnica polega na tym, że ma wbudowany układ esp. Oznacza to, że bez żadnych zewnętrznych komponentów może łączyć się z Wi-Fi.

Jedyne połączenia wykonane są między serwomechanizmem a NodeMCU. Połącz Gnd z Gnd. 5v serwomechanizmu podłączonego do Vin NodeMCU. Przewód sygnałowy serwomechanizmu jest następnie podłączany do D1 NodeMCU. NodeMCU ma inny układ pinów niż typowy Arduino. D1 NodeMCU odpowiada pinowi D5 Arduino. Sprawdź również pinout. W kodzie, w którym definiujemy nasz pin, mamy dwie możliwości. Nazwij pin jako „D1” lub nazwij go „5”. Obie opcje działają.

Krok 4: Tworzenie aplikacji - Blynk

Tworzenie aplikacji - Blynk
Tworzenie aplikacji - Blynk
Tworzenie aplikacji - Blynk
Tworzenie aplikacji - Blynk
Tworzenie aplikacji - Blynk
Tworzenie aplikacji - Blynk
Tworzenie aplikacji - Blynk
Tworzenie aplikacji - Blynk

Blynk to aplikacja IOS i Android, która umożliwia połączenie z mikrokontrolerami przez wifi, bluetooth, ethernet itp. W tym projekcie łączymy się z aplikacją przez wifi. Blynk to aplikacja typu „przeciągnij i upuść”, umożliwiająca łatwe, dostosowane ekrany do sterowania projektami.

Aby skonfigurować aplikację Blynk:

Pobierz aplikację Blynk.

Załóż konto. Użyj prawdziwego adresu e-mail. Twoje kody uwierzytelniania zostaną wysłane na ten e-mail.

Kliknij „Utwórz nowy projekt”.

Nazwij swój projekt.

Wybierz urządzenie „NodeMCU”.

Upewnij się, że typ połączenia to „Wifi”.

Kliknij „Utwórz projekt”.

Kliknij ekran, a pojawi się pasek boczny.

Wybierz przycisk.

Nazwij przycisk.

Wybierz wyjście jako „Wirtualny 1”.

Upewnij się, że jest w trybie „Push”.

Nazwa Włącz „Karmienie” i Wyłącz „Podawanie”.

Kliknij „OK” Ponownie kliknij ekran.

Wybierz „Wyświetlanie wartości oznaczonych M”.

Nazwij go „Ostatnie karmienie”.

Wybierz wejście jako V5.

Kliknij OK.

Ponownie kliknij ekran.

Przewiń w dół na pasku bocznym do „Zegar czasu rzeczywistego”.

Wybierz to.

Ustaw strefę czasową na własną i kliknij „OK”.

Twoja aplikacja jest gotowa do pracy

Krok 5: Kod

Aby użyć kodu, musisz pobrać bibliotekę Blynk.

Będziesz także musiał wykonać kilka kroków, aby móc zaprogramować NodeMCU z Arduino IDE. Postępuj zgodnie z instrukcjami stąd: Program NodeMCU

Kod działa, wykrywając wysoki sygnał z wirtualnego pinu 5. Jest to wyzwalane przyciskiem w aplikacji Blynk. Po wykryciu wysokiego sygnału kod uruchamia funkcję. Ta funkcja powoduje, że serwo porusza się o 30 stopni w krokach co 1 stopień. Korzystanie ze stopni zapewnia czysty ruch.

Ponadto telefon wysyła dane zegara czasu rzeczywistego, czyli czas do NodeMcu. Telefon wysyła godzinę co sekundę. Po naciśnięciu przycisku, aby przesunąć serwo, zmienna i jest ustawiana na 1. Powoduje to, że instrukcja if (i == 1) jest prawdziwa, wysyłając czas do wyświetlenia w aplikacji. Czas jest wysyłany po każdym naciśnięciu przycisku. Oznacza to, że wyświetlany czas to czas ostatniego karmienia.

Musisz podać swój identyfikator SSID i hasło. Jeśli połączenie Wi-Fi nie wymaga hasła, pozostaw to pole jako „”. Musisz również dołączyć token uwierzytelniania, który zostanie wysłany na adres podczas tworzenia aplikacji. Być może będziesz musiał zmienić stopień serwa, aby dopasować ilość jedzenia, które chcesz karmić.

/* Bezprzewodowy karmnik dla ryb * Cena Aarona * V1.2 * * Ten szkic pozwala na karmienie ryb z dowolnego miejsca na świecie * Wi-Fi jest dostępne. Szkic bazuje na NodeMCU * kontrolującym serwo na pinie D1 (GPIO5). Aplikacja Blynk * steruje NodeMCU ze smartfona. * Aplikacja wysyła dane RTC ze smartfona do NodeMCU. * Połącz przycisk w aplikacji z wirtualnym pinem 1. * Połącz etykietę z wirtualnym pinem 5. */

#define BLYNK_PRINT Serial

#włączać

#włączać

#włączać

#włączać

#włączać

// Powinieneś uzyskać Auth Token w aplikacji Blynk. // Przejdź do ustawień projektu (ikona nakrętki). char auth = "AuthToken";

// Twoje dane logowania do Wi-Fi. // Ustaw hasło na „” dla otwartych sieci. znak ssid = "identyfikator"; char pass = "hasło"; poz; wew; Serwo myservo;

Zegar BlynkTimer;

WidgetRTC RTC;

void clockDisplay() { // Możesz wywołać hour(), minute(), … w dowolnym momencie // Szczegóły znajdziesz w przykładach z biblioteki czasu

String currentTime = String(godzina()) + ":" + minuta() + ":" + sekunda(); Ciąg bieżącaData = Ciąg(dzień()) + " " + miesiąc() + " " + rok(); // Serial.print("Aktualny czas: "); // Serial.print(currentTime); // Serial.print(" "); // Serial.print(aktualna data); // Serial.println();

if (i == 1) { // Wyślij czas do aplikacji Blynk.virtualWrite(V5, currentTime); i = 0; druk.seryjny(i); }

}

void setup() { // Debuguj konsolę Serial.begin(9600);

myservo.attach(5); myservo.write(75); Blynk.begin(auth, ssid, pass); rtc.początek();

timer.setInterval (1000L, wyświetlanie zegara); druk.seryjny(i); }

void loop() { Blynk.run(); timer.uruchom(); }

BLYNK_WRITE(V1) { if(param.asInt()==1) {

i++; druk.seryjny(i); Serial.print("Wciśnięty"); // Przesuń serwo do pozycji podawania

for(poz = 50; poz =140; poz-=1) // przechodzi ze 180 stopni do 0 stopni // { // myservo.write(pos); // powiedz serwo, aby przeszło na pozycję w zmiennej 'pos' // delay(15); // czeka 15ms na osiągnięcie pozycji przez serwo // } } else { Serial.print("Wciśnięty"); //Powrót do domu myservo.write(75);} }

Krok 6: Złóż wszystko razem

Kładąc wszystko razem
Kładąc wszystko razem
Kładąc wszystko razem
Kładąc wszystko razem
Kładąc wszystko razem
Kładąc wszystko razem

Przymocuj serwo do drukowanego elementu 3D, jak pokazano powyżej. Kawałek shakera należy ustawić na rogu tak, aby zakrył szczelinę, w której znajduje się jedzenie, a następnie przykleić go do rogu. Butelka z niewielką siłą wsunie się w otwór. Przyklej płytkę stykową do płaskiej części i przyklej spód płaskiej części do zbiornika. Zaprojektowałem ten kawałek tak, aby siedział w kawałku pod odpowiednim kątem. Włącz NodeMCU i kliknij przycisk odtwarzania w prawym górnym rogu aplikacji. Twój podajnik jest gotowy!

Krok 7: Wniosek

Image
Image
Konkurs Internetu Rzeczy 2017
Konkurs Internetu Rzeczy 2017

Jeśli wszystko działa, po kliknięciu przycisku karmienia ryby są karmione. Należy również zaktualizować czas ostatniego karmienia. To jeden z najbardziej przydatnych projektów, jakie wykonałem. Czerpię przyjemność z karmienia moich ryb, a ryby dostają pożywienie. Brzmi jak wygrana! Przy całym tym karmieniu będę miał jakąś dużą rybę. Czy ktoś wie, jak zbudować staw?

Ten Instruktaż występuje w kilku konkursach. Proszę o ulubione, komentuj, głosuj i udostępniaj. Chętnie też odpowiem na pytania. Cieszyć się

Konkurs Internetu Rzeczy 2017
Konkurs Internetu Rzeczy 2017

Drugie miejsce w konkursie Internetu Rzeczy 2017

Zalecana: