Spisu treści:

Kalkulator binarny na dziesiętny: 8 kroków
Kalkulator binarny na dziesiętny: 8 kroków

Wideo: Kalkulator binarny na dziesiętny: 8 kroków

Wideo: Kalkulator binarny na dziesiętny: 8 kroków
Wideo: Zamiana systemu 10 na binarny i odwrotnie 2024, Lipiec
Anonim
Kalkulator binarny na dziesiętny
Kalkulator binarny na dziesiętny

Na jedenastą klasę inżynierii komputerowej musiałem zdecydować się na ostateczny projekt. Na początku nie wiedziałem, co zrobić, ponieważ musiało zawierać pewne elementy sprzętowe. Po kilku dniach kolega z klasy powiedział mi, żebym zrobił projekt oparty na czterobitowym sumatorze, który stworzyliśmy kilka miesięcy temu. Po tym dniu, używając mojego czterobitowego sumatora, udało mi się stworzyć konwerter binarny na dziesiętny.

Stworzenie tego projektu wymaga wielu badań, w tym przede wszystkim zrozumienia działania pełnego i pół sumatora.

Krok 1: Potrzebne materiały

Do tego projektu potrzebne będą następujące materiały:

  • Arduino UNO
  • cztery płytki chlebowe
  • bateria dziewięciowoltowa
  • siedem bramek XOR (2 chipy XOR)
  • siedem bramek AND (2 chipy AND)
  • trzy bramki OR (1 chip OR)
  • pięć diod LED
  • osiem rezystorów 330 omów
  • wyświetlacz LCD
  • cztery przewody męsko-żeńskie
  • dużo przewodów męsko-męskich
  • ściągacz izolacji
  • wspólna anoda RGB LED

Koszt (bez przewodów): 79,82 USD

Wszystkie koszty materiałów zostały znalezione na elektronice ABRA.

Krok 2: Zrozumienie 4-bitowego sumatora

Zrozumienie 4-bitowego sumatora
Zrozumienie 4-bitowego sumatora

Zanim zaczniemy, musisz zrozumieć, jak działa czterobitowy sumator. Kiedy po raz pierwszy spojrzymy na ten obwód, zauważysz, że istnieje pół obwodu sumatora i trzy pełne obwody sumatora. Ponieważ czterobitowy sumator jest kombinacją pełnego i połowicznego sumatora, opublikowałem film wyjaśniający, jak działają oba typy sumatorów.

www.youtube.com/watch?v=mZ9VWA4cTbE&t=619s

Krok 3: Budowanie 4-bitowego sumatora

Budowanie 4-bitowego sumatora
Budowanie 4-bitowego sumatora
Budowanie 4-bitowego sumatora
Budowanie 4-bitowego sumatora

Wyjaśnienie, jak zbudować czterobitowy sumator, jest bardzo trudne, ponieważ wymaga dużo okablowania. Na podstawie tych zdjęć mogę podać kilka sztuczek, aby zbudować ten obwód. Po pierwsze, sposób, w jaki układasz układy logiczne, może być bardzo ważny. Aby mieć zgrabny obwód, zamów żetony w następującej kolejności: XOR, AND, OR, AND, XOR. Dzięki temu zamówieniu nie tylko Twój obwód będzie schludny, ale także bardzo łatwy do zorganizowania.

Kolejną świetną sztuczką jest budowanie każdego sumatora pojedynczo i od prawej do lewej strony. Częstym błędem popełnianym przez wiele osób jest jednoczesne wykonywanie wszystkich sumatorów. W ten sposób możesz zepsuć okablowanie. Jeden błąd w 4-bitowym sumatorze może spowodować, że całość nie zadziała,

Krok 4: Doprowadzenie zasilania i uziemienia do obwodu

Używając 9-woltowej baterii, zapewnij zasilanie i uziemienie płytce stykowej, która będzie zawierać czterobitowy sumator. Dla pozostałych 3 płytek stykowych zapewnij zasilanie i uziemienie przez Arduino UNO.

Krok 5: Okablowanie diod LED

Okablowanie diody LED
Okablowanie diody LED

W tym projekcie pięć diod LED zostanie wykorzystanych jako urządzenie wejściowe i wyjściowe. Jako urządzenie wyjściowe, dioda LED będzie świecić liczbą binarną, w zależności od wejść wprowadzonych do czterobitowego sumatora. Jako urządzenie wejściowe, w zależności od tego, które diody LED są włączone i wyłączone, będziemy mogli wyświetlać przekonwertowaną liczbę binarną na wyświetlaczu LCD jako liczbę dziesiętną. Aby okablować diodę LED, podłącz jedną z sum utworzonych przez czterobitowy sumator do nogi anodowej diody LED (długa noga diody LED), jednak pomiędzy tymi dwoma umieść rezystor 330 omów. Następnie podłącz nogę katodową diody LED (krótką nogę diody LED) do szyny uziemiającej. Pomiędzy rezystorem a przewodem sumującym podłącz przewód męski do męskiego do dowolnego pinu cyfrowego w Arduino UNO. Powtórz ten krok dla trzech pozostałych sum i wykonania. Użyłem pinów cyfrowych 2, 3, 4, 5 i 6.

Krok 6: Okablowanie wspólnej anody RGB LED

Okablowanie wspólnej anody RGB LED
Okablowanie wspólnej anody RGB LED

W tym projekcie celem tej diody LED RGB jest zmiana kolorów za każdym razem, gdy na wyświetlaczu LCD zostanie utworzona nowa liczba dziesiętna. Kiedy po raz pierwszy spojrzysz na wspólną anodę LED RGB, zauważysz, że ma ona 4 nogi; noga z czerwonym światłem, noga zasilająca (anoda), noga z zielonym światłem i noga z niebieskim światłem. Noga zasilająca (anoda) zostanie podłączona do szyny zasilającej, otrzymując 5 woltów. Połącz pozostałe trzy kolorowe nogi z rezystorami 330 omów. Na drugim końcu rezystora użyj przewodu męskiego do męskiego, aby podłączyć go do cyfrowego pinu PWM na Arduino. Cyfrowa szpilka PWM to dowolna szpilka cyfrowa z falistą linią obok niej. Użyłem pinów PWM 9, 10 i 11.

Krok 7: Okablowanie wyświetlacza LCD

Podłączanie wyświetlacza LCD
Podłączanie wyświetlacza LCD

W tym projekcie wyświetlacz LCD wyświetli przekonwertowaną liczbę binarną na ułamek dziesiętny. Kiedy spojrzymy na wyświetlacz LCD, zauważymy 4 męskie piny. Te piny to VCC, GND, SDA i SCL. W przypadku VCC użyj przewodu męskiego do żeńskiego, aby podłączyć pin VCC do szyny zasilającej na płytce stykowej. Zapewni to 5 woltów do styku VCC. W przypadku styku GND, podłącz go do szyny uziemiającej za pomocą przewodu męskiego do żeńskiego. Za pomocą pinów SDA i SCL podłącz go do pinu analogowego z przewodem męskim na żeńskim. Podłączyłem pin SCL do pinu analogowego A5, a pin SDA do pinu analogowego A4.

Krok 8: Pisanie kodu

Teraz, gdy wyjaśniłem już budowanie części tego projektu, zacznijmy teraz kod. Po pierwsze, musimy najpierw pobrać i zaimportować następujące biblioteki; biblioteka LiquidCrystal_I2C oraz biblioteka przewodów.

#włącz #włącz

Gdy to zrobisz, musisz zadeklarować wszystkie niezbędne zmienne. W każdym typie kodu musisz najpierw zadeklarować swoje zmienne.

const int cyfra1 = 2;

const int cyfra2 = 3;

const int cyfra3 = 4;

const int cyfra4 = 5;

const int cyfra5 = 6;

int cyfra1 = 0;

int cyfra2 = 0;

int cyfra3 = 0;

int cyfra4 = 0;

int cyfra5 = 0;

char array1="Dwójkowy na dziesiętny";

char array2="Konwerter";

int tim = 500; //wartość czasu opóźnienia

const int redPin = 9;

const int greenPin = 10;

const int bluePin = 11;

#define COMMON_ANODE

LiquidCrystal_I2C lcd (0x27, 16, 2);

W void setup() deklarujesz typ pinu dla wszystkich zmiennych. Użyjesz także serial begin, ponieważ używamy analogWrite()

pusta konfiguracja()

{

Serial.początek(9600);

pinMode(cyfra1, WEJŚCIE);

pinMode(cyfra2, WEJŚCIE);

pinMode(digit3, INPUT);

pinMode(cyfra4, WEJŚCIE);

pinMode(digit5, INPUT);

lcd.init();

podświetlenie LCD();

pinMode(redPin, WYJŚCIE);

pinMode(zielonyPin, WYJŚCIE);

pinMode (bluePin, WYJŚCIE);

W void setup() utworzyłem pętlę for, aby utworzyć komunikat z nazwą tego projektu. Powodem, dla którego nie ma go w void loop(), jest to, że jeśli jest w tym void, komunikat będzie się powtarzał

lcd.setCursor(15, 0); // ustaw kursor na kolumnę 15, wiersz 0

for (int LicznikPozycji1 = 0;LicznikPozycji1 <17;LicznikPozycji1++)

{

lcd.scrollDisplayLeft(); //Przewija zawartość wyświetlacza o jedno miejsce w lewo.

lcd.print(tablica1[LicznikPozycji1]); // Wydrukuj wiadomość na wyświetlaczu LCD.

opóźnienie(tim); //czekaj 250 mikrosekund

}

lcd.clear(); //Czyści ekran LCD i umieszcza kursor w lewym górnym rogu.

lcd.setCursor(15, 1); // ustaw kursor na kolumnę 15, wiersz 1

for (int LicznikPozycji = 0; LicznikPozycji < 9;LicznikPozycji++)

{

lcd.scrollDisplayLeft(); //Przewija zawartość wyświetlacza o jedno miejsce w lewo.

lcd.print(array2[LicznikPozycji]);// Wydrukuj komunikat na wyświetlaczu LCD.

delay(tim);//czekaj na 250 mikrosekund

}

lcd.clear(); //Czyści ekran LCD i umieszcza kursor w lewym górnym rogu.

}

Teraz, gdy skończyliśmy void setup(), przejdźmy do void loop(). W pętli void stworzyłem kilka instrukcji if-else, aby upewnić się, że gdy określone światła są włączone lub wyłączone, na wyświetlaczu zostanie wyświetlona określona liczba dziesiętna. Załączyłem dokument pokazujący, co znajduje się w mojej pętli pustki i wiele innych utworzonych przeze mnie pustych przestrzeni. Kliknij tutaj, aby zapoznać się z dokumentem

Teraz wszystko, co musisz zrobić, to uruchomić kod i cieszyć się nowym konwerterem binarnym na dziesiętny.

Zalecana: