Skocz do zawartości

Robot do pielęgnacji kwiata - od czego zacząć?


Pomocna odpowiedź

Ta stronka także musi zostać gdzieś wygenerowana a to także może być zasobożerne. Będzie trudno to zrobić na samym Arduino, ale gdyby coś większego pobierało czyste dane, nawet przez http (choć to przerost formy nad treścią) i udostępniało stronę www z ładną prezentacją, to czemu nie.

Ja zrobiłem czujnik kilku parametrów środowiskowych z wyświetlaczem TFT 320x200 po SPI na płytce Arduino Nano. Takie rzeczy nie muszą być dynamiczne, bo pomiary są robione co 15 sekund i uśredniane 8 razy więc ekran jest uaktualniany co 2 minuty. Nie odrysowuję wszystkiego od nowa bo to byłoby brzydkie tylko umieszczam na wykresach nowe punkty i odświeżam pola numeryczne. Na 2 wykresach mieszczą się różnokolorowe linie wartości 4 parametrów zmierzone w ciągu ostatnich 12 godzin i to jest optymalne w domowym zastosowaniu. Moim zdaniem działa fajnie, ale warunkiem jest podłączenie wyświetlacza z własną pamięcią obrazu. Te większe mogą już jej nie mieć i wtedy Arduino odpada. Oczywiście procesor graficzny to potężne wsparcie i wyświetlacz na kości EVE da nieporównywalnie większe możliwości, ale okres początkowej nauki korzystania z biblioteki i opanowania filozofii programowania tego typu układów (a także dobry projekt graficzny tak dużej strony) może być trochę trudny.

BTW: "Kobiety lubią pikantne żarty" - Może daj już spokój i nie pogrążaj się chłopie. Piszesz jak szczeniak albo głupiec. Na Twoim miejscu wybrałbym pierwsze, bo z tego można wyrosnąć.

Ta strona, o której myślałem byłaby na zewnętrznym serwerze, arduino wysyłałby tylko suche dane. Szczerze mówiąc pomysł ze stacjonarnym wyświetlaczem korci mnie bardziej, a Twoje rozwiązanie przypadło mi mocno do gustu. Chciałbym jednak zrobić to na chociaż trochę większym wyświetlaczu. Czy biblioteki i pisanie kodu byłoby bardzo utrudnione na takim powiedzmy 2.4" TFT LCD czy nie będzie to miało większego znaczenia?

p.s. marek - nie jestem głupcem ani gówniarzem, przez szacunek dla Twojej osoby i fakt, że mi pomagasz nie będę już ciągnął wątku z kobietami. Napiszę tylko, że jesteście tu w większości bardzo spięci na tym punkcie, ale luz 😉

p.s.2. - a propos tego czujnika deszczu, o którym pisałem wcześniej to faktycznie zbyteczny w pierwotnej koncepcji. Dam go do butli z wodą do której podłącze pomkkę, żeby informował mnie kiedy będzie trzeba jej dolać - tak chyba będzie ciekawiej. Tak więc będą w sumie 4 sensory w tym projekcie i tak większość pinów będzie zajęta, bo ten wyświetlacz mam podłączony bezpośrednio do UNO, a na out'cie pomka, diody, buzzer (brzęczy przy wykryciu anomalii na sensorach). Większy projekt zrobię na medze, bo już kupiłem i będzie on bardziej interaktywny , szkoda, że moduły text to speach są takie drogie, ale to już wątek na inny temat :/

Mój wyświetlacz to typowy i tani 2.2" TFT. Zajmuje kilka pinów w tym sprzętowy SPI plus RESET i LED. Ten ostatni steruje załączaniem podświetlania LED więc jeśli podłączysz go od jakiegoś wyjścia PWM to masz za darmo płynną regulację jasności. W nocy przydaje się bardzo. O ile pamiętam biblioteka ruszyła od pierwszego razu. Najwięcej czasu zajmuje projekt layoutu: kolory, grubości, wzajemne ułożenie elementów na ekranie itd. tak, żeby całość była przyjemna i czytelna. Masz tu dużo więcej stopni swobody, nie wystarczy już napisać kilka linijek tekstu. Rysujesz wykresy, skale, punkty, opisy - to wszystko wymaga chwili zastanowienia. Najlepiej nie siadać do kodu dopóki nie ma się jasnej koncepcji stworzonej choćby na kartce papieru.

Samodzielne zrobienie modułu gadającego sprowadza się do podłączenia jakiejś niedużej pamięci FLASH (np. 16Mbit to 2Mbajty czyli 256s mówienia) i prostego wzmacniacza audio z głośniczkiem. Trochę kodu w Arduino i masz komunikaty słowne za niecałe 10zł:

http://www.tme.eu/pl/details/26vf016b-104i_sm/pamieci-flash-szeregowe/microchip-technology/sst26vf016b-104ism/

Robiłem wiele elektroniki dla niewidomych - tam mówienie to podstawa. Musiałbyś się nagrać w kompie, odpowiednio plik obrobić, złożyć do wszystko do kupy i przesłać do Arduino żeby wgrało to sobie do FLASHa. A potem to już tylko wołasz odpowiednią funkcję i słuchasz własnego głosu. Brr, straszne..

PS: Nie twierdzę, że jesteś - przeczytaj raz jeszcze co napisałem. Nadal uważam, że zdanie o kobietach i dowcipach jest tak głupie lub dziecinne, że ręce opadają. Ani ono prawdziwe (bo są takie które ich nie cierpią), ani fałszywe (bo pewnie są i takie które rzeczywiście lubią). Ani z tym dyskutować (bo nie niesie żadnej informacji) ani też w niczym Cię nie usprawiedliwia bo jeśli już miałbym szukać fanów pikantnych dowcipów, to raczej wśród zakompleksionych biedaczków podnoszących swoje poczucie męskości we wspólnym rechocie.

Ja tę "spinkę" nazywam szacunkiem.

  • Lubię! 1

Dzięki marek i szacun dla Twojej wiedzy. Pójdę w stronę tego wyświetlacza, gdyż przy okazji nauczę się kilku nowych rzeczy. te ekonomiczne rozwiązanie z odtwarzaniem nagranych zdań jest ok, ale ja wcześniej rozważałem, aby głos był syntetyzowany na podstawie zapisu literowego. Plus jest taki, że te syntezatory mają taki typowy dźwięk "mówiącego robota", który brzmi oryginalnie i nieco ciekawiej IMO od takiego "sterylnego syntezatora mowy" jak np. Ivona. Mają niestety sporo minusów:

- wysoka cena,
- dostępne, obsługiwane języki jakie znalazłem to: angielski, hiszpański i chiński (brak polskiego),
- czytane przez syntezator komendy czasam brzmią na tyle dziwacznie, że w ogóle ciężko je zrozumieć,

Zastanawiałem się też jak wykorzystać taki moduł ze smartfona, ale to chyba jednak zbyt wysokie progi jak na moje obecne możliwości.

Szukałem też w sieci takiego rozwiązania, żeby jakiś syntezator na PC czytał dane z serial monitora, ale niestety nie znalazłem w sieci sposobu jak to zrobić.

P.S. Każdy ma prawo do własnej opinii, wg mnie ten mój żart nie był na pewno najwyższych lotów, ale mieścił się gdzieś na pograniczu netykiety i raczej nie powinien wywoływać, aż takiego wzburzenia i krytyki. Ale dobra, większość osób uważa, że jednak był chamski, więc ja to przyjmuję do wiadomości, bo szanuję zdanie ludzi, którzy na forum są dłużej ode mnie. Zeby nie robić off-topu to napiszę jeszcze tylko, że gdybym wykorzystał te rozwiązanie audio, to poprosiłbym swoją partnerkę o nagranie kilku komend, bo słuchanie samego siebie byłoby faktycznie niestrawne...

No tak, samodzielne zrobienie syntezy mowy z poziomu tekstu łatwe nie jest. Trzeba stworzyć porządny słownik fonemów danego języka, przełożyć to na model krtani i pobudzeń, algorytm przejścia z liter na dźwięki, interpolację współczynników filtrów, a potem jeszcze dorzucić trochę DSP bo samo mówienie w ten sposób to jednak spore wyzwanie obliczeniowe - na pewno nie dla Arduino. Zadanie upraszcza się trochę gdy celem jest właśnie uzyskanie głosu robota, bo odpadają wszelkie artykulacje emocji i intonacja wyrazów w zdaniu, ale i tak mowa nieodtwarzana z pamięci a generowana z modelu matematycznego jest wyzwaniem. Jednak w takim systemie jak Twój, gdzie masz ściśle określone zastosowanie i gdzie od razu wiadomo jakie komunikaty będą odtwarzane, nawet chyba nie trzeba robić takiej rzeźby. O ile nie chcesz tego robić dla sportu rzecz jasna. Nagrane komunikaty oraz wszystkie składowe liczb możesz przecież obrobić w kompie tak, by brzmiały jak z kiepskiego syntezatora i dopiero to wgrać do FLASHa. Na pewno Twoja partnerka nie obrazi się gdy usłyszy wynik, a zabawy może być przy tym sporo. Dużo pracy jest przy docinaniu próbek cyfr tak, by pasowały każda "setka" do każdej "dziesiątki" i każda "dziesiątka" do każdej "jednostki" a też samo trzydzieści jest inne niż w trzydzieści-dwa itd. Bo sam algorytm mówienia liczb jest bardzo prosty, prawie jak wypisywanie ich na LCD.

a czy zna ktoś może taki syntezator mowy na PC, który potrafiłby odczytywać tekst z serial monitora??

p.s. marek - jak czytam Twoje posty to jestem w coraz większym szoku jeśli chodzi o wiedzę, którą posiadasz. Naprawdę masz u mnie wielki szacun koleżko!

Projekt ukończony, ale pojawił się problem. Pompka nie startuje 🙁 Tak jakby była zbyt dużym obciążeniem dla układu i jakby w ogóle szło zbyt mało prądu do niej, pomimo, że chodzi na 5V i była testowana. Układ pracuje na baterii 9V, która nie jest nowa. Czy jakbym skombinował zasilacz 12V do płytki, zamiast tej baterii to coś by to pomogło?

053d774cf0ee.jpg

e79221e89d45.jpg

__________

Komentarz dodany przez: Treker

Czym zasilałeś tę pompkę podczas testów? Może mierzyłeś wtedy prąd? Obecnie bateria nie wyrabia i powinna zostać zmieniona na zasilacz albo porządny akumulator.

  • Pomogłeś! 1

Oczywiście czujesz pismo nosem, zmierzyłeś napięcie baterii (a pewnie jeszcze wcześniej prąd pobierany przez silnik pompki z 5V) a teraz sprawdzasz czy wpadniemy na to samo co Ty? Tak, ja stawiam na zbyt małą wydajność baterii 9V. Wszystko jedno - nowa czy stara nie nadaje się do zasilania jakiejkolwiek pompki. Jak ją podłączyłeś? Przez jakiś tranzystor do 5V wychodzących z płytki? To też nie jest dobry pomysł, by napędzać silnik z tego samego napięcia co procesor.

Nie jest ważne dokładne napięcie źródła. To może być bateria 6 paluszków AA, zasilacz 7-12V lub coś podobnego, bo i tak przecież wszystko chodzi na 5V ze stabilizatora. Ważne, by to coś dawało tyle prądu ile potrzebują wszystkie Twoje odbiorniki razem wzięte. Stabilizator liniowy może zmniejszyć napięcie, ale dodatkowego natężenia prądu nie zrobi. Tak więc jeśli po zsumowaniu płytki, czujników, wyświetlaczy i pracującej pompki wyjdzie np. 1A, to taki zasilacz minimalnie musisz mieć. A najlepiej jeszcze trochę mocniejszy.

  • Pomogłeś! 1

Zasilacz pomógł !!! 🙂 Technicznie wszystko już działa. Jest tylko mały problem taki, że po wyłączeniu pompki , na wyświetlaczu pojawiają się jakieś dziwne znaki zamiast zaprogramowanych komunikatów. Praca pompki robi zamieszanie w układzie. Planuję zrobić tak, żeby przed załączeniem pompki, Uno wyłączał diody i wyświetlacz i załączał je na nowo dopiero po podlaniu kwiata. Dam też jakiś minimalny delay pomiędzy wyłączeniem "zbędnych bebechów", a załączeniem pomki. Mam nadzieję, że to pomoże....

no i dupa 🙁 wyłączenie kontrolek na czas podlewania nie pomogło, a wyłączyć wyświetlacz da się tak całkiem? myślałem,że funkcja lcd.noDisplay działa nieco inaczej :/

@Chumanista - a jak najprościej ogarnąć stabilizacje napięcia (bez dodatkowych płytek najlepiej) ??

jestem chwilowo zrozpaczony i odczuwam lekką porażkę swojego projektu 🙁

W takich wypadkach nie istnieją 100% pewne rady, bo zwykle któraś działa a inna nie. Po pierwsze pokaż jak to połączyłeś. Narysuj schemat. Jeśli to za duże słowo (niektórzy mają dziwne obawy przed pokazaniem swoich dzieł), to narysuj obraz połączeń między poszczególnymi elementami Twojego systemu, ale koniecznie z uwzględnieniem miejsc gdzie naprawdę podołączałeś poszczególne kable. Rozumiesz: prostokąty symbolizujące komputer, LCD, czujniki itp plus wszystkie kabelki: skąd dokąd. Ważne jest prowadzenie a) mas, b) zasilań, c) sygnałów. Po drugie z zakłóceniami najlepiej i najskuteczniej walczy się u źródła. Nie elektrolitami wszędzie gdzie popadnie tylko - w tym przypadku - kondensatorami i ew. diodami przy silniku. Ale to dopiero po obejrzeniu schematu.

  • Pomogłeś! 1

Chodzi o diody prostownicze? Faktycznie zapomniałem :/

z tym schematem jakbym rozrysował.... to już do końca bym się tutaj przed Wami ośmieszył :/

Dioda prostownicza między zasilaniem z uno a pompką nic nie dała, a innej nie mam :/

P.S. mam Kondensator 100 nF , mogę go podłączyć... zmieni to coś?

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...