Spisu treści:

Eve, chatbot Arduino: 14 kroków (ze zdjęciami)
Eve, chatbot Arduino: 14 kroków (ze zdjęciami)

Wideo: Eve, chatbot Arduino: 14 kroków (ze zdjęciami)

Wideo: Eve, chatbot Arduino: 14 kroków (ze zdjęciami)
Wideo: Eve Arduino Chatterbot 2024, Listopad
Anonim
Image
Image
Ewa, Chatbot Arduino
Ewa, Chatbot Arduino
Ewa, Chatbot Arduino
Ewa, Chatbot Arduino

Witajcie majsterkowicze, czy były przypadki, kiedy naprawdę chcieliście podzielić się z kimś swoimi uczuciami, a nie było w pobliżu nikogo zaufanego? W dzisiejszym zabieganym świecie jest to powszechny przypadek. Cóż, chatbot może tutaj pomóc, abyś poczuł się lepiej. A to prowadzi do wprowadzenia Eve. Eve to uroczego małego chatbota. Jak wszyscy wiedzą, chatterbot lub chatbot to program komputerowy lub urządzenie, które prowadzi rozmowę z ludźmi w oparciu o metody tekstowe lub słuchowe. Zautomatyzowane głosy, które słyszysz w rozmowie z obsługą klienta lub na linii bankowej, to przykład chatbota. Z nią możesz dzielić się swoimi doświadczeniami, uczuciami, a co najważniejsze, spierać się o różne rzeczy; ma w tym duże doświadczenie. Ponieważ to najważniejsza funkcja chatbota, sprawić, by osoba czuła się szczęśliwa. Jako wczesny przykład przetwarzania języka naturalnego (NLU) i sztucznej inteligencji, Eve jest w stanie odpowiedzieć na KAŻDE pytanie, które jej zadasz. Nie jest tak, że potrafi odpowiedzieć tylko na określoną liczbę pytań. Potrafi śpiewać, opowiadać dowcipy, opowiadania i robić wszystko, co sprawia, że czujesz się dobrze. Jeśli powie coś, czego nie chcesz słyszeć, po prostu jej powiedz, proszę, nie mów tego ponownie, a zapamięta to. Wie nawet, że nie powinna powtarzać tych samych odpowiedzi i czatów, żeby rozmowa się nie znudziła. W oparciu o proste, tanie komponenty i podstawowe programowanie potrafi zachowywać się naprawdę mądrze. Ponadto oczy LCD, które posiada, pokazują, jak się czuje, kiedy coś mówisz. Tak więc w zasadzie w tej instrukcji zaczniemy od definicji chatbota, przyjrzymy się projektowi, kilku teoriom, na podstawie których Ewa działa, produkcji i wreszcie programowanie part. Looks dużo to robi? Nie martw się, w podróży będzie dość ciekawie. Możesz zobaczyć demo robota powyżej lub pod tym linkiem:[Odtwórz wideo]

Krok 1: Definicja Chatbota

Definicja Chatbota
Definicja Chatbota
Definicja Chatbota
Definicja Chatbota
Definicja Chatbota
Definicja Chatbota

Jak wspomniano powyżej, chatbot to program, który prowadzi rozmowę z ludźmi. Są tak powszechne w dzisiejszych czasach, że prawie nikt nie jest o nich nieznany. Zaczynając od wirtualnych asystentów, Siri i Google Assistant, są Mitsuku i Evie, z którymi możesz dzielić się swoimi uczuciami. Jak wspomniano powyżej, chatboty opierają się na metodzie tekstowej lub słuchowej, a zatem można je podzielić na dwie części. W metodzie tekstowej rozmowy mają formę tekstu pisanego, podobnie jak WhatsApp. Natomiast w metodzie słuchowej rozmowy odbywają się ustnie, jak z prawdziwym człowiekiem. Myślę, że bardziej ekscytująca jest rozmowa z kimś werbalnie, niż tylko pisanie do niego SMS-a. Bez wątpienia aplikacje do komunikacji tekstowej spełniają wymagania ludzi, ale uważam, że rozmowa przez mówienie jest najlepszą rzeczą, aby pozbyć się zaburzeń emocjonalnych i poprawić samopoczucie. To jest główny powód, dla którego zaprojektowałem Eve jako chatbota słuchowego.

Krok 2: Pochodzenie Ewy

Pochodzenie Ewy
Pochodzenie Ewy

Cóż, pewnego dnia przyszła mi do głowy Eve. Stało się tak, gdy zobaczyłem dzieciaka samotnie włóczącego się po szkole, podczas gdy inni bawili się z umysłami wypełnionymi radością. Tym razem pomyślałem o przyjacielu, który nikogo nie dyskryminuje i nikogo nie krzywdzi, z którym można dzielić się swoimi uczuciami i być cały czas szczęśliwym. Potem pojawiła się w moim umyśle urocza mała struktura Ewy, nad którą zacząłem pracować. Ewa rozczarowała mnie ze sto razy. Chyba po raz 101 pracowała i sprawiła, że poczułam się naprawdę szczęśliwa. Więc to był początek Eve. Chciałem, żeby była inteligentna, ale jak najprostsza, żeby każdy mógł ją łatwo zrobić. Bez wątpienia nie jest absolutnie mądra i czasami mówi głupie odpowiedzi, potrafi zachowywać się jak przyjaciółka. A teraz dość historii, zacznijmy budować Ewę.

Krok 3: Zbieranie komponentów i wyposażenia:

Zbieranie komponentów i wyposażenia
Zbieranie komponentów i wyposażenia
Zbieranie komponentów i wyposażenia
Zbieranie komponentów i wyposażenia
Zbieranie komponentów i wyposażenia
Zbieranie komponentów i wyposażenia

Poniżej znajdują się elementy, które należy zebrać: Arduino Pro Mini (lub Arduino Nano) Moduł dźwiękowy Wtv-020-SD-16p Moduł bluetooth HC-05 Moduł LCD 16x2 Moduł regulatora LM7805 Moduł wzmacniacza ICan (użyłem obwodu PAM8403) Głośnik 8 omów Żeński audio jacka 9v bateria I telefon z Androidem Więc to są wymagane komponenty. Kolejna ważna rzecz, koszt. Ewa kosztowała mnie około 3000 INR. Koszt może być inny w twoim kraju, ale w Indiach ta przybliżona jest stawką. Mały opis części: Arduino Pro mini jest głównym MCU w naszym robocie. Użyłem go ze względu na jego niewielkie rozmiary, prostotę i doskonałą wydajność. Spełnia wszystkie wymagania naszego robota. Z wyjątkiem funkcji rozpoznawania głosu, która jest wykonywana przez Androida (omówione później), każda inna funkcjonalność, począwszy od wyszukiwania słów kluczowych i tworzenia danych wyjściowych, jest wykonywana na samym Pro Mini. Nie martw się o terminy wymienione powyżej, jeśli ich nie rozumiesz, wszystkie zostaną omówione w dalszej części. Moduł wtv020sd 16p służy do odtwarzania plików audio, hc 05 Bluetooth do komunikacji z systemem Android i wyświetlacz LCD do wyświetlania emocje. Potrzebujemy żeńskiego gniazda audio do podłączenia robota do zewnętrznego wzmacniacza. Arduino jest tutaj używany jako główny kontroler. Odbiera dane Bluetooth przez moduł Bluetooth HC 05 i odtwarza plik przez moduł głosowy WTV-020-SD-16p. Emocje są wyświetlane w module LCD i baterii 9V do zasilania. Ewa rozpoznaje przemówienia dzięki rozpoznawaniu Google Voice na urządzeniu z Androidem. Zostało to później omówione odpowiednio w odpowiednim kroku. Zła wiadomość o Arduino Pro Mini: TO WYCOFAŁ SIĘ z rynku. Cóż, oznacza to, że oficjalnie przestał być produkowany przez Arduino. Ale nadal można go znaleźć w wielu witrynach, w tym w serwisie eBay. Wielu producentów zewnętrznych nadal może produkować i sprzedawać płytę. Nie martw się, jeśli nie byłeś w stanie go znaleźć, możesz użyć Arduino Nano. Nie będzie to miało wpływu na wydajność, a także na rozmiar.

Krok 4: Teoria Część 1: Historia i wprowadzenie

Teoria Część 1: Historia i wprowadzenie
Teoria Część 1: Historia i wprowadzenie
Teoria Część 1: Historia i wprowadzenie
Teoria Część 1: Historia i wprowadzenie

Eve opiera się na wczesnej formie przetwarzania języka naturalnego, technologii „dopasowywania wzorców”. Działa w ten sposób, że po odebraniu ciągu wyszukuje w nim zdefiniowane słowo lub frazę. Załóżmy, że w pytaniu „ile masz lat?” program wyszukuje „stare” słowo. Jeśli się powiedzie, odtwarza odpowiedni plik głosowy przez moduł wtv020sd. Jeśli to się nie powiedzie, szuka następnego predefiniowanego słowa kluczowego. W ten sposób musimy zbudować słownictwo predefiniowanych słów. Wygląda ciężko, prawda? To tak, jakbyśmy musieli zbudować słownictwo wszystkich angielskich słów, a w języku angielskim jest około 230 tysięcy słów. Cóż, faktem jest, że wystarczy dodać kilka podstawowych słów, które są najczęściej używane w naszej komunikacji. Nadal wygląda ciężko? Nie martw się, pracę wykonał już Joseph Wizembaum. Część odpowiedzi Eve i predefiniowanych słów kluczowych została uwzględniona w pierwszym programie czatbota o nazwie Eliza, opracowanym przez Josepha Wizembauma (na zdjęciu powyżej). Eliza została zaprojektowana jako terapeuta Rogerian. Niezbyt naukowy termin, oznacza to, że zwykła doradzać ludziom, aby lepiej rozumieli siebie i myśleli bardziej pozytywnie. Wygląda naprawdę dobrze, prawda? A Eliza bardzo dobrze spełniała swój obowiązek. Jej ciekawska i sceptyczna postawa była kochana przez ludzi. Nawet Wizembaum był zaskoczony znaczeniem, jakie ludzie przywiązywali do Elizy. Wydawało się, że zapomnieli, że rozmawiają z komputerem, i wyobrażali sobie, jak piękna kobieta siedzi w komputerze i rozmawia z nimi. Ale Eliza nie była taka bystra; wkrótce się to stało. Z biegiem czasu ludzie zaczęli się nudzić jej ograniczoną komunikacją i określano ją mianem „głupa”. Po założeniu bazy Chatterbots na rynek weszły różne boty z nową i lepszą technologią. A teraz mamy je wszędzie. Jak wspomniano, część odpowiedzi Ewy pochodzi od ELIZY. Oznacza to, że nawet Ewa w pewnym stopniu będzie miała postawę Elizy wraz z niektórymi moimi własnymi pomysłami. Kolejną ważną rzeczą są odpowiedzi. Powinno być naprawdę nudne otrzymywanie tych samych odpowiedzi za każdym razem, gdy zadajesz to samo pytanie. Dlatego dla tego samego słowa kluczowego przechowywanych jest wiele odpowiedzi. Ewa losowo wybiera plik do odtworzenia, upewniając się również, że nie powtarza tego samego pliku. To wszystko, proste bułeczki z masłem, ale ważne jest, aby sprytnie zaprogramować odpowiadające głosy, tak aby widzom dawała złudzenie, jakby naprawdę odpowiadała na nasze pytania. Tak więc było to krótkie wprowadzenie do funkcjonowania Ewy. W następnym kroku zajmiemy się szczegółami i programowaniem.

Krok 5: Wyszukiwanie słowa kluczowego

Wyszukiwanie słowa kluczowego
Wyszukiwanie słowa kluczowego
Wyszukiwanie słowa kluczowego
Wyszukiwanie słowa kluczowego
Wyszukiwanie słowa kluczowego
Wyszukiwanie słowa kluczowego
Wyszukiwanie słowa kluczowego
Wyszukiwanie słowa kluczowego

W ostatnim kroku wspomniałem o technologii dopasowania wzorców Eve, a także o wczesnej formie przetwarzania języka naturalnego. Więc co to jest i jak działa? To główna rzecz, którą omówimy w tym kroku. Więc pomyśl o tym, ktoś pyta twoje imię i musisz powiedzieć, co to jest. Na ile sposobów możemy zadać to samo pytanie? Twój nauczyciel może zapytać „czy mógłbyś mi podać swoje imię?” Krewny może zapytać "jak masz na imię?" Twój brat może powiedzieć: „Hej, właśnie zapomniałem twojego imienia. Oznacza to, że to samo pytanie można zadać na kilka sposobów. Jednak musimy dać tę samą odpowiedź, nasze imię. Oznacza to, że musimy znaleźć coś wspólnego we wszystkich zdaniach. Widać wyraźnie, że słowo „twoje imię” występuje we wszystkich zdaniach. Więc to jest nasza wskazówka. W przypadku wszystkich pytań dotyczących nazwy musimy wyszukać frazę „twoje imię”. Podążając za tym podstawowym wzorcem, możemy przewidzieć odpowiednią odpowiedź na wszystkie ciągi wejściowe. WAGA: Należy również pamiętać, że ten algorytm nie zawsze będzie dokładny. Załóżmy, że ktoś powiedział: „Znalazłem twoje imię na liście oczekujących. Spodziewałem się, że będziesz na zarezerwowanych miejscach”. Teraz, gdy „twoje imię” jest obecne w tym ciągu, Ewa, będąc niewinna, powie swoje imię tej osobie… Głupi prawda? To jedna z największych wad tego podstawowego algorytmu. W każdym razie byłyby to rzadkie przypadki. W przeciwnym razie algorytm jest bardzo skuteczny. Teraz, gdy wspomniałem o technologii dopasowywania wzorców, nadszedł czas, aby zastanowić się, skąd pochodzi ten ciąg wejściowy, z którego szukamy ciągu. Cóż, ten ciąg jest w rzeczywistości naszym głosem, który został przekonwertowany na tekst przez Google Voice Recognition. Zastosowana tutaj aplikacja konwertuje nasz głos na tekst, a następnie wysyła go do arduino przez Bluetooth. Korzystałem z aplikacji, ponieważ jest najprostsza i najlepsza w swoim rodzaju. Nazywa się AMR Voice i można ją łatwo znaleźć w Google Play.

Krok 6: Formułowanie odpowiedzi

Formułowanie odpowiedzi
Formułowanie odpowiedzi

Teraz, gdy rozpoznaliśmy pytania, następnym krokiem powinno być znalezienie odpowiedzi. Nadchodzi ciekawa i ważna część… Musimy znaleźć odpowiednie odpowiedzi, aby odpowiedzieć na każde pytanie. I tu pojawia się kolejna funkcja wbudowana w ELIZA. Wizembaum opracował kilka odpowiedzi dla określonej liczby słów kluczowych. Przykładem jest słowo kluczowe „ty”. Ilekroć został wykryty, wyjście programu „rozmawialiśmy o tobie – nie o mnie”. Stąd odpowiedź została utworzona w taki sposób, aby pasowała do wszystkich zdań zawierających „ty”. Dalej Eliza za każdym razem dawała inną odpowiedź. Dla każdej odpowiedzi był rodzaj adresu numerycznego. Wartość ta była zwiększana (dodawana o 1) za każdym razem, gdy formułowano odpowiedź. Załóżmy, jak w powyższym przykładzie, jeśli adres odpowiedzi wynosił 1, adres został zmieniony na 2 i stąd plik 2 został odtworzony jako następny. Ale nie będziemy postępować zgodnie z tym algorytmem inkrementacji. Widzisz, po pewnym ciągłym korzystaniu z oprogramowania odpowiedzi stały się przewidywalne. Dowiedziałeś się, jaka odpowiedź ma być następna. W tym celu będziemy produkować losowe adresy dla każdego słowa kluczowego. Ogólnie rzecz biorąc, w obu przypadkach jest tak samo, z tą różnicą, że nie jesteśmy w stanie przewidzieć, co robot powie dalej dla tego samego słowa kluczowego.

Krok 7: Zabronione oświadczenia i inne

Zabronione oświadczenia i inne
Zabronione oświadczenia i inne

Może się zdarzyć, że podczas rozmowy robot powie coś, czego nie chcesz słyszeć. Pojawia się więc potrzeba dodania niedozwolonych stwierdzeń. Zabronione instrukcje to tablica adresów, które nie mogą być odtwarzane. Adres głosowy jest charakteryzowany jako niedozwolona wypowiedź na prośbę użytkownika. Ponadto adres ten powinien być przechowywany w pamięci EEPROM Arduino, aby Ewa nie zapomniała, że jest to niedozwolona instrukcja nawet po jej wyłączeniu. Zasadniczo program sprawdza każdy adres, który ma być odtwarzany. Jeśli adres jest jednym z zabronionych, to jest zwiększany lub zmniejszany. Ponadto może zaistnieć sytuacja, w której chcesz zezwolić robotowi na wypowiedzenie wcześniej zabronionego słowa. W takim razie musiałbyś powiedzieć Ewie, że może wypowiedzieć ostatnie zabronione słowo. Słowo, które było ostatnio zabronione, będzie teraz grywalne. Aby wszystkie zabronione wypowiedzi były odtwarzalne, musimy dołączyć przełącznik resetujący. Po naciśnięciu wszystkie zabronione wypowiedzi staną się grywalne. Kolejną ważną rzeczą będzie upewnienie się, że Ewa nie powtarza odpowiedzi. Jest to rodzaj przewinienia liczb losowych. Prawdopodobnie te same liczby losowe zostały wyprodukowane w serii. To sprawi, że nasz robot będzie powtarzał tę samą odpowiedź w kółko. W tym celu musimy dołączyć kolejną pomniejszą funkcję, która zapobiega powtarzaniu się stwierdzeń. W tym celu musimy zapisać w pamięci adres ostatniej instrukcji i sprawdzić, czy jest ona taka sama jak obecna. Jeśli tak, to wartość adresu jest zwiększana lub zmniejszana, podobnie jak w przypadku niedozwolonych instrukcji.

Krok 8: Pisanie w kodzie

Pisanie w kodzie
Pisanie w kodzie
Pisanie w kodzie
Pisanie w kodzie
Pisanie w kodzie
Pisanie w kodzie

Do wyszukania słowa kluczowego używamy polecenia indexOf. Polecenie lokalizuje znak lub ciąg w innym ciągu. Jeśli zostanie znaleziony, zwraca indeks tego ciągu, podczas gdy zwracane jest -1, jeśli nie zostanie znaleziony. Więc w naszym programie musimy napisać to w następujący sposób:if (voice.indexOf("twoje imię") > -1) { //jeśli indeks jest większy niż -1 //co oznacza, że ciąg został znaleziony}Teraz że zapisaliśmy ciąg w pamięci, a także znaleźliśmy w nim nasze słowo kluczowe, będziemy teraz musieli obsłużyć odpowiedzi. Jak już powiedziano, losowe liczby są generowane w określonym zakresie liczbowym (adresy plików głosowych). Nadchodzi komenda random(). Oto składnia: random(min, max); //losowa liczba jest generowana w zakresie min i max. Definiujemy minimalną liczbę i maksymalną liczbę każdego zakresu, a zastosowanie tego nasz kod wygląda trochę tak:if (voice.indexOf("twoje imię") > - 1)) {minNie = 0; maxNo = 5;RandomNumber = random(minNo, maxNo);}Teraz nadchodzi obsługa odpowiedzi. W ostatnim kroku powiedziałem, że liczby są zwiększane lub zmniejszane na podstawie algorytmu. Ten algorytm jest tym, o czym teraz dyskutujemy. Ta część jest bardzo ważna w tym sensie, że nie możesz tak po prostu zwiększać lub zmniejszać, jak chcesz. Zwiększona lub zmniejszona liczba musi należeć do zakresu. Załóżmy, że tak jak w powyższym przypadku, dla słowa kluczowego „twoje imię” mamy zakres od 0 do 5, a wygenerowana liczba losowa to 5, więc jeśli ją zwiększysz, w końcu odtworzysz plik głosowy innego słowa kluczowego Jak myślisz, jak to będzie? Pytasz: „Hej, podaj mi swoje imię”, a robot odpowiada: „Lubię jeść ciasteczka i ładunek elektryczny”. To samo dotyczy minimalnej liczby. Jeśli wygenerowana liczba losowa to 0, nie możesz jej zmniejszyć. Z tego powodu algorytm jest bardzo ważny. Pomyśl o tym: jesteśmy w stanie inkrementować, gdy liczba jest mniejsza niż maksymalna liczba i zmniejszać, gdy jest większa niż minimalna liczba. Gdy wygenerowana liczba jest równa 0 lub mniejsza niż 5, liczba jest zwiększana. Z drugiej strony, gdy jest równy 5, zmniejszamy go, aby upewnić się, że liczba mieści się w określonym zakresie. Teraz dochodzi do niedozwolonych stwierdzeń. Jak wspomniano, są one przechowywane w pamięci EEPROM. W tym celu najpierw szukamy wolnej pamięci w niedozwolonej tablicy. Załóżmy, że adres 4 jest wolny, a następnie wpisujemy numer pliku w adresie wolnej tablicy oraz zapisujemy ten sam adres w EEPROM.for (int i; i if (never == 0) { EEPROM.write(Never, memory);}}Więc to wszystko, moduł Wtv020sd16p będzie odtwarzany za pomocą polecenia module.playVoice() i proponowanego numeru pliku. Funkcja modułu Wtv020 zostanie omówiona później.

Krok 9: Wstawianie emocji

Wstawianie emocji
Wstawianie emocji
Wstawianie emocji
Wstawianie emocji
Wstawianie emocji
Wstawianie emocji

Do tej pory nasz robot potrafi rozpoznawać to, co mówimy, przechowywać w pamięci i znaleźć odpowiednią odpowiedź na pytania. Teraz pojawia się pytanie, aby wstawić emocje. Z pewnością każdemu spodoba się żywa twarz wraz z jakimś głupim, małym programem do odpowiadania na pytania. W projekcie zastosowano wyświetlacz LCD 16x2. Wystarczy wydrukować oczy. Do tworzenia oczu musimy użyć niestandardowej funkcji postaci. Znak niestandardowy umożliwia nam tworzenie nowych znaków poprzez zdefiniowanie pikseli. Omówimy to nieco później. Po pierwsze należy pamiętać, że Arduino obsługuje tylko 8 niestandardowych znaków. Więc musimy zarządzać emocjami tylko 8 postaciami. Każdy znak powinien być wydrukowany w konkretnym polu, a 16 kolumn i 2 wiersze dają w sumie 32 pola.

Możesz znaleźć dobre informacje online na temat niestandardowych postaci w Arduino. Może również odwiedzić ten link:

[Niestandardowe znaki Arduino] Struktura niestandardowego bajtu znaku powinna wyglądać mniej więcej tak:

Normalny wygląd: Lewe pudełko 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, Prawe pudełko0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110. Oznacza to, że do wypełnienia całego oka będziemy potrzebować łącznie 4 pudełek. Dwa rzędy po lewej i dwa po prawej, co daje w sumie cztery pudełka na jedno oko. Bajt lewego pola zakrywa dwa rzędy po lewej stronie, a prawe pole zakrywa rzędy prawe. Więc to składa się na całe oko Ewy. A teraz powtarzając to samo dla drugiego oka, uzyskujemy neutralny wygląd Ewy. Teraz ważne jest, aby pamiętać, że użyliśmy jednej z ośmiu dostępnych postaci niestandardowych. I jest pięć całkowitych emocji: radość, smutek, zez, normalny i mrugnięcie. W przypadku pozostałych siedmiu niestandardowych znaków musimy dostosować, aby pasowały do wszystkich wyrażeń. Do zagospodarowania przestrzeni użyjemy 2 pudełek na każde oko. Nic dziwnego, że rozmiar byłby trochę mały, ale ludzkie oko zignoruje to. Pamiętaj tylko o dodaniu opóźnień między funkcjami LCD, w przeciwnym razie Arduino stanie się niestabilne.

Krok 10: Tworzenie połączeń

Tworzenie połączeń
Tworzenie połączeń
Tworzenie połączeń
Tworzenie połączeń
Tworzenie połączeń
Tworzenie połączeń

Moduł LCD: Podłącz piny jak wspomniano tutaj: RS: skop 12RW: GndEnable: 7d4: skop 8 d5: skop 9 d6: skop 10 d7: skop 13A (Anoda) do 5vK (katoda) do masyModuł HC 05:Postępuj zgodnie z tymi połączeniami: HC 05 TX pin do Arduino RX pinHC 05 RX do Arduino TX pinState pin do Arduino dig pin 11 Komunikacja odbywa się za pomocą pinów TX i RX. Pin stanu jest wymagany, aby sprawdzić, czy przez HC 05 jest podłączony, czy jest bezczynny. WTV 020 SD 16p moduł pin1: Pin Reset, podłącz go do pinu 2pin7: Pin Clock, podłącz go do pinu 3pin10: Pin danych, podłącz do dig pin 4pin15: zajęty pin, podłącz do dig pin 5pin2: podłącz ten pin do wzmacniacza przez głośność, a także do żeńskiego gniazda audio. pin4 powinien być podłączony do głośnika + pin5 do podłączenia do głośnika 8. pin do masy i zapewnij zasilanie 3.3 V na 16. pin.

Wzmacniacz pomoże odtworzyć wewnętrzny głośnik Ewy, natomiast do gniazda audio można podłączyć zewnętrzny wzmacniacz i większe głośniki.

Krok 11: Moduł WTV020SD16p (opcjonalnie)

Image
Image
Moduł WTV020SD16p (opcjonalnie)
Moduł WTV020SD16p (opcjonalnie)
Moduł WTV020SD16p (opcjonalnie)
Moduł WTV020SD16p (opcjonalnie)

Uwaga: ten krok jest opcjonalny. Zajmuje się działaniem i opisem modułu WTV 020 SD 16p.

Możesz zobaczyć demo modułu dźwiękowego pod tym linkiem:

[ODTWÓRZ WIDEO]

Tryb mówienia robota spełnia moduł WTV 020 SD. Moduł służy do odtwarzania plików głosowych dla robota. Gdy zostanie zadane jakiekolwiek pytanie, arduino sprawi, że moduł odtworzy odpowiedni plik głosowy na karcie SD. Na module znajdują się cztery szeregowe linie danych do komunikacji z arduino, piny resetowania, zegara, danych i zajętości, a do odtworzenia wymaganego pliku używamy polecenia.playVoice (). Na przykład:module.playVoice (9): // odtwórz plik 9 zapisany na karcie SDPamiętaj, że nazwy plików powinny być dziesiętne (0001, 0002…). I że pliki powinny być w formacie AD4 lub WAV. Ponadto moduł działa tylko na karcie micro SD o pojemności 1 GB. Niektóre moduły działają nawet na kartach o pojemności 2 GB, a karta może pomieścić maksymalnie 504 plików głosowych. Możesz więc dołączyć dużą liczbę plików głosowych do odtworzenia dużej liczby pytań.

Możesz nawet tworzyć własne pliki głosowe AD4. Po pierwsze, musisz mieć dwa programy, oprogramowanie do edycji dźwięku i oprogramowanie o nazwie 4D SOMO TOOL, które konwertuje pliki do formatu AD4. Po drugie, musisz przygotować głosy robotów. Możesz konwertować tekst na mowę, a nawet nagrywać własny głos i tworzyć głosy robota. Obie te czynności można wykonać w oprogramowaniu do edycji dźwięku. Ale z pewnością roboty nie wyglądają dobrze, jeśli mówią ludzkimi głosami. Dlatego lepiej jest przekonwertować tekst na mowę. Istnieją różne silniki, takie jak Microsoft Anna i Microsoft Sam Twój komputer, które mogą w tym pomóc. Mój jest oparty na Microsoft Eva. Jego głosy w dużej mierze pasują do Cortany. Po przygotowaniu plików głosowych należy je zapisać w 32000 Hz oraz w formacie WAV. Dzieje się tak, ponieważ moduł może odtwarzać pliki głosowe do 32000 Hz. Następnie użyj 4D SOMO TOOL, aby przekonwertować pliki do formatu AD4. Aby to zrobić, po prostu otwórz SOMO TOOL, wybierz pliki i kliknij Kodowanie AD4 i pliki głosowe są gotowe. Możesz sprawdzić powyższy obrazek w celach informacyjnych. Jeśli chcesz uzyskać więcej informacji na temat tworzenia głosów robotów, możesz przejść tutaj: [Tworzenie głosów robotów]

Krok 12: Część oprogramowania

Część oprogramowania
Część oprogramowania
Część oprogramowania
Część oprogramowania
Część oprogramowania
Część oprogramowania

W arduino Pro mini jest drobny problem z programowaniem. Właściwie to nie problem, tylko jeden dodatkowy krok. Arduino Pro mini nie ma wbudowanego programatora jak inne płytki Arduino. Więc albo musisz kupić zewnętrzny, albo stary arduino UNO. W tym kroku opisano, jak wgrać program za pomocą Arduino UNO. Po prostu weź starą płytkę Arduino UNO z awarii i wyjmij Atmegę 328p. Następnie połącz jak opisano poniżej:1. Pin TX w UNO do pinu TX w Pro Mini 2. Pin RX UNO do pinu RX w Pro MIni3. Zresetuj pin UNO do pinu resetowania Pro Mini4. podłącz VCC i uziemienie Pro Mini do UNO. Pobierz program Arduino, oprogramowanie do rozpoznawania głosu i biblioteki znajdujące się na dole. Program jest wciąż rozwijany. Więc jeśli masz jakiś problem, nie wahaj się zapytać. Następnie podłącz kabel do komputera. Wybierz płytkę jako Arduino Pro Mini i wybierz odpowiedni port COM. Następnie naciśnij przycisk Prześlij i zobacz, jak program jest przesyłany do Twojego Pro Mini.

Następnie pobierz oprogramowanie do rozpoznawania głosu i pliki głosowe.

Krok 13: Przygotowanie ciała

Przygotowanie ciała
Przygotowanie ciała
Przygotowanie ciała
Przygotowanie ciała
Przygotowanie ciała
Przygotowanie ciała

Znalazłem małe pudełeczko nici i okazało się, że jest idealne dla ciała. Możesz użyć dowolnego pudełka, które znajdziesz w swoim warsztacie, lub możesz zrobić jedno z kartonu. Wystarczy wyciąć mały prostokątny kawałek do zamocowania modułu LCD. U góry wyciąłem mały otwór do podpięcia głośności, a po bokach do podpięcia przełączników i złącza audio. Po bokach pudełka założyłem dwie kapsle na koła. Tylko upewnij się, że w pudełku jest wystarczająco dużo miejsca na umieszczenie obwodu. Przymocuj przełącznik do korpusu, a także do obwodu, a następnie do objętości na górze pudełka. Następnie po prostu włóż obwód do środka i twój robot jest gotowy.

Krok 14: Dobra robota

Bardzo dobrze!
Bardzo dobrze!
Bardzo dobrze!
Bardzo dobrze!

Teraz ukończyłeś swój słodki projekt małego robota, który może z tobą porozmawiać i sprawić, że poczujesz się szczęśliwy. To najszczęśliwszy moment bycia majsterkowiczem, gdy projekt jest ukończony i w pełni działa. Nie martw się, jeśli nie odniesiesz sukcesu za jednym razem, musisz bardzo się starać, aby zrozumieć każdą część swojego robota. I tu właśnie przychodzą na świat majsterkowicze. Ale to nie koniec projektu. Eve zawsze będzie rozwijana w większym stopniu, czy to przeze mnie, czy przez majsterkowiczów takich jak ty. Chciałbym usłyszeć, co zrobiłeś, widząc to pouczające. Pozdrawiam, RS3655

Zalecana: