สารบัญ:

HackerBox 0046: ความคงอยู่: 9 ขั้นตอน
HackerBox 0046: ความคงอยู่: 9 ขั้นตอน

วีดีโอ: HackerBox 0046: ความคงอยู่: 9 ขั้นตอน

วีดีโอ: HackerBox 0046: ความคงอยู่: 9 ขั้นตอน
วีดีโอ: Day 3 - HTB Cyber Santa CTF: HackTheBox Capture The Flag 2021 2024, กรกฎาคม
Anonim
HackerBox 0046: ความคงอยู่
HackerBox 0046: ความคงอยู่

สวัสดี HackerBox แฮกเกอร์ทั่วโลก! ด้วย HackerBox 0046 เรากำลังทดลองกับจอแสดงผลกระดาษอิเล็กทรอนิกส์แบบถาวร การสร้างข้อความ LED ถาวรของการมองเห็น (POV) แพลตฟอร์มไมโครคอนโทรลเลอร์ Arduino การสร้างต้นแบบอิเล็กทรอนิกส์ และแบตเตอรีแบตเตอรี่แบบชาร์จไฟได้

คำแนะนำนี้มีข้อมูลสำหรับการเริ่มต้นกับ HackerBox 0046 ซึ่งสามารถซื้อได้ที่นี่จนกว่าของจะหมด หากคุณต้องการรับ HackerBox แบบนี้ในกล่องจดหมายของคุณทุกเดือน โปรดสมัครสมาชิกที่ HackerBoxes.com และเข้าร่วมการปฏิวัติ!

HackerBoxes เป็นบริการกล่องสมัครสมาชิกรายเดือนสำหรับผู้ที่ชื่นชอบอุปกรณ์อิเล็กทรอนิกส์และเทคโนโลยีคอมพิวเตอร์ - แฮ็กเกอร์ฮาร์ดแวร์ - ผู้ฝันถึงความฝัน

แฮ็คดาวเคราะห์

ขั้นตอนที่ 1: รายการเนื้อหาสำหรับ HackerBox 0046

รายการเนื้อหาสำหรับ HackerBox 0046
รายการเนื้อหาสำหรับ HackerBox 0046
  • โมดูล ePaper
  • Arduino UNO พร้อม MicroUSB
  • โล่การสร้างต้นแบบ UNO สองอัน
  • ธนาคารพลังงานแบตเตอรี่ USB 18650
  • ไฟ LED สีแดง 5 มม. แบบกระจาย
  • ตัวต้านทาน 560 โอห์ม
  • สายจัมเปอร์ดูปองท์ชาย-หญิง
  • ที่ใส่แบตเตอรี่ 9V
  • เปิดสติ๊กเกอร์ฮาร์ดแวร์
  • สลักปกฮาร์ดแวร์แบบเปิดพิเศษ

สิ่งอื่น ๆ ที่จะเป็นประโยชน์:

  • แบตเตอรี่ 9V
  • หัวแร้ง หัวแร้ง และเครื่องมือบัดกรีพื้นฐาน
  • คอมพิวเตอร์สำหรับใช้งานเครื่องมือซอฟต์แวร์

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

มีข้อมูลมากมายสำหรับสมาชิกปัจจุบันและที่คาดหวังในคำถามที่พบบ่อยของ HackerBoxes อีเมลสนับสนุนที่ไม่ใช่ด้านเทคนิคเกือบทั้งหมดที่เราได้รับนั้นมีคำตอบอยู่แล้ว เราจึงรู้สึกยินดีเป็นอย่างยิ่งที่คุณสละเวลาสักครู่เพื่ออ่านคำถามที่พบบ่อย

ขั้นตอนที่ 2: Arduino UNO

Arduino UNO
Arduino UNO

Arduino UNO R3 นี้ได้รับการออกแบบโดยคำนึงถึงการใช้งานง่าย พอร์ตอินเทอร์เฟซ MicroUSB เข้ากันได้กับสาย MicroUSB เดียวกันกับที่ใช้กับโทรศัพท์มือถือและแท็บเล็ตจำนวนมาก

ข้อมูลจำเพาะ:

  • ไมโครคอนโทรลเลอร์: ATmega328P (เอกสารข้อมูล)
  • USB Serial Bridge: CH340G (ไดรเวอร์)
  • แรงดันไฟฟ้าที่ใช้งาน: 5V
  • แรงดันไฟฟ้าขาเข้า (แนะนำ): 7-12V
  • แรงดันไฟฟ้าขาเข้า (ขีดจำกัด): 6-20V
  • พิน I/O ดิจิตอล: 14 (ซึ่ง 6 ตัวมีเอาต์พุต PWM)
  • พินอินพุตแบบอะนาล็อก: 6
  • กระแสไฟตรงต่อขา I/O: 40 mA
  • กระแสไฟตรงสำหรับ 3.3V ขา: 50 mA
  • หน่วยความจำแฟลช: 32 KB โดยที่ bootloader ใช้ 0.5 KB
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • ความเร็วสัญญาณนาฬิกา: 16 MHz

บอร์ด Arduino UNO มีชิปบริดจ์ USB/ซีเรียลในตัว สำหรับรุ่นพิเศษนี้ ชิปบริดจ์คือ CH340G สำหรับชิป CH340 USB/Serial มีไดรเวอร์สำหรับระบบปฏิบัติการหลายระบบ (UNIX, Mac OS X หรือ Windows) สิ่งเหล่านี้สามารถพบได้ผ่านลิงค์ด้านบน

เมื่อคุณเสียบ Arduino UNO เข้ากับพอร์ต USB ของคอมพิวเตอร์เป็นครั้งแรก ไฟสีแดง (LED) จะเปิดขึ้น เกือบจะในทันทีหลังจากนั้น ไฟ LED ของผู้ใช้สีแดงมักจะเริ่มกะพริบอย่างรวดเร็ว สิ่งนี้เกิดขึ้นเนื่องจากตัวประมวลผลถูกโหลดไว้ล่วงหน้าด้วยโปรแกรม BLINK ซึ่งเราจะพูดถึงเพิ่มเติมด้านล่าง

หากคุณยังไม่ได้ติดตั้ง Arduino IDE คุณสามารถดาวน์โหลดได้จาก Arduino.cc และหากคุณต้องการข้อมูลเบื้องต้นเพิ่มเติมสำหรับการทำงานในระบบนิเวศ Arduino เราขอแนะนำให้ตรวจสอบคำแนะนำสำหรับ HackerBoxes Starter Workshop

เสียบ UNO เข้ากับคอมพิวเตอร์ของคุณโดยใช้สาย MicroUSB เปิดตัวซอฟต์แวร์ Arduino IDE

ในเมนู IDE เลือก "Arduino UNO" ในเครื่องมือ>บอร์ด นอกจากนี้ เลือกพอร์ต USB ที่เหมาะสมใน IDE ภายใต้ tools>port (น่าจะเป็นชื่อที่มี "wchusb" อยู่ด้วย)

สุดท้าย โหลดโค้ดตัวอย่างบางส่วน:

ไฟล์->ตัวอย่าง->พื้นฐาน->กะพริบ

นี่คือรหัสที่โหลดไว้ล่วงหน้าบน UNO และควรจะทำงานในขณะนี้เพื่อกะพริบไฟ LED ของผู้ใช้สีแดง ตั้งโปรแกรมโค้ด BLINK ลงใน UNO โดยคลิกปุ่ม UPLOAD (ไอคอนลูกศร) เหนือโค้ดที่แสดง ดูรหัสด้านล่างสำหรับข้อมูลสถานะ: "กำลังรวบรวม" แล้ว "กำลังอัปโหลด" ในที่สุด IDE ควรระบุว่า "การอัปโหลดเสร็จสมบูรณ์" และไฟ LED ของคุณควรเริ่มกะพริบอีกครั้ง ซึ่งอาจในอัตราที่แตกต่างกันเล็กน้อย

เมื่อคุณสามารถดาวน์โหลดโค้ด BLINK เดิมและยืนยันการเปลี่ยนแปลงความเร็วของ LED ได้ ดูโค้ดอย่างละเอียด คุณจะเห็นได้ว่าโปรแกรมเปิดไฟ LED รอ 1,000 มิลลิวินาที (หนึ่งวินาที) ปิดไฟ LED รออีกหนึ่งวินาที แล้วจึงทำใหม่ทั้งหมด - ตลอดไป แก้ไขโค้ดโดยเปลี่ยนคำสั่ง "delay(1000)" ทั้งคู่เป็น "delay(100)" การปรับเปลี่ยนนี้จะทำให้ LED กะพริบเร็วขึ้น 10 เท่า จริงไหม?

โหลดโค้ดที่แก้ไขแล้วลงใน UNO และไฟ LED ของคุณควรกะพริบเร็วขึ้น ถ้าเป็นเช่นนั้นขอแสดงความยินดี! คุณเพิ่งแฮ็คโค้ดฝังตัวชิ้นแรกของคุณ เมื่อโหลดและเรียกใช้เวอร์ชันกะพริบเร็วของคุณแล้ว ทำไมไม่ลองดูว่าคุณสามารถเปลี่ยนรหัสอีกครั้งเพื่อทำให้ไฟ LED กะพริบเร็วสองครั้งแล้วรอสองสามวินาทีก่อนที่จะทำซ้ำได้หรือไม่ ให้มันลอง! แล้วรูปแบบอื่นๆล่ะ? เมื่อคุณประสบความสำเร็จในการแสดงภาพผลลัพธ์ที่ต้องการ เข้ารหัส และสังเกตว่ามันทำงานตามที่วางแผนไว้ คุณได้ก้าวไปสู่การเป็นโปรแกรมเมอร์ที่ฝังตัวและแฮ็กเกอร์ฮาร์ดแวร์

ขั้นตอนที่ 3: เทคโนโลยีแสดงกระดาษอิเล็กทรอนิกส์

เทคโนโลยีการแสดงกระดาษอิเล็กทรอนิกส์
เทคโนโลยีการแสดงกระดาษอิเล็กทรอนิกส์

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

อัตราส่วนคอนทราสต์เข้าใกล้หน้าหนังสือพิมพ์ด้วยจอแสดงผลที่พัฒนาขึ้นใหม่ (ตั้งแต่ปี 2008) ซึ่งยังคงดีกว่าเล็กน้อย จอแสดงผล ePaper ที่เหมาะสมที่สุดสามารถอ่านได้ในแสงแดดโดยตรงโดยที่ภาพไม่ซีดจาง

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

(วิกิพีเดีย)

ขั้นตอนที่ 4: โมดูล EPPaper หลากสี

โมดูล EPPaper หลากสี
โมดูล EPPaper หลากสี

MH-ET LIVE 1.54 นิ้ว ePaper Module สามารถแสดงทั้งหมึกสีดำและสีแดง โมดูลนี้ถูกอ้างถึงในตัวอย่างและเอกสารประกอบว่าเป็นจอแสดงกระดาษอิเล็กทรอนิกส์ (EPD) สีดำ/ขาว/แดง (b/w/r) 200x200

เทคโนโลยีการแสดงผลคือ Microencapsulated Electrophoretic Display (MED) ซึ่งใช้ทรงกลมขนาดเล็กที่เม็ดสีสีที่มีประจุถูกระงับในน้ำมันใสและเคลื่อนเข้าสู่มุมมองขึ้นอยู่กับประจุไฟฟ้าที่ใช้

หน้าจอ ePaper สามารถแสดงรูปแบบได้โดยการสะท้อนแสงรอบข้าง ดังนั้นจึงทำงานโดยไม่มีไฟแบ็คไลท์ แม้ในแสงแดดจ้า หน้าจอ ePaper ยังให้ทัศนวิสัยสูงด้วยมุมมองการรับชม 180 องศา

การใช้โมดูล MH-ET กับ Arduino UNO:

  1. ติดตั้ง Arduino IDE (หากยังไม่ได้ติดตั้ง)
  2. ใช้ Library Manager (Tools->Manage Libraries) เพื่อติดตั้ง Adafruit GFX Library
  3. ใช้ Library Manager เพื่อติดตั้ง GxEPD (ไม่ใช่ GxEPD2)
  4. เปิดไฟล์ -> ตัวอย่าง -> GxEPD>GxEPD_Example
  5. ยกเลิกหมายเหตุบรรทัดที่จะรวม GxGDEW0154Z04 (1.54" b/w/r 200x200)
  6. วางสาย UNO เป็น EPD: ไม่ว่าง=7, DC=8, รีเซ็ต=9, CS=10, DIN=11, CLK=13, GND=GND, VCC=5V
  7. ตั้งค่า EPD Switches ทั้งสองเป็น "L"
  8. ดาวน์โหลด GxEPD_Example sketch จาก IDE เป็น UNO ตามปกติ

ไลบรารีอื่นที่มีโค้ดสาธิต (มาจากผู้ผลิต EPD) สามารถพบได้ที่นี่ โปรดทราบว่าการสาธิตเหล่านี้ (และตัวอย่างอื่นๆ ทางออนไลน์) มีการกำหนดพินที่แตกต่างจากที่ใช้ในตัวอย่าง GxEPD ด้านบน ที่โดดเด่นที่สุดคือหมุด 8 และ 9 มักจะกลับด้าน

ขั้นตอนที่ 5: Arduino UNO Prototyping Shield

Arduino UNO การสร้างต้นแบบโล่
Arduino UNO การสร้างต้นแบบโล่

Arduino UNO Prototyping Shield พอดีกับบอร์ด Arduino UNO (หรือที่เข้ากันได้) โดยตรงเหมือนกับชิลด์อื่นๆ อย่างไรก็ตาม Arduino UNO Prototyping Shield มีพื้นที่ "perf-board" สำหรับใช้งานทั่วไปอยู่ตรงกลางซึ่งคุณสามารถประสานส่วนประกอบของคุณเองเพื่อสร้างโล่ที่กำหนดเองได้ เพียงประสานส่วนหัวที่แถวด้านนอกของแผงป้องกันเพื่อให้สามารถเสียบที่ด้านบนของ UNO ได้ รูที่เคลือบถัดจากส่วนหัวเชื่อมต่อกับสัญญาณส่วนหัวเพื่อให้สามารถเชื่อมต่อสายจาก UNO เข้ากับวงจรที่คุณกำหนดเองได้อย่างง่ายดาย

ขั้นตอนที่ 6: การตั้งค่า LED เจ็ดดวงบน Prototype Shield

การตั้งค่า LED ทั้งเจ็ดบน Prototype Shield
การตั้งค่า LED ทั้งเจ็ดบน Prototype Shield

สามารถใช้ Arduino Prototype Shield เพื่อสนับสนุนวงจรที่แสดงภาพประกอบได้ วงจรนี้มีขา I/O 1-7 ของ Arduino เชื่อมต่อกับ LED เจ็ดดวง LED แต่ละตัวมีสายในแนวเดียวกับตัวต้านทานจำกัดกระแสของตัวเอง ซึ่งในตัวอย่างนี้คือตัวต้านทาน 560 โอห์ม

โปรดทราบว่าขาสั้นของ LED แต่ละตัวจะต้องหันไปทางขา GND ของ Arduino ตัวต้านทานแต่ละตัวสามารถปรับทิศทางได้ทั้งสองทิศทาง สามารถต่อที่ใส่แป้ง 9V เพื่อให้โปรเจ็กต์ "พกพาได้" แต่ต้องต่อสายเข้ากับพิน Vin (ไม่ใช่ 5V หรือ 3.3V)

เมื่อต่อสายไฟ LED และตัวต้านทานของวงจรแล้ว ให้ทดลองกับภาพตัวอย่างการกะพริบโดยเปลี่ยนหมายเลขพินเป็นค่าต่างๆ ระหว่าง 1 ถึง 7

สุดท้าย ลองใช้ภาพสเก็ตช์ knight_rider.ino ที่แนบมาที่นี่เพื่อดูย้อนหลังจากยุค 80

ขั้นตอนที่ 7: ความคงอยู่ของวิสัยทัศน์

ความคงอยู่ของวิสัยทัศน์
ความคงอยู่ของวิสัยทัศน์

ความคงอยู่ของการมองเห็น [วิดีโอ] หมายถึงภาพลวงตาทางแสงที่เกิดขึ้นเมื่อการรับรู้ด้วยสายตาของวัตถุไม่หยุดในบางครั้งหลังจากที่รังสีของแสงที่ออกมาจากวัตถุหยุดเข้าตา ภาพลวงตายังอธิบายว่า "การคงอยู่ของจอประสาทตา" "การคงอยู่ของการแสดงผล" หรือเพียงแค่ "การคงอยู่" (วิกิพีเดีย)

ลองใช้ภาพสเก็ตช์ POV.ino ที่รวมอยู่ในการตั้งค่าฮาร์ดแวร์ "Seven LED" จากขั้นตอนที่แล้ว ในภาพสเก็ตช์ ทดลองกับข้อความข้อความและพารามิเตอร์เวลาต่างๆ เพื่อให้ได้เอฟเฟกต์ต่างๆ

แรงบันดาลใจ: โครงการ Arduino POV จาก Ahmad Saeed

เครดิตภาพ: Charles Marshall

ขั้นตอนที่ 8: ธนาคารพลังงานแบตเตอรี่ USB 18650

ธนาคารพลังงานแบตเตอรี่ USB 18650
ธนาคารพลังงานแบตเตอรี่ USB 18650

เพียงแค่ใส่เซลล์ลิเธียมไอออน 18650 ลงในลูกน้อยเพื่อสร้าง "Power Bank" แบบชาร์จไฟได้ของคุณเองสำหรับใช้กับโครงการ 5V และ 3V ต่างๆ!

คุณสามารถค้นหาเซลล์ลิเธียมไอออน 18650 ทั่วไปเหล่านี้ได้จากแหล่งต่างๆ รวมถึงเซลล์นี้จาก Amazon

ข้อมูลจำเพาะของโมดูล Power Bank:

  • อินพุต (การชาร์จ) การจ่ายไฟ: 5 ถึง 8V ผ่านพอร์ต micro USB สูงสุด 0.5A
  • กำลังขับ:

    • 5V ผ่านพอร์ต USB Type A
    • 3 คอนเนคเตอร์เพื่อส่ง 3V สูงถึง 1A
    • 3 คอนเนคเตอร์เพื่อส่ง 5V สูงถึง 2A
  • ไฟ LED แสดงสถานะ

    • สีเขียว = ชาร์จแบตเตอรี่แล้ว
    • สีแดง = กำลังชาร์จ)
  • การป้องกันแบตเตอรี่ (การชาร์จมากเกินไปหรือการคายประจุมากเกินไป)
  • คำเตือน: ไม่มีการป้องกันขั้วย้อนกลับ!

ขั้นตอนที่ 9: ใช้ชีวิต HackLife

ใช้ชีวิต HackLife
ใช้ชีวิต HackLife

เราหวังว่าจะสนุกกับการผจญภัยของ HackerBox ในเดือนนี้ในด้านอิเล็กทรอนิกส์และเทคโนโลยีคอมพิวเตอร์ ติดต่อและแบ่งปันความสำเร็จของคุณในความคิดเห็นด้านล่างหรือบน HackerBoxes Facebook Group นอกจากนี้ โปรดจำไว้ว่า คุณสามารถส่งอีเมลถึง [email protected] ได้ทุกเมื่อ หากคุณมีคำถามหรือต้องการความช่วยเหลือ

อะไรต่อไป? เข้าร่วมการปฏิวัติ ใช้ชีวิต HackLife รับกล่องอุปกรณ์แฮ็คสุดเจ๋งที่ส่งตรงถึงกล่องจดหมายของคุณทุกเดือน ท่องไปที่ HackerBoxes.com และสมัครสมาชิก HackerBox รายเดือนของคุณ

แนะนำ: