Hacklet 86 – โครงการ Time-Lapse

“ถ้าฉันสามารถประหยัดเวลาในขวด … ” มันไม่ใช่แค่เพลงเก่ามันเป็นความหลงใหลในแฮกเกอร์ถ่ายภาพจำนวนมาก การถ่ายภาพเวลาล่วงเลยเป็นวิธีที่จะแสดงการเคลื่อนไหวของเวลาผ่านภาพนิ่ง ภาพเหล่านี้มีชีวิตชีวาเป็นสิ่งที่เป็นวิดีโอที่บันทึกไว้ในอัตราเฟรมต่ำมาก เรากำลังพูดถึงหนึ่งเฟรมต่อนาทีหรือช้าลงในบางกรณี! กล้องวิดีโอไม่จำเป็นต้องยังคงอยู่สำหรับทั้งหมดนี้ แต่ควรมีการควบคุมการเคลื่อนไหวใด ๆ สิ่งนี้นำเสนอแฮกเกอร์ผู้ผลิตและวิศวกรเพื่อสร้างแท่นขุดเจาะกาลเวลามากมาย Hacklet ของสัปดาห์นี้เป็นเรื่องเกี่ยวกับโครงการที่ดีที่สุดในเวลาที่ดีที่สุดใน Hackaday.io! เราเริ่มต้นด้วย [Swisswilson] และ Timelapse Rig เพียงชื่อที่เรียบง่าย การพูดว่าแท่นขุดนี้อ้วนจะเป็นการพูดน้อย ชิ้นส่วนอลูมิเนียมทั้งหมดยกเว้นเกียร์ถูกกลึงโดย [Swisswilson] สอง NEMA-23 NEMA-17 มอเตอร์ควบคุมโดย SparkFun Easy Stepper Drive Board ในขณะที่ ARDUINO Micro ทำหน้าที่เป็นคอนโทรลเลอร์ อุปกรณ์อิเล็กทรอนิกส์ทั้งหมดอยู่ในกล่องที่ทนทานซึ่งทำหน้าที่เป็นรีโมทคอนโทรล จอยสติ๊กช่วยให้แพนและเอียงเพื่อควบคุมด้วยตนเอง การก่อสร้างระเบิดเป็นความช่วยเหลือที่นี่อย่างแน่นอนเนื่องจาก [Swisswilson] ใช้แท่นขุดเจาะนี้กับกล้อง DSLR รวมกับเลนส์การตั้งค่าเหล่านี้สามารถเข้าถึงปอนด์หรือสองปอนด์ ถัดไปคือ [Minwi] ซึ่งทำให้สคริปต์ของพวกเขา – Foo ทำงานกับ Raspilapse Raspilaple เสร็จสิ้นกระบวนการถ่ายภาพทั้งหมดประกอบพวกเขาเข้าสู่ภาพยนตร์และส่งไปยัง YouTube ฮาร์ดแวร์เป็น Raspberry …

Hacklet 86 – โครงการ Time-LapseRead More

ฮาร์ดแวร์ XOR สำหรับหมุดเอาต์พุตบนไมโครคอนโทรลเลอร์ AVR

คุณรู้หรือไม่ว่าชิป AVR จำนวนมากมีตัวเลือกฮาร์ดแวร์หรือ (XOR) ชนิดหนึ่งเมื่อเกี่ยวข้องกับระดับตรรกะของพินเอาท์พุท? หากคุณดูในแผ่นข้อมูล (ภาพด้านบนเป็นภาพหน้าจอจากแผ่นข้อมูล Attiny13) คุณจะพบส่วนในการสลับพิน ปรากฎว่าหากคุณตั้งค่าพอร์ตเป็นเอาต์พุตการเขียนตรรกะหนึ่งไปยังการลงทะเบียน PIN ที่สอดคล้องกันจะสลับระดับตรรกะของสิ่งนั้นออกมา นี่เป็นเรื่องง่ายที่จะละเลยถ้าคุณเขียนใน C แต่ฉันได้เรียนรู้ภาษาแอสเซมเบลอร์และพบว่าสิ่งนี้มีประโยชน์มาก อ่านต่อหลังจากหยุดพักแล้วฉันจะบอกคุณว่าฉันจะเกิดอะไรขึ้นกับข้อมูลนี้และสิ่งที่ดีสำหรับ ก่อนอื่นให้พูดถึงว่าทำไมสิ่งนี้ไม่สำคัญมากหากคุณกำลังเขียนรหัส C โดยทั่วไปหากคุณต้องการสลับพินเอาต์พุตบางอย่างคุณจะเพิ่งเขียนหนึ่งซับที่ xor’s ด้วย bitmask: 1 portb ^ = 0xff; นี่คือการจดชวเลข C เล็กน้อย (เรียนรู้เพิ่มเติมเกี่ยวกับชุดกวดวิชาของฉัน) ที่ดำเนินการ XOR บนระดับเอาต์พุตปัจจุบันและเขียนผลลัพธ์กลับไปที่พอร์ต แต่สิ่งเดียวกันสามารถทำได้ในฮาร์ดแวร์โดยการเขียน Bitmask ไปยัง PINB Register: 1 PINB = 0xFF; คุณไม่สนใจจริงๆเพราะมันเป็นเพียงหนึ่งบรรทัดของรหัส ในความเป็นจริงมันน่าจะง่ายกว่าที่ XOR PORTB เพราะมันมีความหมายมากกว่าแนวคิดมากขึ้น แต่คอมไพเลอร์อาจจบลงด้วยการใช้วัฏจักรมากกว่าถ้าคุณเขียนลงทะเบียน PIN ฉันเกิดขึ้นกับคุณสมบัตินี้เพราะฉันกระพริบตา LED เป็นวิธีการเรียนรู้ประกอบ ฉันมีรหัสนี้ในรูทีนบริการขัดจังหวะ: 1 …

ฮาร์ดแวร์ XOR สำหรับหมุดเอาต์พุตบนไมโครคอนโทรลเลอร์ AVRRead More