mam kilka starych klawiatur, oraz bardzo chetnego do zabaw synka. chcialem mu zrobic z klawiatury zabawke do grania tzn: naciska na klawisze i pod kazdym jest inny dzwiek, teoretycznie to wymyslilem tak ze beda się stykaly kolejne styki w klawiaturze i bedzie inny dzwiek tylko nie wiem jak zrobic 101 dzwiekow, przeciez nie bede robil tylu ukladzikow ktore beda na konkretny dzwiek.
pewnie gdzies się juz spotkaliscie z jakims schematem ktory robi cos takiego, pomozcie.
Procedury generacji dźwięku są chyba dość kłopotliwe. Robiłem przymiarki i tak "na poczekaniu", bez pisania jakichś poważniejszych syntezatorów, to można jakieś sinusy, lasery, syreny itp. generować.
Do tego zestawu można dorzucić jakąś pamięć i normalnie odtwarzać wavy. Zrobiłem tak (za poradą grupy, za co serdecznie dziękuję) i efekty są świetne. W 512k przy próbkowaniu 11kHz i 8bitowych próbkach można zmieścić ok. 1 min. efektów. Zaletą jest przede wszystkim zupełna dowolność generowanych efektów. Zmiana banku dźwięków to wrzucenie innego zestawu wavów.
Wywal te klawiatury, przejdz sie do sklepu - ponizej 50zl mozna kupic przyzwoite piskadelko
formatting link
Jesli klawiatury dzialaja - dolozyc procka z zewnatrz, tyle ze bedzie kosztowal wiecej niz gotowe organki. Jesli nie dzialaja .. wywalic procka ze srodka i wstawic wlasnego.
Od biedy - wywalic procka, na liniach wierszy i kolumn [bo klawiatura jest matrycowa] wstawic rozne oporniki i prosty multiwibrator
Koncepcję - uC + pamieć + covox poddała mi "grupa"
U mnie wyglądało to tak, że potrzebowałem 4 niezależne kanały - efekty dźwiękowe miały być generowane niezależnie dla zdarzeń (bandy gry zręcznościowej - przy każdej bandzie głośnik)
Jedna duża pamięć (dołączona standardowo jako zewnętrzna pamięć danych), Atmel 89c51, jako przetworniki C/A 4 drabinki R-2R (covox) razem z zatrzaskami adresowymi ( 573 ? ) podłączone do jednego portu procesora. Do tego 4 kanałowy TDA 1512 (głowy nie dam).
"Procedura obsługi wava" to odczytanie komórki pamięci i zapis do portu :-) Powtórzone np. 11000x na sek. daje ładny dźwięk :-) Wszystko najlepiej robić w przerwaniu timera:
Odczyt próbki -> wysłanie na przetwornik -> zwiększenie wskaźnika na próbkę -> jakieś warunki stopu
Poczciwy atmelek z 12MHz kwarcem spokojnie pociągnął 4 niezależne kanały i odbiór rozkazów z portu szeregowego
Przygotowanie wavów to w sumie prosta sprawa. Taki vaw 8bit'owy to nic innego jak ciąg wartości próbek, poziom 0 dwięku to wartość 128. Niczego nie trzeba zmieniać, skalować itp. Tylko do przygotowania pliku bin czy hex trzebaby jakis programik znaleźć. Ja - z braku czasu na szukanie - obszedłem trochę problem wykorzystując Matlab'a. Krótki skrypt (2 linijki) robił z wav'a plik 'asm', który kompilowałem i otrzymywałem hex'a do zaprogramowania pamięci :-)
ale chodzi o to zeby cos zrobic wlasnorecznie :) a nie kupowac. poza tym synek widzi ze tata siedzi przed klawiatura i tez chce miec wlasna, "piskadelko" juz ma tyle tylko ze toto lezy w pudelku bo bawic to sie on tym nie chce, a klawiature to nosi i pika po klawiszach...
z prockami bawic sie nie chce bo sie na tym nie znam i jak sam mowisz "troche" to kosztuje, chcialem cos prostszego
tak wlasnie wymyslilem myslalem ze ktos poda cos innego na poczatku myslalem ze zrobie osobny multiwibrator do kazdego klawisza ale dalem sobie spokoj jak zobaczylem ile tego wyjdzie, wymyslilem zeby zmieniac rezystory co kolumne i wiersz i wyjdzie z tego jakies tam bzyczenie narazie opracowuje to tylko teoretycznie na kartce wiec nie wiem w jakim zakresie rezystancji moge sie poruszac masz moze jakis przykladzik ?
A np. w moim przypadku (generowanie krótkich efektów) "zwykłe" oporniki sprawdziły się wyśmienicie. Jedyna wada, to że montarz jest upierdliwy Zastanawia mnie tylko jak się robi covoxa z 8 oporników - mi wyszło 16 :-)
To po prostu podłącz wyjscie szeregowe klawiatury do głosnika przez kondensator :).
Mozna też spróbować jakiś dekoder szeregowy->równoległy z TTLków zrobic i przez rezystory sterowac częstościa multiwibratora 555. (zakładam ze nie chodzi o sensowną muzyczkę tylko byle jakie dźwięki) Pozdr.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.