3 पॉइंट द्वारा GN⁺ 2023-12-03 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • यह एक प्रोटोटाइप है जिसमें एक छोटे LED मैट्रिक्स, RP2040 बोर्ड, LIR2450 बैटरी और मोटर को पूरा का पूरा घुमाकर persistence of vision (POV) आधारित हथेली के आकार का 3D डिस्प्ले बनाया गया है
  • 8x10 LED मैट्रिक्स को घुमाकर और IR सेंसर से अवधि पढ़कर, मापी गई गति के अनुसार volumetric buffer आउटपुट किया जाता है
  • RP2040 के dual-core और simultaneous GPIO control का उपयोग करके एक core घूर्णन अंतराल मापता है, जबकि दूसरा core LED डेटा को cycle level पर भेजता है
  • बैटरी protection circuit, charging method, 3D-printed holder की durability, और LED current limiting की अनुपस्थिति मुख्य सीमाएँ हैं; प्रोटोटाइप में लगभग 3.6V से कम पर चेतावनी दिखाई जाती है
  • Blender से 3D polar slices और fluid/fire simulation डेटा बनाया गया, लेकिन कैमरे में वास्तविकता की तुलना में गहराई का एहसास कम दिखता है, और अगले संस्करण में alignment व resolution सुधारने की ज़रूरत है

घूमती हुई इलेक्ट्रॉनिक मोमबत्ती का आइडिया

  • लक्ष्य ऐसी इलेक्ट्रॉनिक मोमबत्ती बनाना था जो किसी भी कोण से देखने पर टिमटिमाती लौ जैसी दिखे
  • सामान्य persistence of vision डिस्प्ले में bearing और slip ring जैसी support structure चाहिए होती है, इसलिए मोटर और बैटरी को इतना छोटा बनाया गया कि पूरा डिवाइस साथ में घूमे
  • LED मैट्रिक्स बोर्ड को दूसरे PCB ऑर्डर के साथ शामिल करके जल्दी बनवाया गया
    • चीन से छोटे PCB लगभग बेहद सस्ते थे, और तेज डिलीवरी अधिक महत्वपूर्ण थी
  • Charmhigh CHM-T36VA pick-and-place machine का उपयोग किया गया
    • component reel चढ़ाने में समय लगता है, लेकिन इस LED मैट्रिक्स में सिर्फ एक ही प्रकार का component था, इसलिए board assembly को जल्दी दोहराया जा सका
  • stencil को औपचारिक रूप से बनवाने के बजाय acetate पर laser etching करके इस्तेमाल किया गया
  • LED मैट्रिक्स 0603 और 0805 components के साथ अलग-अलग बनाए गए, और आगे के संस्करण में right-angle support के लिए circular PCB की योजना है

हार्डवेयर संरचना

  • microcontroller के लिए छोटे आकार और flash capacity को देखते हुए Waveshare RP2040-tiny चुना गया
    • Raspberry Pi Pico में dual-core 125MHz, अधिकतम 16MB flash, और कम कीमत का फायदा है, लेकिन board खुद बहुत बड़ा है
    • bare RP2040 के लिए external QSPI flash, crystal, auxiliary capacitors आदि चाहिए होते हैं, इसलिए अकेले इस्तेमाल करना झंझट वाला है
    • RP2040-tiny मूलतः Pico का लगभग आधा आकार है, और USB port व reset/boot button flat flex cable से जुड़े auxiliary board पर हैं
  • बैटरी के लिए LIR2450 का उपयोग किया गया
    • यह rechargeable lithium-ion है और 100mA से अधिक सप्लाई कर सकती है
    • इससे छोटी Li-ion बैटरियों में capacity और current supply क्षमता दोनों कम हो जाती हैं
    • RP2040 बोर्ड का diagonal लगभग 29mm है, इसलिए इससे छोटी बैटरी लगाने पर भी अंतिम डिवाइस खास छोटा नहीं होता
  • बैटरी holder को PETG से 3D print किया गया
    • पहले संस्करण में 0.5mm wall thickness और दो हिस्सों को चिपकाने वाली संरचना थी, इसलिए गिरने पर glue line टूट जाती थी
    • बाद में 1mm wall thickness और अलग print orientation के साथ प्रयोग किया गया
  • rotation sensing के लिए TCRT5000 IR sensor इस्तेमाल किया गया
    • output analog है, लेकिन pull-up लगाकर सीधे GPIO से जोड़ा गया
    • RP2040 input में software से disable किया जा सकने वाला Schmitt trigger है, इसलिए इसे लगभग comparator की तरह इस्तेमाल किया जा सका
  • मोटर के लिए RF-410CA चुना गया
    • समान CD/DVD drive motor में diameter और shaft length थोड़ी-थोड़ी अलग थी
    • 30FPS के लिए लगभग 1800RPM चाहिए था, जबकि कई छोटे मोटरों की no-load speed 5000~10000RPM बहुत तेज थी
    • speed को PWM से कम करने का तरीका अपनाया गया

सर्किट और प्रोटोटाइप असेंबली

  • LED मैट्रिक्स 8x10 संरचना का है, इसलिए 18 GPIO इस्तेमाल होते हैं
    • इसके अलावा sensor input 1, motor control 1, और battery voltage monitoring 1 को भी ध्यान में रखा गया
  • बोर्ड पर मौजूद WS2812 LED GPIO16 से जुड़ा था; मैट्रिक्स के लिए GPIO खाली करने हेतु LED हटाकर enamel wire solder की गई
  • motor control के लिए छोटे SOT-23 MOSFET और flyback diode को dead-bug शैली में लगाया गया
  • IR LED को सीधे power line से जोड़ा गया
    • न घूमने पर power बचाने के लिए इसे software से नियंत्रित करना बेहतर होता, लेकिन प्रोटोटाइप में GPIO बचाने के लिए यह छोड़ा गया
  • LED मैट्रिक्स को current-limiting resistor या driver transistor के बिना सीधे GPIO से जोड़ा गया
    • RP2040 GPIO का कुल source/sink current लगभग 50mA है
    • यह GPIO के on-resistance और PWM duty cycle सीमा पर निर्भर करता है, और यदि chip रुक जाए तथा मैट्रिक्स स्थिर रूप से जलता रहे, तो LED overdrive हो सकता है
  • बैटरी का positive सीधे बोर्ड के VBUS से जोड़ा गया
    • इस संरचना में USB cable जोड़ने पर battery terminal पर 5V लग सकता है, इसलिए यह प्रोटोटाइप चरण का अस्थायी hack जैसा है
  • बैटरी निकालने के लिए पीछे छोटा छेद किया गया, और प्लास्टिक टूटने के बाद rubber band से बैटरी को पकड़ा गया

डिस्प्ले कंट्रोल सॉफ्टवेयर

  • सॉफ्टवेयर IR sensor पर नज़र रखता है और triggers के बीच के समय से मैट्रिक्स डिस्प्ले गति तय करता है
  • RP2040 की खासियत यह है कि सभी GPIO pins को एक ही clock cycle में set या input किया जा सकता है
    • STM32 में 32-bit processor होने पर भी IO 16-bit register में बंधे होते हैं, और एक साथ बदलने पर bus contention समस्या आती है
  • आवश्यक GPIO output डेटा पहले से preprocess कर लिया जाता है और मापी गई rotation speed के अनुपात में क्रम से आउटपुट किया जाता है
  • dual-core ARM Cortex-M0 को interrupt की जगह busy-wait loop के साथ इस्तेमाल किया गया
    • पहला core IR sensor मॉनिटर करता है और SysTick से triggers के बीच cycle count मापता है
    • दूसरा core lighting signal का इंतज़ार करता है और अपने SysTick से volumetric buffer को cycle-सटीक तरीके से चलाता है
  • motor control साधारण logic से शुरू हुआ
    • यदि RPM 1200 से कम हो तो मोटर को 90% output पर चलाया जाता है
    • अन्यथा इसे 60% output पर घटा दिया जाता है
    • inertia और air resistance की वजह से मौजूदा प्रोटोटाइप में यह सरल नियंत्रण पर्याप्त है
  • मैट्रिक्स को row-by-row scan किया जाता है
    • ऊपर से देखने पर हर radial line थोड़ी spiral जैसी बनती है, लेकिन पूरे डिस्प्ले के helix बनने की तुलना में इसे सुधारना आसान है
    • केंद्र के LED का duty cycle बाहरी हिस्से की तुलना में अनुपातिक रूप से कम किया जाता है

बैटरी वोल्टेज मॉनिटरिंग और चार्जिंग

  • LIR2450 bare cell में protection circuit नहीं है, इसलिए वोल्टेज बहुत कम होने पर स्थायी नुकसान हो सकता है
    • 3V से काफी नीचे जाने पर समस्या होती है, और वास्तविक सीमा cell के अनुसार लगभग 2.7V हो सकती है
  • voltage monitoring के लिए दो 100K resistors से voltage divider बनाकर अंतिम उपलब्ध GPIO से जोड़ा गया
  • RP2040-tiny में ADC reference voltage variable थी
    • यदि ADC reference supply voltage ही हो, तो supply voltage गिरने पर battery voltage drop का सही पता लगाना मुश्किल होता है
    • RT9193-33 3.3V LDO का dropout 300mA पर 220mV है, इसलिए battery 3.52V पर आने के बाद RP2040 supply voltage भी गिरने लगती है
    • प्रोटोटाइप में लगभग 3.6V से कम पर warning दिखाने के लिए सेट किया गया
    • अगले संस्करण में reference voltage जोड़ने की योजना है
  • शुरुआत में बैटरी निकालकर अलग charger में चार्ज की जाती थी, लेकिन नया charger पहली बार के उपयोग में ही खराब हो गया
  • बाद में bench power supply को 50mA current limit और 4.2V constant voltage पर सेट करके single-cell lithium-ion चार्ज किया गया
    • बैटरी capacity 120mAh है या 60mAh, यह स्पष्ट नहीं था, इसलिए 1C से अधिक सुरक्षित charging current चुना गया
  • development सुविधा के लिए एक USB intercept board बनाया गया जिसे PC और RP2040-tiny programming board के बीच लगाया गया
    • 5V line को अलग किया गया और battery pin expose की गई, ताकि बैटरी निकाले बिना power supply जोड़ी जा सके
    • data line जुड़ी रहती है, इसलिए बैटरी लगी होने पर भी programming संभव है
  • बाद में BQ21040DBVR lithium-ion charging IC को USB intercept board के बीच में लगाया गया
    • programming cable जुड़ी रहने पर भी बैटरी चार्ज की जा सकती है
    • प्रोटोटाइप बंद नहीं होता और सिर्फ IR LED ही लगभग 9mA लगातार खपत करती है, जबकि कुल standby current लगभग 15mA है, इसलिए full-charge termination condition तक नहीं पहुंचता
    • cable voltage drop की वजह से battery voltage 4.1V से ऊपर नहीं जा पाती होगी

Blender से volumetric डेटा बनाना

  • डिस्प्ले डेटा को 3D polar coordinates r, theta, z के रूप में बनाना पड़ता है
  • पहला टेस्ट wireframe cube के साथ किया गया
    • Blender के default cube पर wireframe modifier लगाया गया
    • cube की edges ऊपर की ओर दिखें, इसके लिए x-axis पर 45 degree और y-axis पर atan(1/sqrt(2)) जितना rotate किया गया
  • slices बनाने के लिए दूसरे cube को पतली परत जैसा deform किया गया और boolean modifier इस्तेमाल किया गया
    • camera और slice को Empty के parent के रूप में जोड़ा गया और Empty के Z rotation को animate किया गया
    • camera को orthographic पर सेट किया गया और resolution 8x10 रखी गई
    • background काला रखा गया, cube material को emissive बनाया गया, और compositor की colour ramp से threshold तय किया गया
  • मौजूदा डिस्प्ले सिर्फ 1-bit voxel इस्तेमाल करता है
    • हर voxel या तो on है या off
    • Blender में threshold समायोजित करके सही cutoff को दृष्टिगत रूप से चुना गया
  • Render animation से wireframe cube की 24 slice images बनाई गईं, और Python script ने इन्हें header file में बदलकर code में शामिल किया
  • Blender driver का उपयोग camera rotation और cube rotation को frame-based formula से नियंत्रित करने के लिए किया गया
    • camera rotation के लिए (frame/24)*2*pi का उपयोग किया गया
    • cube की y rotation के लिए floor(frame/24)*pi/24 का उपयोग हुआ, ताकि हर पूर्ण चक्कर पर थोड़ा-थोड़ा rotate हो
    • मकसद यह था कि motor RPM के अनुसार playback speed बदल सके और हर data frame discrete बना रहे

fluid और fire simulation

  • Blender fluid simulation शुरू करना आसान है, लेकिन बहुत सारे parameters के कारण मनचाहा परिणाम पाना कठिन था
  • liquid simulation में fluid particles को mesh में बदलना आसान है, इसलिए इसे volumetric display में लाना अपेक्षाकृत सरल था
  • 1/24 गति पर simulation चलाकर उसी तरीके से polar volumetric डेटा निकालने की कोशिश की गई, लेकिन बहुत धीमा time scale instability पैदा करता था और playback धीमा करने का आसान तरीका नहीं मिला
  • Multi-view या Stereoscopy फीचर भी देखा गया
    • कई camera जोड़कर कई viewpoints से एक साथ render किया जा सकता है
    • लेकिन 24 cameras को समान रूप से rotate कराने का तेज तरीका स्पष्ट नहीं था, और slice के लिए boolean modifier को साथ render करना भी समस्या थी
  • camera clipping distance से पतला scene slice render करने वाला workaround भी आजमाया गया
    • समस्या यह थी कि कटे हुए object का अंदरूनी भाग भरा नहीं दिखता था, सिर्फ surface दिखाई देती थी
    • volumetric material से इसे कुछ भरने की कोशिश की गई, लेकिन सफलता नहीं मिली
  • अंततः Blender Python script से 24 बार render किया गया
    • Empty के Z rotation को 24 अलग angles पर बदला गया, और हर angle पर पूरी animation फिर से render की गई
    • इस तरह real-time fluid simulation बनाए रखते हुए हर rotation दिशा के slices मिल सके
  • fire simulation को OpenVDB में bake करके फिर Blender में वापस import किया गया
    • Volume to Mesh modifier से volume डेटा पर threshold लागू किया गया
    • उसके बाद camera slice और boolean modifier लागू कर वही script फिर चलाया गया

डिस्प्ले गुणवत्ता और अगला संस्करण

  • वास्तविक डिवाइस फोटो या वीडियो की तुलना में गहराई का एहसास अधिक मजबूत देता है
  • LED alignment त्रुटियों को software से सुधारा भी जा सकता है
    • boolean slice की position को center से थोड़ा खिसकाकर वास्तविक rotation center से मिलाया जा सकता है
    • matrix scan pattern को सुधारने के लिए stretched cube की जगह थोड़ा curved shape इस्तेमाल किया जा सकता है
    • मौजूदा resolution पर ये सुधार बहुत स्पष्ट न भी हों
  • सबसे महत्वपूर्ण शर्त यह है कि बाहरी हिस्से के हर voxel को किसी भी कोण से देखने पर एक बिंदु जैसा दिखना चाहिए
    • alignment बिगड़ने पर एक voxel ऐसा लग सकता है मानो दो बार जलाया गया हो और लंबा दिखे
  • बीच का m अक्षर हर दिशा से पढ़ा जा सके, इसके लिए इसे अलग तरीके से render किया गया
    • text को इस तरह scroll कराया गया कि सामने या पीछे से देखने पर भी पढ़ा जा सके
  • अगले प्रोटोटाइप में alignment और resolution सुधारने की योजना है
  • छोटा slide switch न मिलने के कारण बैटरी अलग किए बिना power off का फीचर नहीं जोड़ा जा सका, लेकिन battery और contact के बीच acetate का छोटा टुकड़ा फँसाकर इसका हल निकाला गया
  • चूंकि IR sensor पहले से मौजूद है, इसलिए remote control जोड़ना भी संभव लगता है, लेकिन मौजूदा sensor demodulating प्रकार का नहीं है
  • source code GitHub पर सार्वजनिक है: source code on github

1 टिप्पणियां

 
GN⁺ 2023-12-03
Hacker News की राय
  • सुधार के लिए कुछ आइडिया हैं। अगर वही मोटर एक अतिरिक्त हो, तो दो को खोलकर, दोनों assemblies के brushes से rotational power transfer device बनाया जा सकता है
    हर डिवाइस के लिए दो मोटर कुर्बान करने पड़ेंगे, लेकिन यह बिल्कुल फिट बैठेगा और बहुत स्थिर होगा, और capacitor व rectifier जोड़ दें तो फिर battery की चिंता नहीं करनी पड़ेगी
    rectifier यह संकेत भी देगा कि assembly ने एक पूरा चक्कर लगा लिया है, इसलिए period का अंदाज़ा लगाने के बजाय वास्तविक position के आधार पर image stabilization बनाए रखी जा सकती है
    induction से power भेजना भी संभव हो सकता है, लेकिन उसे पर्याप्त efficiency से transfer नहीं कर पाया, इसलिए input voltage बहुत ज़्यादा बढ़ानी पड़ती थी और आग लगने की चिंता थी
    यह सलाह 2001 के Burning Man art project से आई थी। बेहद बदहाल शुरुआती prototype की तस्वीरें यहाँ हैं: https://github.com/sowbug/tqw/blob/master/photos/side.jpg. अंतिम installation बहुत अच्छी तरह काम करती थी

    • सब सही है, लेकिन synchronization के लिए IR sensor वाला समाधान भी पसंद आया। उंगली की position बदलकर display को घुमाने का तरीका सच में कमाल था, और उसमें अंदाज़ा लगाने की भी ज़रूरत नहीं थी
    • काफ़ी अच्छा आइडिया है। brushes लंबे समय तक चलने चाहिए। अच्छी बात है कि अब wireless phone charging आम हो चुकी है, इसलिए [1] या [2] जैसे kit मिल सकते हैं
      यह भी सोचने पर मजबूर करता है कि LIDAR कंपनियाँ ऐसी चीज़ों को कैसे handle करती होंगी
      1: https://www.adafruit.com/product/1407
      2: https://www.adafruit.com/product/2162
    • एक और आइडिया, मोटर के ऊपर छोटा TFT display रख दें तो कैसा रहेगा? aliexpress पर सस्ते मिल सकते हैं
    • मोटर को वैसा ही रहने देकर दूसरी मोटर को generator की तरह इस्तेमाल करने का क्या?
    • अगर drive motor asynchronous motor हो, तो rotor induction winding से घूमती electronics को power दी जा सकती है, लेकिन phase difference काफ़ी ज़्यादा चरम हो सकता है
  • यह उन शानदार आइडियाज़ में से एक है जो बाद में देखने पर बिल्कुल obvious लगते हैं
    अगर हाथ से जोड़े गए अपेक्षाकृत primitive discrete components के साथ भी नतीजा इतना भरोसेमंद लगता है, तो फिर अगले Christmas तक Amazon पर किसी भी 7-letter dropshipping brand से इसका full-color high-resolution version क्यों नहीं आ सकता, यही सोचता हूँ

    • यह नया आइडिया नहीं है, इसे swept-volume volumetric display कहा जाता है और यह काफ़ी समय से मौजूद है [1]
      लेकिन ज़्यादातर बस खिलौनों के क़रीब हैं। अगर सिर्फ़ एक पारदर्शी चमकती surface ही संभव हो और उसे छुआ भी न जा सके, तो वास्तव में आप उससे बहुत कुछ नहीं कर सकते
      cable से लटके LEDs वाला इससे कहीं बड़ा non-rotating version भी देखा जा सकता है [2] और वह काफ़ी शानदार है, लेकिन नईपन का असर जल्दी उतर जाता है और फिर समझ आता है कि यह productive उपयोग के लिए display नहीं है
      अगर सचमुच ऐसी 3D visualization चाहिए जिसमें किसी भी चीज़ को high quality में render किया जा सके और interaction भी हो सके, तो VR/AR headset ज़्यादा उपयुक्त लगते हैं। चश्मे के बिना चलने वाले नए 3D monitors भी हैं, लेकिन अभी बहुत कम लोगों ने उन्हें प्रत्यक्ष देखा है
      Amazon पर बिकने लायक खिलौना शायद बनाया जा सकता है, लेकिन ऐसी चीज़ का killer app है भी या नहीं, इस पर मुझे संदेह है
      [1] https://en.wikipedia.org/wiki/Volumetric_display#Swept-volum...
      [2] https://www.ledpulse.com/
    • अगर यह 32-inch display हो, तो pi*32^2 क्षेत्रफल में motor को बेहद तेज़ speed से घूमना पड़ेगा
  • यह सचमुच शानदार छोटा project है। दूसरे projects भी ज़रूर देखने चाहिए। कुछ पहले HN पर भी आए थे
    https://mitxela.com/projects/hardware
    निजी तौर पर मुझे MIDI slide whistle सबसे ज़्यादा पसंद है

    • headphone amp[0] project देखकर Schiit Happened किताब थोड़ी याद आ गई
      [0] https://mitxela.com/projects/headphone_amps
    • हाँ, और HDMI को OLED display में बदलने वाला project भी था, वह तो सच में पागलपन था
  • रचनात्मक है। शायद मेरे पास इस तरह की चीज़ को आखिर तक पूरा करने की लगन और रुचि तो है, लेकिन ऐसे शानदार प्रोजेक्ट की कल्पना करने की कल्पनाशक्ति की कमी है
    अच्छी बात है कि इंटरनेट है, इसलिए लोग जो प्रभावशाली चीज़ें बनाते हैं उन्हें देख सकता हूँ

    • Tom 7 ने अपने एक वीडियो में एक तरीका बताया था: ideas list बनाए रखो, और जो भी विचार आए, चाहे वह बेवकूफ़ाना ही क्यों न लगे, सब लिख लो। छाँटना बाद की बात है
      इससे जब प्रोजेक्ट पर काम करने की ऊर्जा हो, तब ideas सोचने में ऊर्जा बर्बाद नहीं करनी पड़ती
      side project में आप वास्तव में कितना पूरा कर पाते हैं, इसमें बहुत बड़ा फ़र्क पड़ता है। संभव है कि आपके पास सोचे से ज़्यादा दिलचस्प ideas हों। बस अगर idea आने का समय और उसे लागू या आगे बढ़ाने के लिए समय/ऊर्जा मिलने का समय मेल न खाए, तो वह गायब हो जाता है
    • मेरे साथ ठीक उलटी समस्या है। रचनात्मक ideas लगातार आते रहते हैं, इसलिए जब तक idea A का prototype v1 या v2 बन रहा होता है, तब तक idea B आ जाता है और A को अंत तक धकेलने में बाधा बनता है
      और जब लगन व अनुशासन आ भी जाए, तब तक बिल भरने होते हैं, इसलिए बाधा idea B नहीं बल्कि बस रोज़मर्रा का काम बन जाता है
    • रचनात्मकता भी दूसरी skills की तरह train की जा सकती है :)
      मैं भी चीज़ों को लिखकर रखने से सहमत हूँ। ज़्यादातर कामों की तरह, अगर इसे गंभीरता से अभ्यास करो तो बेहतर हो जाते हो
      जिन चीज़ों को अक्सर नज़रअंदाज़ किया जाता है, वे हैं (1) तकनीकी ज्ञान, (2) systematic invention, (3) प्रेरणा
      तकनीकी ज्ञान यह समझने में मदद करता है कि कौन-सा प्रोजेक्ट संभव है, या आर्थिक रूप से व्यावहारिक है, और रास्ते की बाधाओं की रूपरेखा बनाने देता है। असंभव आविष्कार बहुत काम के नहीं होते
      systematic invention का मतलब है चीज़ों को यूँ ही randomly सोचने के बजाय व्यवस्थित रूप से देखना। उदाहरण के लिए (a) मैं volumetric display बनाना चाहता हूँ, (b) मैं virtual 3D objects में जान डालना चाहता हूँ — इनका विश्लेषण करना। दोनों के बीच एक सूक्ष्म अंतर है
      volumetric display (a) में सुंदर सैद्धांतिक आधार वाले light-field display से लेकर यहाँ दिख रहे volumetric persistence display तक बहुत कुछ आता है। अगर समस्या-क्षेत्र की गहराई से जाँच करें, तो अंततः संभावित समाधानों तक पहुँचने की संभावना काफ़ी होती है
      3D objects में जान डालना (b) कहीं अधिक व्यापक समस्या-क्षेत्र हो सकता है: digital fabrication, VR glasses, haptic interaction, robotics आदि
      प्रेरणा भी सचमुच बहुत महत्वपूर्ण है। आप क्यों आविष्कार कर रहे हैं, और क्या चीज़ को वास्तविक बनाना चाहते हैं, यह समझना भी मायने रखता है। जैसे लोगों को खुशी देना, बस बहुत शानदार कुछ बनाना, या ऐसा उपयोगी medical device बनाना जो जान बचा सके
      सार्थक विषयों पर ध्यान केंद्रित करना भी सीखा जा सकता है, और इससे आविष्कार करने की क्षमता बहुत बढ़ती है। बेशक, सिर्फ़ इसलिए बनाना कि हमें वह पसंद है, यह भी महत्वपूर्ण और वैध है :)
      व्यक्तिगत रूप से मेरे लिए सबसे महत्वपूर्ण बात है कि उस प्रक्रिया में आनंद आए
  • यह hologram fan के काम करने के तरीके से बहुत मिलता-जुलता है। सारे electronic components घूमने वाले हिस्से के अंदर होते हैं
    ऐसे fans ऊपर वाले board को चलाने के लिए अक्सर wireless power transfer का इस्तेमाल करते हैं
    https://youtu.be/bT716nyK0AY

  • अगर आप London में हैं या वहाँ जा रहे हैं, तो 180 Studios [1] की exhibitions में इस तरह की तकनीक का art shows में अक्सर इस्तेमाल होता है
    अगर आपकी कला और तकनीक में रुचि है, तो यह देखने लायक है
    [1] https://www.180studios.com/

    • दिलचस्प। क्या अमेरिका में भी technology x art museum जैसा कुछ है?
  • अगर आपको इस तरह की चीज़ें पसंद हैं, तो यह एक शानदार YouTube channel है
    सोचता हूँ कि क्या सस्ते OLED display को काफ़ी तेज़ी से refresh करके बहुत अधिक resolution हासिल किया जा सकता है। शायद संभव हो, लेकिन radial slices के बीच की जगह pixel spacing से काफ़ी बड़ी होने की संभावना है, इसलिए यह उल्टा और खराब भी दिख सकता है

  • center alignment की समस्या शायद ऊपर पीठ से पीठ सटाकर दो LED boards लगाने से हल हो सकती है
    एक board में LEDs को आधा offset करके interlace effect बनाया जा सकता है, और साथ ही resolution दोगुना भी किया जा सकता है

    • या फिर center align ही मत करो; बस equation को इस तरह बदल दो कि वह इस तथ्य को दर्शाए कि LEDs केंद्र में नहीं हैं
    • निश्चित रूप से LED strip घुमाने वाली संरचना को और हल्का बनाने का कोई तरीका होगा। mirror या acrylic light-pipe matrix जैसा कुछ?
  • अगर इसका एक बड़ा, लगभग 50x50 का, मज़बूत RGB version हो और coding के बिना अलग-अलग images दिखा सके, तो मैं इसके लिए 200 डॉलर से ज़्यादा देने को तैयार हूँ

    • volumetric display तो नहीं है, लेकिन फिर भी बहुत शानदार है, और शायद काम के हिसाब से ठीक बैठे: https://spinprojector.com/
  • हाल में पोस्ट किया गया एक और शानदार volumetric display project भी है, लेकिन उसे ज़्यादा ध्यान नहीं मिला
    https://news.ycombinator.com/item?id=38406824