Skocz do zawartości


Zdjęcie

Pięciobitowy kalkulator

kalkulator 1.5.1 5 bit

  • Zaloguj się, aby dodać odpowiedź
27 odpowiedzi w tym temacie

#1 Gablaw122

Gablaw122

    Bywalec

  • Użytkownik
  • 179 postów

Napisano 08 August 2015 - 20:37

Witam !

W tym temacie zamierzam przedstawić zbudowany przez siebie kalkulator. Jest to mój pierwszy tego typu projekt i jednocześnie najbardziej zaawansowana konstrukcja jaką zbudowałem w minecrafcie więc jeśli widzisz coś co można poprawić śmiało pisz. Jak na razie urządzenie jest dość tępe ,gdyż możemy wprowadzać tylko liczby jednocyfrowe i jedynie dodawać oraz odejmować i dodatkowo nie obsługuje liczb ujemnych ,ale możliwe że to zmienię. Cały mechanizm zbudowałem i wymyśliłem sam za wyjątkiem bardzo popularnych komórek pamięci oraz sumatorów (zastosowałem konstrukcję timikx'a :  )


i subtraktorów (użyłem konstrukcji Redmasterize'a :  ).


Ale dlaczego sam tego nie wymyśliłem ?

Otóż wymyśliłem ,niestety zajmowało to dużo miejsca i było dość wolne ,więc zastosowałem te dużo lepsze elementy. Jak w temacie cała maszyna działa na pięciu bitach ,a to starczy gdy wprowadzane liczby są jednocyfrowe. Mimo że szybkość nie należy do atutów tego mechanizmu ,możemy wpisywać znaki najszybciej jak możemy a i tak urządzenie nadąży. Dla zwykłego użyszkodnika użytkownika mechanizm działa jak normalny kalkulator ,wybieramy jedną liczbę ,znak działania ,drugą liczbę ,naciskamy "=" i uzyskujemy wynik ,który możemy wymazać przyciskiem "CE".

Dla osób które nie są bardzo dobre z czerwonego proszku może wydawać się to ogromne i skomplikowane ,ale po dokładniejszej analizie okazuje się że maszyna składa się z tylko kilku segmentów skopiowanych wiele razy i różniących się ułożeniem pochodni.
 
Oto zrzuty ekranu przedstawiające ten mechanizm :

 

Dobrze ,ale jak to działa ?

Pierwsze miejsce w jakie kieruje się dana liczba to pamięć ,pierwsza jest transportowana na dolne piętro ,a gdy tam dotrze uruchamia tłoki które przesuwają słupek z gliny (przewodzi sygnał) i szkła (nie przewodzi sygnału) ,tak że do dolnych pamięci liczba już nie dotrze ,a do górnych już tak.

Gdy sygnał z kolei dotrze na górę tłoki wracają do normalnego ustawienia. Zapisane liczby docierają do dwóch konwerterów ,pierwszy zamienia je na sygnał do wyświetlacza siedmiosegmentowego i zostają one wyświetlone na ekranie ,natomiast drugi zamienia je na liczby bitowe i przesyła kablami jednocześnie do sumatorów i subtraktorów (z racji to to urządzenie 5-bitowe jest to pięć normalnych sumatorów i odpowiednio subtraktorów połączonych w rządzie wejściami i wyjściami przerzutu),gdzie są przeliczane na nowe liczby bitowe ,te z kolei docierają do dwóch konwerterów który zamienia je na normalne liczby ,a potem na wejścia do wyświetlacza. A co z innymi przyciskami ? Są one połączone do komórek pamięci. Pierwsza składa się z znaku "=" oraz "CE" ,tak że gdy któryś jest aktywny wyłącza drugi.

Gdy znak "=" jest aktywny wyświetla się na ekranie i odblokowuje (normalnie zablokowane) wejścia do wyświetlacza. Druga komórka to "+/-" oraz "CE". Gdy część "+/-" jest aktywna te znaki nie są blokowane. Ostatnia komórka to "+" i "-". Znak "+" powoduje odblokowanie wyjść sumatorów i wyświetlenie się na ekranie ,znak "-" działa tak samo lecz odblokowuje wyjścia subtraktorów.

 

Dla osób bardziej zainteresowanych daje link do pobrania świata :

By zobaczyć linki musisz się zalogować lub zarejestrować

To tyle ,cześć.


Użytkownik Gablaw122 edytował ten post 09 August 2015 - 14:07


craftportal

Craftserve to największy i najlepszy polski hosting serwerów Minecraft, jest solidny i tani więc go polecam

#2 Libter

Libter

    Legenda

  • Zbanowany
  • 3502 postów

Napisano 08 August 2015 - 20:46

Dodaj link do pobrania tego projektu.



#3 Gablaw122

Gablaw122

    Bywalec

  • Użytkownik
  • 179 postów

Napisano 08 August 2015 - 21:06

Dodaj link do pobrania tego projektu.

Edytowałem temat w trakcie jak pisałeś więc części pewnie nie widziałeś ,a co do linka do pobrania dałbyś poradę (nie śmiej się)

jak to zrobić gdyż jeszcze nigdy nie tworzyłem czegoś takiego.



#4 Libter

Libter

    Legenda

  • Zbanowany
  • 3502 postów

Napisano 08 August 2015 - 21:13

1. Skompresuj swojego save'a - np. do formatu ZIP

2. Wyślij plik .ZIP na dowolny hosting plików / chmurę

3. Udostępnij link do pobrania save'a na forum



#5 Gablaw122

Gablaw122

    Bywalec

  • Użytkownik
  • 179 postów

Napisano 08 August 2015 - 21:20

1. Skompresuj swojego save'a - np. do formatu ZIP

2. Wyślij plik .ZIP na dowolny hosting plików / chmurę

3. Udostępnij link do pobrania save'a na forum

Jaki hosting polecasz ?



#6 Libter

Libter

    Legenda

  • Zbanowany
  • 3502 postów

Napisano 08 August 2015 - 21:26

Jaki hosting polecasz ?

Polecam chmurę 

By zobaczyć linki musisz się zalogować lub zarejestrować

.



#7 Gablaw122

Gablaw122

    Bywalec

  • Użytkownik
  • 179 postów

Napisano 09 August 2015 - 08:40

Polecam chmurę 

By zobaczyć linki musisz się zalogować lub zarejestrować

.

Dobra ,dałem już linka ,możesz pobrać.



#8 Libter

Libter

    Legenda

  • Zbanowany
  • 3502 postów

Napisano 09 August 2015 - 09:57

Niestety nie działa.

 

9 + 9 = 2

8 + 8 = (brak)

Wszystkie kolejne działania nie dawały wyniku



#9 Gablaw122

Gablaw122

    Bywalec

  • Użytkownik
  • 179 postów

Napisano 09 August 2015 - 12:46

Niestety nie działa.

 

9 + 9 = 2

8 + 8 = (brak)

Wszystkie kolejne działania nie dawały wyniku

Przetestowałem to u siebie i działa doskonale ,musiało się coś spsuć podczas kopiowania świata ,nie ingerowałeś w mechanizm ? Mechanizm zbudowałem na 1.7.10 ,może masz inną wersję. Spróbuj wcisnąć "CE" i wtedy sprawdź ,a jak dalej nie działa ,daj znać spróbuje jeszcze raz zuploadować świat. Tak jak pisałem u mnie działa :

Wpisywałeś w kolejności 2 + 2 = ?

Kalkulator nie obsługuje liczb ujemnych.

Ewentualnie poczekaj chwilę po wciśnięciu przycisku.


Użytkownik Gablaw122 edytował ten post 09 August 2015 - 12:58


#10 gelo1238

gelo1238

    gelo1238

  • Użytkownik
  • 480 postów
  • gelo1238

Napisano 09 August 2015 - 13:33

Pistony się bugują.

By zobaczyć linki musisz się zalogować lub zarejestrować


  • Gablaw122 lubi to

#11 Gablaw122

Gablaw122

    Bywalec

  • Użytkownik
  • 179 postów

Napisano 09 August 2015 - 13:54

Pistony się bugują.

By zobaczyć linki musisz się zalogować lub zarejestrować

Poprawiłem trochę kabel i dałem nowy link ,teraz nie powinno się bugować ,ale dla pewności graj na 1.7.10.

Niestety nie działa.

9 + 9 = 2
8 + 8 = (brak)
Wszystkie kolejne działania nie dawały wyniku

Pobierz jeszcze raz ,teraz powinno działać ,ale dla pewności graj na 1.7.10.

Użytkownik Ersan edytował ten post 10 August 2015 - 10:58


#12 gelo1238

gelo1238

    gelo1238

  • Użytkownik
  • 480 postów
  • gelo1238

Napisano 09 August 2015 - 23:39

Ale pozycję wy zapisania wybrałeś.

Jeszcze jedno miejsce może się zbugować. Już poprawiłem po swojemu.

By zobaczyć linki musisz się zalogować lub zarejestrować

-----------------------------------------------------

Jeszcze jeden błąd - sygnał nie dochodzi. (zaznaczyłem czerwoną wełną)

By zobaczyć linki musisz się zalogować lub zarejestrować

 

Minusem dla mnie jest to, że jeśli wyjdzie 0 to nie pokazuje tego na wyświetlaczu, a to tylko kawałek dekodera bin>7-seg.


Użytkownik gelo1238 edytował ten post 09 August 2015 - 23:56


#13 Gablaw122

Gablaw122

    Bywalec

  • Użytkownik
  • 179 postów

Napisano 10 August 2015 - 06:25

Ale pozycję wy zapisania wybrałeś.

Jeszcze jedno miejsce może się zbugować. Już poprawiłem po swojemu.

By zobaczyć linki musisz się zalogować lub zarejestrować

-----------------------------------------------------

Jeszcze jeden błąd - sygnał nie dochodzi. (zaznaczyłem czerwoną wełną)

By zobaczyć linki musisz się zalogować lub zarejestrować

 

Minusem dla mnie jest to, że jeśli wyjdzie 0 to nie pokazuje tego na wyświetlaczu, a to tylko kawałek dekodera bin>7-seg.

Teraz działa ,czy konieczne były twoje poprawki ?

Co do zera - zaraz poprawiam.

Nie sądziłem że będzie tyle problemów ,mi działało bez zarzutów.

P.s Ten twój pomysł na odbudowanie tłoków jest naprawdę bardzo dobry ,mogę go wykorzystać ?



#14 Vargun

Vargun

    Nowy

  • Użytkownik
  • 42 postów

Napisano 10 August 2015 - 09:46

Bardzo fajny mechanizm, tylko ja bym trochę w tym pozmieniał, już piszę co:

-Kodery wyświetlacz można zrobić bardziej kompaktowe, nie mogę znaleźć żadnego zdjęcia w internecie więc jak chcesz wiedzieć o co chodzi to powiedz i sam zrobię jakiegoś screena.

-Subtraktory są zbędne, liczby binarne ujemne zapisuje się jako -x+[carry in]-[carry out] to znaczy, że do odejmowania starczą addery wyposażone w bramkę która może negować wejście lub nie oraz z możliwością włączania in-a i blokowania out-a przy odejmowaniu. Stracisz na tym ok 0,2s ale zaoszczędzisz miejsce.

-Ogranicz pistony a tym bardziej piach, w takim małym projekcie tego raczej nie odczujesz, ale w większych takie słupy z piachu już nie starczą, pomimo, że piach znajduje się w obszarze renderowania to podnosi się, ale nie koniecznie opada, a pistony po prostu często się bugują i są z nimi problemy ponieważ sygnał na 2 klockach nad pistonem nie włączy go ale nie pozwoli mu się wyłączyć, rozwiązaniem na to są np. pół płytki i glowstone ale to i tak pierdzielenie się z tym. 


  • Gablaw122 lubi to

#15 Gablaw122

Gablaw122

    Bywalec

  • Użytkownik
  • 179 postów

Napisano 10 August 2015 - 12:45

Bardzo fajny mechanizm, tylko ja bym trochę w tym pozmieniał, już piszę co:

-Kodery wyświetlacz można zrobić bardziej kompaktowe, nie mogę znaleźć żadnego zdjęcia w internecie więc jak chcesz wiedzieć o co chodzi to powiedz i sam zrobię jakiegoś screena.

-Subtraktory są zbędne, liczby binarne ujemne zapisuje się jako -x+[carry in]-[carry out] to znaczy, że do odejmowania starczą addery wyposażone w bramkę która może negować wejście lub nie oraz z możliwością włączania in-a i blokowania out-a przy odejmowaniu. Stracisz na tym ok 0,2s ale zaoszczędzisz miejsce.

-Ogranicz pistony a tym bardziej piach, w takim małym projekcie tego raczej nie odczujesz, ale w większych takie słupy z piachu już nie starczą, pomimo, że piach znajduje się w obszarze renderowania to podnosi się, ale nie koniecznie opada, a pistony po prostu często się bugują i są z nimi problemy ponieważ sygnał na 2 klockach nad pistonem nie włączy go ale nie pozwoli mu się wyłączyć, rozwiązaniem na to są np. pół płytki i glowstone ale to i tak pierdzielenie się z tym. 

1.Patrząc na twoje umiejętności z czerwonym proszkiem (szczególnie komputer) bardzo chętnie zobaczyłbym te kodery i byłbym wdzięczny za podesłanie screenów.

2.Ciekawe ,wielkie dzięki za radę ,nie myślałem że można to tak zrobić ,raczej wykorzystam.

3.Patrząc na to jak te tłoki się bugują to faktycznie postaram się zmniejszyć ich ilość. 



#16 Vargun

Vargun

    Nowy

  • Użytkownik
  • 42 postów

Napisano 10 August 2015 - 15:16

Nie znalazłem nigdzie tego kodera gdyż już od dawna nie używałem wyświetlaczy segmentowych, ale zbudowałem taki na szybko 

By zobaczyć linki musisz się zalogować lub zarejestrować

 Nie jest jakoś bardziej zaawansowany ale o wiele łatwiej się go programuje i zajmuje mniej miejsca.


Użytkownik Vargun edytował ten post 10 August 2015 - 15:17


#17 Gablaw122

Gablaw122

    Bywalec

  • Użytkownik
  • 179 postów

Napisano 11 August 2015 - 10:01

Nie znalazłem nigdzie tego kodera gdyż już od dawna nie używałem wyświetlaczy segmentowych, ale zbudowałem taki na szybko 

By zobaczyć linki musisz się zalogować lub zarejestrować

 Nie jest jakoś bardziej zaawansowany ale o wiele łatwiej się go programuje i zajmuje mniej miejsca.

Powiem tak - nie lubię wyświetlaczy tłokowych. Sam układ kabli super kompaktowy ,ale moim zdanie wyświetlacz lampowy jest po prostu dużo ładniejszy ,ale to kwestia gustu.



#18 Vargun

Vargun

    Nowy

  • Użytkownik
  • 42 postów

Napisano 11 August 2015 - 12:49

Powiem tak - nie lubię wyświetlaczy tłokowych. Sam układ kabli super kompaktowy ,ale moim zdanie wyświetlacz lampowy jest po prostu dużo ładniejszy ,ale to kwestia gustu.

Sam nie używam tłokowych, tak tylko je postawiłem bo akurat na tym świecie miałem je pod ręką :D



#19 gelo1238

gelo1238

    gelo1238

  • Użytkownik
  • 480 postów
  • gelo1238

Napisano 11 August 2015 - 17:46

Jeśli chodzi o te tłoki to używaj ile chcesz, jest to po prostu obejście buga (zawsze włączony piston) i nie jestem autorem tego. Kabel zawsze można postawić obok pistonów, nie powoduje bugów.



#20 Vargun

Vargun

    Nowy

  • Użytkownik
  • 42 postów

Napisano 11 August 2015 - 18:51

Jeśli chodzi o te tłoki to używaj ile chcesz, jest to po prostu obejście buga (zawsze włączony piston) i nie jestem autorem tego. Kabel zawsze można postawić obok pistonów, nie powoduje bugów.

No nie wiem... często jest to po prostu niemożliwe w bardziej złożonych konstrukcjach.







Również z jednym lub większą ilością słów kluczowych: kalkulator, 1.5.1, 5 bit