สารบัญ:

สุดยอดนาฬิกา Arduino: 4 ขั้นตอน
สุดยอดนาฬิกา Arduino: 4 ขั้นตอน

วีดีโอ: สุดยอดนาฬิกา Arduino: 4 ขั้นตอน

วีดีโอ: สุดยอดนาฬิกา Arduino: 4 ขั้นตอน
วีดีโอ: Arduino UNO ทดสอบนาฬิกาดิจิตอลอ่านเวลาจาก DS3231 แสดงผลที่ 7 segmts 2024, กรกฎาคม
Anonim
นาฬิกา Arduino สุดเจ๋ง
นาฬิกา Arduino สุดเจ๋ง

เราได้เห็นหลายโครงการที่มี Arduino แต่ตอนนี้ ฉันจะแสดงวิธีสร้างนาฬิกาด้วย Arduino และจอ LCD 2 จอ มันเรียบง่าย แต่สนุกโดยสิ้นเชิง ทุกคนสามารถลองได้ ดังนั้นเตรียมตัวให้พร้อม!!!

ขั้นตอนที่ 1: รวบรวมวัสดุ

การรวบรวมวัสดุ
การรวบรวมวัสดุ

ถ้าคุณต้องการทำคุณจะต้องมีบางรายการ ไอเทมเหล่านี้หาซื้อได้ง่ายจากร้านค้าปลีกใกล้บ้านคุณ

สิ่งที่คุณต้องการ:

  1. Arduino UNO R3Neo
  2. Pixel Ring 24
  3. คณะกรรมการขนมปัง
  4. จอแอลซีดี 16x2
  5. ตัวต้านทาน 100 โอห์ม (2)
  6. ตัวต้านทาน 120 โอห์ม (2)
  7. ตัวต้านทาน 10 K โอห์ม (2)
  8. ปุ่มกด

แผนภาพของสิ่งเหล่านี้แสดงไว้ด้านบน คุณสามารถใช้ Bread board ใดก็ได้ คุณต้องการตัวต้านทาน 6 ตัว ค่าของมันจะถูกเขียนไว้ด้านบนในรายการ คุณจะต้องใช้สายไฟในการเชื่อมต่อ LCD เหล่านี้ที่คุณจะแสดงผล วิธีการเดินสายวงจรดูได้ในขั้นตอนต่อไป

ขั้นตอนที่ 2: การเดินสายไฟส่วนประกอบทั้งหมด

การเดินสายไฟส่วนประกอบทั้งหมด
การเดินสายไฟส่วนประกอบทั้งหมด
การเดินสายไฟส่วนประกอบทั้งหมด
การเดินสายไฟส่วนประกอบทั้งหมด
การเดินสายไฟส่วนประกอบทั้งหมด
การเดินสายไฟส่วนประกอบทั้งหมด

สิ่งที่คุณต้องการ ฉันได้แสดงในขั้นตอนก่อนหน้านี้ดังนั้นให้นำวงจรสายบอร์ดขนมปังของคุณไปด้วย

ขั้นตอนการเดินสายไฟ:

  1. วางตัวต้านทาน 100 โอห์มที่ด้านบนของบอร์ดขนมปังบนเส้นลบ
  2. วางตัวต้านทาน 120 โอห์มที่ด้านบนของบอร์ดขนมปังบน Positive Line
  3. วางปุ่มกด (แผนภาพแสดงด้านบน)
  4. วางตัวต้านทาน 10 K Ohm ไว้ใต้ปุ่มกด
  5. เชื่อมต่อตัวต้านทาน 100 โอห์ม (ทั้งคู่) กับจอ LCD ด้วย 'LED Cathode'
  6. เชื่อมต่อตัวต้านทาน 120 โอห์ม (ทั้งคู่) กับจอ LCD ด้วย 'LED Anode'
  7. ต่อขั้วลบของ breadboard จากบรรทัดบนเป็น 'Read/Write'
  8. ต่อขั้วลบของ breadboard จากบรรทัดบนไปที่ 'Contrast'
  9. ต่อขั้วบวกของ breadboard จากบรรทัดล่างถึง 'Vcc'
  10. เชื่อมต่อขั้วลบอื่นของ breadboard จากบรรทัดบนของ breadboard ไปที่ 'GND'
  11. ทำเช่นเดียวกันกับ LCD ที่ 2 เชื่อมต่อสิ่งเหล่านี้เหมือนก่อนหน้า
  12. เชื่อมต่อตัวต้านทานที่เหลือกับเส้นลบของบอร์ดขนมปัง
  13. ต่อปุ่มกดเข้ากับสายบวก
  14. เชื่อมต่อขั้วบวกและขั้วลบของบอร์ดขนมปังกับ "Neo Pixel Ring 24"

ตอนนี้ คุณได้เชื่อมต่อส่วนประกอบทั้งหมดแล้ว แต่อาร์ดิโนยังคงอยู่ แผนภาพนี้แสดงไว้ด้านบน

ขั้นตอนการเดินสายไฟของ Arduino กับส่วนประกอบทั้งหมด:

  1. เชื่อมต่อปุ่มกด (Terminal22) กับ A0 & A1 ของ Arduino
  2. เชื่อมต่อ GND กับขั้วลบของบอร์ดขนมปัง
  3. ต่อ 5V เข้ากับขั้วบวกของบอร์ดขนมปัง
  4. เชื่อมต่อ D13 ของ Arduino กับ "พลังของ " "Neo Pixel Ring 24"
  5. เชื่อมต่อ D7 ของ Arduino กับ "Register Select" ของ LCD1
  6. เชื่อมต่อ D8 ของ Arduino กับ "เปิดใช้งาน" ของ LCD 2
  7. เชื่อมต่อ D9 ของ Arduino กับ "DB4" ของ LCD 2
  8. เชื่อมต่อ D10 ของ Arduino กับ "DB5" ของ LCD 2
  9. เชื่อมต่อ D11 ของ Arduino กับ "DB6" ของ LCD 2
  10. เชื่อมต่อ D12 ของ Arduino กับ "DB7" ของ LCD 2
  11. เชื่อมต่อ D1 ของ Arduino กับ "Register Select" ของ LCD 1
  12. เชื่อมต่อ D2 ของ Arduino กับ "เปิดใช้งาน" ของ LCD 1
  13. เชื่อมต่อ D3 ของ Arduino กับ "DB4" ของ LCD 2
  14. เชื่อมต่อ D4 ของ Arduino กับ "DB5" ของ LCD 2
  15. เชื่อมต่อ D5 ของ Arduino กับ "DB6" ของ LCD 2
  16. เชื่อมต่อ D6 ของ Arduino กับ "DB7" ของ LCD 2

แผนภาพของส่วนประกอบทั้งหมดหลังจากเดินสายดังแสดงไว้ด้านบน

ขั้นตอนที่ 3: การเขียนโปรแกรม

การเขียนโปรแกรม
การเขียนโปรแกรม

คุณทำให้วงจรเสร็จสมบูรณ์ แต่มันใช้งานไม่ได้จนกว่าคุณจะตั้งโปรแกรมสำหรับโครงการนี้ หากคุณเป็นผู้เชี่ยวชาญและมีประสบการณ์ คุณจะตั้งโปรแกรมได้อย่างง่ายดาย ฉันหวังว่าคุณจะรู้จักซอฟต์แวร์ที่ใช้เพื่อการนี้ ตั้งโปรแกรมตามนั้นถ้าคุณต้องการสร้างการเปลี่ยนแปลงในการเขียนโปรแกรม คุณสามารถ แต่จำไว้ว่าต้องถูกต้อง มิฉะนั้นมันจะไม่ทำงาน. หากคุณไม่สามารถตั้งโปรแกรมได้ คุณสามารถคัดลอกจากที่นี่หรือนำมาจากแหล่งอื่น

#รวม

// LCD ด้านซ้าย LiquidCrystal lcd1(7, 8, 9, 10, 11, 12); // LCD LiquidCrystal lcd2 (1, 2, 3, 4, 5, 6);#include #ifdef _AVR_ #include #endif/ / NeoPixel Ring 24 #define PIN 13#define NUMPIXELS 24Adafruit_NeoPixel พิกเซล = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);int delayval = 50;long PreviousMillis = 0; ช่วงเวลายาว = 950; int วินาที = 0; int ชั่วโมง = 0;int hourButtonState = 0; int minButtonState = 0; ไบต์เต็ม [8] = { B11111, B11111, B11111, B11111, B11111, B11111, B11111, B11111, };ไบต์ halfL[8] = { B11111, B11111, B11111, B11111, B00000, B00000, B00000, B00000, };byte halfR[8] = { B00000, B00000, B00000, B00000, B11111, B11111, B11111, B11111, };// รูทีนการตั้งค่าจะทำงานหนึ่งครั้งเมื่อคุณกดรีเซ็ต: void setup() { // set หมุดปุ่ม pinMode (14, INPUT); // ตั้งค่า pinMode นาที (15, INPUT); // set hour // สร้างอักขระที่กำหนดเอง lcd1.createChar(0, halfR); lcd1.createChar (1, ครึ่งL); lcd1.createChar(2, เต็ม); lcd2.createChar(0, halfR); lcd2.createChar (1, ครึ่งL); lcd2.createChar(2, เต็ม); // ตั้งค่า LCD1 ขนาด lcd1.begin(16, 2); // ตั้งค่า LCD2 ขนาด lcd2.begin(16, 2); // แหวนพิกเซล pixels.begin(); // การตั้งค่าเริ่มต้น lcd1.clear(); num0lcd1(); lcd2.clear(); num0lcd2(); //pixels.setPixelColor(17, pixels. Color(0, 150, 0)); //pixels.setPixelColor(18, pixels. Color(0, 150, 0)); พิกเซล.show(); }// รูทีนลูปทำงานซ้ำแล้วซ้ำอีกตลอดไป: void loop() { hourButtonState = digitalRead(15); minButtonState = digitalRead (14); ถ้า (hourButtonState == สูง) { ชั่วโมง ++; runClock (); } ถ้า (minButtonState == สูง) { วินาที ++; runClock (); } ไม่ได้ลงนามยาว currentMillis = millis(); if (currentMillis - PreviousMillis > ช่วง) { ถ้า (วินาที == 59) { วินาที = 0; ถ้า (ชั่วโมง == 11) { ชั่วโมง = 0; } อื่น ๆ { ชั่วโมง ++; } } อื่น ๆ { วินาที ++; } PreviousMillis = ปัจจุบัน Millis; runClock (); } ล่าช้า(10); } เป็นโมฆะ runClock () { ถ้า (วินาที == 0) { lcd1.clear (); num0lcd1(); lcd2.clear(); num0lcd2(); } ถ้า (วินาที == 1 || วินาที == 11 || วินาที == 21 || วินาที == 31 || วินาที == 41 || วินาที == 51) { lcd1.clear(); num1lcd1(); } ถ้า (วินาที == 2 || วินาที == 12 || วินาที == 22 || วินาที == 32 || วินาที == 42 || วินาที == 52) { lcd1.clear(); num2lcd1(); } ถ้า (วินาที == 3 || วินาที == 13 || วินาที == 23 || วินาที == 33 || วินาที == 43 || วินาที == 53) { lcd1.clear(); num3lcd1(); } ถ้า (วินาที == 4 || วินาที == 14 || วินาที == 24 || วินาที == 34 || วินาที == 44 || วินาที == 54) { lcd1.clear(); num4lcd1(); } ถ้า (วินาที == 5 || วินาที == 15 || วินาที == 25 || วินาที == 35 || วินาที == 45 || วินาที == 55) { lcd1.clear(); num5lcd1(); } ถ้า (วินาที == 6 || วินาที == 16 || วินาที == 26 || วินาที == 36 || วินาที == 46 || วินาที == 56) { lcd1.clear(); num6lcd1(); } ถ้า (วินาที == 7 || วินาที == 17 || วินาที == 27 || วินาที == 37 || วินาที == 47 || วินาที == 57) { lcd1.clear(); num7lcd1(); } ถ้า (วินาที == 8 || วินาที == 18 || วินาที == 28 || วินาที == 38 || วินาที == 48 || วินาที == 58) { lcd1.clear(); num8lcd1(); } ถ้า (วินาที == 9 || วินาที == 19 || วินาที == 29 || วินาที == 39 || วินาที == 49 || วินาที == 59) { lcd1.clear(); num9lcd1(); } ถ้า (วินาที == 10) { lcd1.clear(); num0lcd1(); lcd2.clear(); num1lcd2(); } ถ้า (วินาที == 20) { lcd1.clear(); num0lcd1(); lcd2.clear(); num2lcd2(); } ถ้า (วินาที == 30) { lcd1.clear(); num0lcd1(); lcd2.clear(); num3lcd2(); } ถ้า (วินาที == 40) { lcd1.clear(); num0lcd1(); lcd2.clear(); num4lcd2(); } ถ้า (วินาที == 50) { lcd1.clear(); num0lcd1(); lcd2.clear(); num5lcd2(); } if (ชั่วโมง == 0) { pixels.setPixelColor(15, pixels. Color(0, 0, 0)); พิกเซล.setPixelColor(16, พิกเซล.สี(0, 0, 0)); พิกเซล.setPixelColor(17, พิกเซล.สี(0, 150, 0)); พิกเซล.setPixelColor(18, พิกเซล.สี(0, 150, 0)); พิกเซล.show(); } if (ชั่วโมง == 1) { pixels.setPixelColor(17, pixels. Color(0, 0, 0)); พิกเซล.setPixelColor(18, พิกเซล.สี(0, 0, 0)); พิกเซล.setPixelColor(19, พิกเซล.สี(0, 150, 0)); พิกเซล.setPixelColor(20, พิกเซล.สี(0, 150, 0)); พิกเซล.show(); } if (ชั่วโมง == 2) { pixels.setPixelColor(19, pixels. Color(0, 0, 0)); พิกเซล.setPixelColor(20, พิกเซล.สี(0, 0, 0)); พิกเซล.setPixelColor(21, พิกเซล.สี(0, 150, 0)); พิกเซล.setPixelColor(22, พิกเซล.สี(0, 150, 0)); พิกเซล.show(); } if (ชั่วโมง == 3) { pixels.setPixelColor(21, pixels. Color(0, 0, 0)); พิกเซล.setPixelColor(22, พิกเซล.สี(0, 0, 0)); พิกเซล.setPixelColor(23, พิกเซล.สี(0, 150, 0)); พิกเซล.setPixelColor(0, พิกเซล.สี(0, 150, 0)); พิกเซล.show(); } if (ชั่วโมง == 4) { pixels.setPixelColor(23, pixels. Color(0, 0, 0)); พิกเซล.setPixelColor(0, พิกเซล.สี(0, 0, 0)); พิกเซล.setPixelColor(1, พิกเซล.สี(0, 150, 0)); พิกเซล.setPixelColor(2, พิกเซล.สี(0, 150, 0)); พิกเซล.show(); } ถ้า (ชั่วโมง == 5) { pixels.setPixelColor (1, pixels. Color (0, 0, 0)); พิกเซล.setPixelColor(2, พิกเซล.สี(0, 0, 0)); พิกเซล.setPixelColor(3, พิกเซล.สี(0, 150, 0)); พิกเซล.setPixelColor(4, พิกเซล.สี(0, 150, 0)); พิกเซล.show(); } if (ชั่วโมง == 6) { pixels.setPixelColor(3, pixels. Color(0, 0, 0)); พิกเซล.setPixelColor(4, พิกเซล.สี(0, 0, 0)); พิกเซล.setPixelColor(5, พิกเซล.สี(0, 150, 0)); พิกเซล.setPixelColor(6, พิกเซล.สี(0, 150, 0)); พิกเซล.show(); } if (ชั่วโมง == 7) { pixels.setPixelColor(5, pixels. Color(0, 0, 0)); พิกเซล.setPixelColor(6, พิกเซล.สี(0, 0, 0)); พิกเซล.setPixelColor(7, พิกเซล.สี(0, 150, 0)); พิกเซล.setPixelColor(8, พิกเซล.สี(0, 150, 0)); พิกเซล.show(); } if (ชั่วโมง == 8) { pixels.setPixelColor(7, pixels. Color(0, 0, 0)); พิกเซล.setPixelColor(8, พิกเซล.สี(0, 0, 0)); พิกเซล.setPixelColor(9, พิกเซล.สี(0, 150, 0)); พิกเซล.setPixelColor(10, พิกเซล.สี(0, 150, 0)); พิกเซล.show(); } if (ชั่วโมง == 9) { pixels.setPixelColor(9, pixels. Color(0, 0, 0)); พิกเซล.setPixelColor(10, พิกเซล.สี(0, 0, 0)); พิกเซล.setPixelColor(11, พิกเซล.สี(0, 150, 0)); พิกเซล.setPixelColor(12, พิกเซล.สี(0, 150, 0)); พิกเซล.show(); } if (ชั่วโมง == 10) { pixels.setPixelColor(11, pixels. Color(0, 0, 0)); พิกเซล.setPixelColor(12, พิกเซล.สี(0, 0, 0)); พิกเซล.setPixelColor(13, พิกเซล.สี(0, 150, 0)); พิกเซล.setPixelColor(14, พิกเซล.สี(0, 150, 0)); พิกเซล.show(); } if (ชั่วโมง == 11) { pixels.setPixelColor(13, pixels. Color(0, 0, 0)); พิกเซล.setPixelColor(14, พิกเซล.สี(0, 0, 0)); พิกเซล.setPixelColor(15, พิกเซล.สี(0, 150, 0)); พิกเซล.setPixelColor(16, พิกเซล.สี(0, 150, 0)); พิกเซล.show(); } } โมฆะ num0lcd1 () { lcd1.setCursor(0, 0); lcd1.write(ไบต์(2)); // เต็ม lcd1.setCursor(0, 1); lcd1.write(ไบต์(2)); lcd1.setCursor(1, 1); lcd1.write(ไบต์(0)); // ครึ่งขวา lcd1.setCursor(1, 0); lcd1.write(ไบต์(1)); // ครึ่งซ้าย lcd1.setCursor(2, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(2, 0); lcd1.write(ไบต์(1)); lcd1.setเคอร์เซอร์(3, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(3, 0); lcd1.write(ไบต์(1)); lcd1.setเคอร์เซอร์(4, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(4, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(5, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(5, 0); lcd1.write(ไบต์(1)); lcd1.setเคอร์เซอร์(6, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(6, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(7, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(7, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(8, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(8, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(9, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(9, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(10, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(10, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(11, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(11, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(12, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(12, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(13, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(13, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(14, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(14, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(15, 1); lcd1.write(ไบต์(2)); lcd1.setCursor(15, 0); lcd1.write(ไบต์(2)); } โมฆะ num1lcd1 () { lcd1.setCursor(0, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(1, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(2, 1); lcd1.write(ไบต์(0)); lcd1.setเคอร์เซอร์(3, 1); lcd1.write(ไบต์(0)); lcd1.setเคอร์เซอร์(4, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(5, 1); lcd1.write(ไบต์(0)); lcd1.setเคอร์เซอร์(6, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(7, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(8, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(9, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(10, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(11, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(12, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(13, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(14, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(15, 1); lcd1.write(ไบต์(0)); } โมฆะ num2lcd1 () { lcd1.setCursor(0, 0); lcd1.write(ไบต์(2)); // เต็ม lcd1.setCursor(0, 1); lcd1.write(ไบต์(2)); lcd1.setCursor(1, 0); lcd1.write(ไบต์(1)); // ครึ่งซ้าย lcd1.setCursor(2, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(3, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(4, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(5, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(6, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(7, 1); lcd1.write(ไบต์(2)); lcd1.setCursor(7, 0); lcd1.write(ไบต์(2)); lcd1.setCursor(8, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(9, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(10, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(11, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(12, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(13, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(14, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(15, 1); lcd1.write(ไบต์(2)); lcd1.setCursor(15, 0); lcd1.write(ไบต์(2)); } โมฆะ num3lcd1 () { lcd1.setCursor(0, 0); lcd1.write(ไบต์(2)); // เต็ม lcd1.setCursor(0, 1); lcd1.write(ไบต์(2)); lcd1.setCursor(1, 1); lcd1.write(ไบต์(0)); // ครึ่งขวา lcd1.setCursor(2, 1); lcd1.write(ไบต์(0)); lcd1.setเคอร์เซอร์(3, 1); lcd1.write(ไบต์(0)); lcd1.setเคอร์เซอร์(4, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(5, 1); lcd1.write(ไบต์(0)); lcd1.setเคอร์เซอร์(6, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(7, 1); lcd1.write(ไบต์(2)); lcd1.setCursor(7, 0); lcd1.write(ไบต์(2)); lcd1.setCursor(8, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(9, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(10, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(11, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(12, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(13, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(14, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(15, 1); lcd1.write(ไบต์(2)); lcd1.setCursor(15, 0); lcd1.write(ไบต์(2)); } โมฆะ num4lcd1 () { lcd1.setCursor(0, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(1, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(2, 1); lcd1.write(ไบต์(0)); lcd1.setเคอร์เซอร์(3, 1); lcd1.write(ไบต์(0)); lcd1.setเคอร์เซอร์(4, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(5, 1); lcd1.write(ไบต์(0)); lcd1.setเคอร์เซอร์(6, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(7, 1); lcd1.write(ไบต์(2)); lcd1.setCursor(7, 0); lcd1.write(ไบต์(2)); lcd1.setCursor(8, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(8, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(9, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(9, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(10, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(10, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(11, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(11, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(12, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(12, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(13, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(13, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(14, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(14, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(15, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(15, 1); lcd1.write(ไบต์(0)); } โมฆะ num5lcd1 () { lcd1.setCursor (0, 0); lcd1.write(ไบต์(2)); // เต็ม lcd1.setCursor(0, 1); lcd1.write(ไบต์(2)); lcd1.setCursor(1, 1); lcd1.write(ไบต์(0)); // ครึ่งขวา lcd1.setCursor(2, 1); lcd1.write(ไบต์(0)); lcd1.setเคอร์เซอร์(3, 1); lcd1.write(ไบต์(0)); lcd1.setเคอร์เซอร์(4, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(5, 1); lcd1.write(ไบต์(0)); lcd1.setเคอร์เซอร์(6, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(7, 1); lcd1.write(ไบต์(2)); lcd1.setCursor(7, 0); lcd1.write(ไบต์(2)); lcd1.setCursor(8, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(9, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(10, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(11, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(12, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(13, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(14, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(15, 1); lcd1.write(ไบต์(2)); lcd1.setCursor(15, 0); lcd1.write(ไบต์(2)); } โมฆะ num6lcd1 () { lcd1.setCursor (0, 0); lcd1.write(ไบต์(2)); // เต็ม lcd1.setCursor(0, 1); lcd1.write(ไบต์(2)); lcd1.setCursor(1, 1); lcd1.write(ไบต์(0)); // ครึ่งขวา lcd1.setCursor(1, 0); lcd1.write(ไบต์(1)); // ครึ่งซ้าย lcd1.setCursor(2, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(2, 0); lcd1.write(ไบต์(1)); lcd1.setเคอร์เซอร์(3, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(3, 0); lcd1.write(ไบต์(1)); lcd1.setเคอร์เซอร์(4, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(4, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(5, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(5, 0); lcd1.write(ไบต์(1)); lcd1.setเคอร์เซอร์(6, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(6, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(7, 1); lcd1.write(ไบต์(2)); lcd1.setCursor(7, 0); lcd1.write(ไบต์(2)); lcd1.setCursor(8, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(9, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(10, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(11, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(12, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(13, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(14, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(15, 1); lcd1.write(ไบต์(2)); lcd1.setCursor(15, 0); lcd1.write(ไบต์(2)); } เป็นโมฆะ num7lcd1 () { lcd1.setCursor(0, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(1, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(2, 1); lcd1.write(ไบต์(0)); lcd1.setเคอร์เซอร์(3, 1); lcd1.write(ไบต์(0)); lcd1.setเคอร์เซอร์(4, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(5, 1); lcd1.write(ไบต์(0)); lcd1.setเคอร์เซอร์(6, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(7, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(8, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(9, 1); lcd1.write(ไบต์(0)); lcd1.setเคอร์เซอร์(10,1); lcd1.write(ไบต์(0)); lcd1.setCursor(11, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(12, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(13, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(14, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(15, 1); lcd1.write(ไบต์(2)); lcd1.setCursor(15, 0); lcd1.write(ไบต์(2)); } โมฆะ num8lcd1 () { lcd1.setCursor (0, 0); lcd1.write(ไบต์(2)); // เต็ม lcd1.setCursor(0, 1); lcd1.write(ไบต์(2)); lcd1.setCursor(1, 1); lcd1.write(ไบต์(0)); // ครึ่งขวา lcd1.setCursor(1, 0); lcd1.write(ไบต์(1)); // ครึ่งซ้าย lcd1.setCursor(2, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(2, 0); lcd1.write(ไบต์(1)); lcd1.setเคอร์เซอร์(3, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(3, 0); lcd1.write(ไบต์(1)); lcd1.setเคอร์เซอร์(4, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(4, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(5, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(5, 0); lcd1.write(ไบต์(1)); lcd1.setเคอร์เซอร์(6, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(6, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(7, 1); lcd1.write(ไบต์(2)); lcd1.setCursor(7, 0); lcd1.write(ไบต์(2)); lcd1.setCursor(8, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(8, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(9, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(9, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(10, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(10, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(11, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(11, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(12, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(12, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(13, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(13, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(14, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(14, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(15, 1); lcd1.write(ไบต์(2)); lcd1.setCursor(15, 0); lcd1.write(ไบต์(2)); } โมฆะ num9lcd1 () { lcd1.setCursor (0, 0); lcd1.write(ไบต์(2)); lcd1.setCursor(0, 1); lcd1.write(ไบต์(2)); lcd1.setCursor(1, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(2, 1); lcd1.write(ไบต์(0)); lcd1.setเคอร์เซอร์(3, 1); lcd1.write(ไบต์(0)); lcd1.setเคอร์เซอร์(4, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(5, 1); lcd1.write(ไบต์(0)); lcd1.setเคอร์เซอร์(6, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(7, 1); lcd1.write(ไบต์(2)); lcd1.setCursor(7, 0); lcd1.write(ไบต์(2)); lcd1.setCursor(8, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(8, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(9, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(9, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(10, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(10, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(11, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(11, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(12, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(12, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(13, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(13, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(14, 0); lcd1.write(ไบต์(1)); lcd1.setCursor(14, 1); lcd1.write(ไบต์(0)); lcd1.setCursor(15, 0); lcd1.write(ไบต์(2)); lcd1.setCursor(15, 1); lcd1.write(ไบต์(2)); } โมฆะ num0lcd2 () { lcd2.setCursor (0, 0); lcd2.write(ไบต์(2)); // เต็ม lcd2.setCursor(0, 1); lcd2.write(ไบต์(2)); lcd2.setCursor(1, 1); lcd2.write(ไบต์(0)); // ครึ่งขวา lcd2.setCursor(1, 0); lcd2.write(ไบต์(1)); // ครึ่งซ้าย lcd2.setCursor(2, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(2, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(3, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(3, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(4, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(4, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(5, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(5, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(6, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(6, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(7, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(7, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(8, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(8, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(9, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(9, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(10, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(10, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(11, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(11, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(12, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(12, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(13, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(13, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(14, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(14, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(15, 1); lcd2.write(ไบต์(2)); lcd2.setCursor(15, 0); lcd2.write(ไบต์(2)); } โมฆะ num1lcd2 () { lcd2.setCursor(0, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(1, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(2, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(3, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(4, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(5, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(6, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(7, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(8, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(9, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(10, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(11, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(12, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(13, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(14, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(15, 1); lcd2.write(ไบต์(0)); } โมฆะ num2lcd2 () { lcd2.setCursor (0, 0); lcd2.write(ไบต์(2)); // เต็ม lcd2.setCursor(0, 1); lcd2.write(ไบต์(2)); lcd2.setCursor(1, 0); lcd2.write(ไบต์(1)); // ครึ่งซ้าย lcd2.setCursor(2, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(3, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(4, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(5, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(6, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(7, 1); lcd2.write(ไบต์(2)); lcd2.setCursor(7, 0); lcd2.write(ไบต์(2)); lcd2.setCursor(8, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(9, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(10, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(11, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(12, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(13, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(14, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(15, 1); lcd2.write(ไบต์(2)); lcd2.setCursor(15, 0); lcd2.write(ไบต์(2)); } โมฆะ num3lcd2 () { lcd2.setCursor (0, 0); lcd2.write(ไบต์(2)); // เต็ม lcd2.setCursor(0, 1); lcd2.write(ไบต์(2)); lcd2.setCursor(1, 1); lcd2.write(ไบต์(0)); // ครึ่งขวา lcd2.setCursor(2, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(3, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(4, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(5, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(6, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(7, 1); lcd2.write(ไบต์(2)); lcd2.setCursor(7, 0); lcd2.write(ไบต์(2)); lcd2.setCursor(8, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(9, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(10, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(11, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(12, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(13, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(14, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(15, 1); lcd2.write(ไบต์(2)); lcd2.setCursor(15, 0); lcd2.write(ไบต์(2)); } โมฆะ num4lcd2 () { lcd2.setCursor(0, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(1, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(2, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(3, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(4, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(5, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(6, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(7, 1); lcd2.write(ไบต์(2)); lcd2.setCursor(7, 0); lcd2.write(ไบต์(2)); lcd2.setCursor(8, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(8, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(9, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(9, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(10, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(10, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(11, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(11, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(12, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(12, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(13, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(13, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(14, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(14, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(15, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(15, 1); lcd2.write(ไบต์(0)); } โมฆะ num5lcd2 () { lcd2.setCursor (0, 0); lcd2.write(ไบต์(2)); // เต็ม lcd2.setCursor(0, 1); lcd2.write(ไบต์(2)); lcd2.setCursor(1, 1); lcd2.write(ไบต์(0)); // ครึ่งขวา lcd2.setCursor(2, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(3, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(4, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(5, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(6, 1); lcd2.write(ไบต์(0)); lcd2.setCursor(7, 1); lcd2.write(ไบต์(2)); lcd2.setCursor(7, 0); lcd2.write(ไบต์(2)); lcd2.setCursor(8, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(9, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(10, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(11, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(12, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(13, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(14, 0); lcd2.write(ไบต์(1)); lcd2.setCursor(15, 1); lcd2.write(ไบต์(2)); lcd2.setCursor(15, 0); lcd2.write(ไบต์(2)); }

ขั้นตอนที่ 4: การทำงานและการตกแต่ง Touch

สัมผัสการทำงานและการตกแต่ง
สัมผัสการทำงานและการตกแต่ง

เชื่อมต่อ Arduino ของคุณกับคอมพิวเตอร์และปล่อยให้มันทำงาน ฉันหวังว่านาฬิกาของคุณจะใช้งานได้ มันใช้งานได้ แต่ดูรกมาก ตัวต้านทานและสายไฟจำนวนมากจึงไม่ดี ดังนั้น ใส่ส่วนประกอบทั้งหมดลงในกล่องแล้วตัดหนึ่งรูสำหรับ LCD ระบายสีกล่องและให้รูปลักษณ์ของนาฬิกาดิจิตอล

ฉันไม่ได้สร้างมันขึ้นมาจริง แต่ฉันได้ออกแบบมันใน AUTODESK CIRCUITS ฉันจะออกแบบมันจริงและโพสต์วิดีโอการทำงาน ฉันไม่ใช่เจ้าของภาษา หากผิดพลาดประการใดแจ้งได้ในข้อความส่วนตัว และฉันขอโทษสำหรับความผิดพลาดนั้น ฉันยังได้แนวคิดบางอย่างจาก "นาฬิกา Arduino ของแดน" พบคุณกับผู้แนะนำอื่น

แนะนำ: