Агуулгын хүснэгт:

Хоёртын тооноос аравтын тооны машин: 8 алхам
Хоёртын тооноос аравтын тооны машин: 8 алхам

Видео: Хоёртын тооноос аравтын тооны машин: 8 алхам

Видео: Хоёртын тооноос аравтын тооны машин: 8 алхам
Видео: Trinary Time Capsule 2024, Долдугаар сарын
Anonim
Хоёртын тооноос аравтын тооны машин
Хоёртын тооноос аравтын тооны машин

Компьютерийн инженерчлэлийн арваннэгдүгээр ангийн хувьд би эцсийн төслийг шийдэх ёстой байсан. Эхэндээ би юу хийхээ мэдэхгүй байсан, учир нь үүнд тоног төхөөрөмжийн зарим бүрэлдэхүүн хэсгүүдийг оруулах шаардлагатай байв. Хэдэн өдрийн дараа манай ангийн охин надад хэдэн сарын өмнө бүтээсэн дөрвөн битийн адаптер дээр суурилсан төсөл хийе гэж хэлсэн. Тэр өдрийн дараа би дөрвөн битийн нэмэгчийн тусламжтайгаар хоёртын тооллыг аравтын бутархай болгон хөрвүүлэх боломжтой болсон.

Энэхүү төслийг бүтээхэд маш их судалгаа шаардагддаг бөгөөд үүнд бүрэн ба хагас зуурагч хэрхэн ажилладагийг ойлгох шаардлагатай байдаг.

Алхам 1: Шаардлагатай материал

Энэхүү төслийн хувьд танд дараах материалууд хэрэгтэй болно.

  • Ардуино НҮБ
  • дөрвөн талхны самбар
  • есөн вольтын батерей
  • долоон XOR хаалга (2 XOR чип)
  • долоон ба хаалга (2 ба чипс)
  • гурван OR хаалга (1 OR чип)
  • таван LED
  • найман 330 ом эсэргүүцэл
  • LCD дэлгэц
  • эрэгтэй, эмэгтэй дөрвөн утас
  • эрэгтэй, эрэгтэй олон утас
  • утас хуулагч
  • нийтлэг анод RGB LED

Зардал (утаснаас бусад): 79.82 доллар

Бүх материалын өртгийг ABRA электроникаас олсон.

Алхам 2: 4 бит Adder -ийг ойлгох

4 бит Adder -ийн тухай ойлголт
4 бит Adder -ийн тухай ойлголт

Эхлэхээсээ өмнө дөрвөн битийн нийлүүлэгч хэрхэн ажилладагийг ойлгох хэрэгтэй. Бид энэ хэлхээг анх хараад хагас нэмэгчийн хэлхээ, гурван бүрэн нийлүүлэгчийн хэлхээ байгааг анзаарах болно. Дөрвөн битийн нийлүүлэгч нь бүтэн ба хагас нийлүүлэгчийн хослол учраас би энэ хоёр төрлийн нийлүүлэгч хэрхэн ажилладаг талаар тайлбарласан видео орууллаа.

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

Алхам 3: 4 бит Adder -ийг бүтээх

4 бит аддер бүтээх
4 бит аддер бүтээх
4 бит аддер бүтээх
4 бит аддер бүтээх

Дөрвөн битийн зуурагчийг хэрхэн яаж бүтээх талаар тайлбарлах нь маш их утастай холбоотой байдаг. Эдгээр зургуудыг үндэслэн би энэ хэлхээг бий болгохын тулд хэдэн заль мэх өгч чадна. Нэгдүгээрт, логик чипээ хэрхэн зохион байгуулах нь маш чухал байж магадгүй юм. Цэвэр хэлхээтэй байхын тулд чипээ дараах дарааллаар захиалаарай: XOR, AND, OR, AND, XOR. Энэхүү захиалгыг авснаар таны тойрог эмх цэгцтэй байхаас гадна зохион байгуулахад маш хялбар болно.

Өөр нэг гайхалтай арга бол зуурагч бүрийг нэг нэгээр нь, баруун талаас зүүн тийш барих явдал юм. Олон хүмүүсийн хийсэн нийтлэг алдаа бол бүх хавсаргагчийг нэгэн зэрэг хийх явдал юм. Үүнийг хийснээр та утсыг эвдэж болно. 4 битийн нэмэгчийн нэг алдаа нь бүх зүйл ажиллахгүй болоход хүргэж болзошгүй юм.

Алхам 4: Цахилгаан хэлхээг хүчдэл ба газаар хангах

9 вольтын батерейг ашиглан дөрвөн битийн зуурагчийг багтаасан талхны хавтанг хүчээр хангаж, газардуулаарай. Үлдсэн 3 талхны самбарыг Arduino UNO -ээр дамжуулан хүчээр хангаж, газардуулаарай.

Алхам 5: LED -ийг холбох

Утасны LED
Утасны LED

Энэхүү төслийн хувьд таван LED -ийг оролт, гаралтын төхөөрөмж болгон ашиглах болно. LED нь гаралтын төхөөрөмжийн хувьд хоёр битийн тоог гэрэлтүүлэх бөгөөд энэ нь дөрвөн битийн нэмэгчийн оруулсан оролтоос хамаарна. Оруулах төхөөрөмжийн хувьд аль LED асаж, унтрахаас хамаарч бид хөрвүүлсэн хоёртын дугаарыг LCD дэлгэц дээр аравтын бутархай болгон оруулах боломжтой болно. LED -ийг утсаар холбохын тулд та дөрвөн битийн нийлүүлэгчээс үүссэн нийлбэрийн нэгийг LED -ийн анод хөлтэй холбоно (LED -ийн урт хөл), гэхдээ энэ хоёрын хооронд 330 ом эсэргүүцэл байрлуулна. Дараа нь LED -ийн катодын хөлийг (LED -ийн богино хөл) газардуулгатай холбоно. Резистор ба нийлмэл утасны хооронд эрэгтэй, эрэгтэй утсыг Arduino UNO дээрх дижитал зүү рүү холбоно уу. Үлдсэн гурван нийлбэр болон гүйцэтгэлийн хувьд энэ алхамыг давтана. Миний ашигладаг дижитал тээглүүр нь 2, 3, 4, 5, 6 байв.

Алхам 6: Нийтлэг анодын RGB LED -ийг холбох

Нийтлэг анодын RGB LED утастай
Нийтлэг анодын RGB LED утастай

Энэхүү төслийн хувьд энэхүү RGB LED -ийн зорилго нь LCD дэлгэц дээр аравтын бутархай шинэ тоо үүсэх бүрт өнгийг өөрчлөх явдал юм. Та нийтлэг анод RGB LED -ийг анх харахад 4 хөлтэй болохыг анзаарах болно; улаан гэрэл хөл, хүч (анод) хөл, ногоон гэрэл хөл, цэнхэр гэрэл хөл. Цахилгаан (анод) хөлийг 5 вольтын хүчээр цахилгаан дамжуулах хоолойд холбоно. Үлдсэн гурван өнгийн хөлийг 330 ом эсэргүүцэлтэй холбоно уу. Эсэргүүцлийн нөгөө үзүүрт эрэгтэй, эрэгтэй утсыг ашиглан Arduino дээрх PWM dgital зүүгээр холбоно уу. ХОУХД -ийн дижитал зүү нь хажууд нь тасархай шугамтай аливаа дижитал зүү юм. Миний ашиглаж байсан ХОУХ -ны зүү нь 9, 10, 11 байсан.

Алхам 7: LCD дэлгэцийг холбох

LCD дэлгэцийг холбох
LCD дэлгэцийг холбох

Энэхүү төслийн хувьд LCD дэлгэц нь хөрвүүлсэн хоёртын тоог аравтын бутархай болгон гаргах болно. Бид LCD дэлгэцийг харахад 4 эрэгтэй зүү байгааг анзаарах болно. Эдгээр тээглүүрүүд нь VCC, GND, SDA, SCL юм. VCC -ийн хувьд эрэгтэй, эмэгтэй утсыг ашиглан VCC зүүг талхны самбар дээрх цахилгаан төмөр замд холбоно. Энэ нь VCC зүүг 5 вольтоор хангах болно GND зүүг газардуулах төмөр замд эрэгтэй, эмэгтэй утсаар холбоно. SDA ба SCL тээглүүрийн тусламжтайгаар эрэгтэй, эмэгтэй утас бүхий аналог пинтэй холбоно уу. Би SCL зүүг аналог A5 зүү, SDA зүүг аналог пин A4 -т холбосон.

Алхам 8: Код бичих

Би энэ төслийн барилгын хэсгийг тайлбарласны дараа кодыг эхлүүлье. Нэгдүгээрт, бид эхлээд дараах сангуудыг татаж аваад импортлох хэрэгтэй; LiquidCrystal_I2C номын сан, утас номын сан.

#оруулах #оруулах

Үүнийг хийсний дараа шаардлагатай бүх хувьсагчийг зарлах хэрэгтэй. Ямар ч төрлийн кодын хувьд та эхлээд хувьсагчаа зарлах ёстой.

const int digit1 = 2;

const int оронтой2 = 3;

const int digit3 = 4;

const int digit4 = 5;

const int оронтой 5 = 6;

int digitum1 = 0;

int digitum2 = 0;

int digitum3 = 0;

int digitum4 = 0;

int digitum5 = 0;

char array1 = "Хоёртын тооноос аравтын хооронд";

char array2 = "Хөрвүүлэгч";

int tim = 500; // хойшлуулах хугацааны утга

const int redPin = 9;

const int greenPin = 10;

const int bluePin = 11;

COMMON_ANODE -ийг тодорхойлох

LiquidCrystal_I2C lcd (0x27, 16, 2);

Void setup () хэсэгт та бүх хувьсагчийнхаа зүү төрлийг зарлана. Та analogWrite () ашиглаж байгаа тул та цуваа эхлэх аргыг ашиглах болно

хүчингүй тохиргоо ()

{

Цуваа эхлэх (9600);

pinMode (оронтой1, оролт);

pinMode (оронтой2, оролт);

pinMode (digit3, INPUT);

pinMode (оронтой4, оролт);

pinMode (оронтой5, оролт);

lcd.init ();

lcd.backlight ();

pinMode (redPin, OUTPUT);

pinMode (greenPin, OUTPUT);

pinMode (bluePin, OUTPUT);

Void setup () хэсэгт би энэ төслийн нэрийг бичсэн мессеж үүсгэхийн тулд for цикл үүсгэсэн. Энэ нь яагаад void loop () дотор байхгүй байгаа шалтгаан нь хэрэв энэ хоосон орон зайд байгаа бол мессеж дахин давтагдах болно

lcd.setCursor (15, 0); // курсорыг 15 -р баганын 0 -р мөрөнд тохируулна уу

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

{

lcd.scrollDisplayLeft (); // Дэлгэцийн агуулгыг зүүн тийш нэг зай руу гүйлгэнэ.

lcd.print (array1 [positionCounter1]); // Зурвасыг LCD дэлгэц дээр хэвлэх.

саатал (цаг); // 250 микросекунд хүлээнэ үү

}

lcd.clear (); // LCD дэлгэцийг цэвэрлэж, курсорыг зүүн дээд буланд байрлуулна.

lcd.setCursor (15, 1); // курсорыг 15 -р баганын 1 -р мөрөнд тохируулна уу

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

{

lcd.scrollDisplayLeft (); // Дэлгэцийн агуулгыг зүүн тийш нэг зай руу гүйлгэнэ.

lcd.print (array2 [positionCounter]); // Зурвасыг LCD дэлгэц дээр хэвлэх.

саатал (tim); // 250 микросекунд хүлээнэ үү

}

lcd.clear (); // LCD дэлгэцийг цэвэрлэж, курсорыг зүүн дээд буланд байрлуулна.

}

Бид void тохиргоог () дуусгасны дараа void loop () руу шилжье. Хоосон орон зайд би хэд хэдэн if-else мэдэгдэл үүсгэж, зарим гэрэл асах, унтрах үед дэлгэц дээр тодорхой аравтын тоог харуулах болно. Би хоосон тойрог дотор юу байгааг харуулсан баримт бичиг болон миний үүсгэсэн бусад олон хоосон зайг хавсаргасан болно. Баримт бичигтэй танилцахын тулд энд дарна уу

Одоо та кодоо ажиллуулж, шинэ хоёртын тооллыг аравтын бутархай руу хөрвүүлэхэд л хангалттай.

Зөвлөмж болгож буй: