مفهوم المشروع
مفهوم هذا المنتج هو تلبية الحاجة إلى إلقاء نظرة على الشعلة الحقيقية. إن تفريغ التوهج في أحد الغازات ، بالمعنى الدقيق للكلمة ، ليس لهبًا تامًا ، على الرغم من أنه يشبه لهب حقيقي.
أنا أحب لونه وكان هذا هو الدافع الوحيد لبدء إنشاء مثل هذه الساعات بنفسي في نسخة واحدة.
لم يتم طرح مهمة إنشاء جهاز للإنتاج بالجملة.
لذلك ، فإن ميزانية المشروع معقولة أكثر. تم اتخاذ القرارات بناءً على أفكارنا الخاصة عن الجمال ، ولم يتم أخذ تكلفة المكونات في الاعتبار. بالطبع ، هناك دائمًا قيود ، على سبيل المثال ، لم أشتري GRI (مؤشرات تفريغ الغاز) مثل IN18 - سعرها أكثر من مجرد حدود محددة بشكل حدسي ولم تتناسب مع مفهومي لظهور المنتج. لقد استخدمت نوع GRI IN-12.
يتم تعبئة IN12 بمزيج من النيون (أو خليط من الغازات الخاملة) وبخار الزئبق. يوفر بخار الزئبق زيادة كبيرة في متانة الجهاز ويعطي صبغة زرقاء لتوهج البلازما. قد تكون خالية من GRIs الزئبق وإعطاء توهج النيون واضحة.
وتتمثل المهمة الرئيسية للساعة في إظهار الوقت المحدد (CEP ، مرحبًا!). من المرغوب فيه للغاية أن يتم ضبط وقت بدء التشغيل تلقائيًا ولا يتطلب أي تلاعب من المستخدم. من وجهة نظري الشخصية ، ليست هناك حاجة على الإطلاق إلى الأزرار الموجودة على هذه الأجهزة. إن الأجهزة المماثلة ذات العشرات الأزرار ومئات الوظائف التي تسببها مجموعات متنوعة من المطابع وأوقات الضغط تسبب لي حزنًا هادئًا. أولاً - يتم تكييف GRI جيدًا لعرض الأرقام فقط. لا يوجد شيء آخر متصور ، ومحاولات عرض عناصر القائمة ، وما إلى ذلك ، في رأيي ، استخدم أداة غير مناسبة. الأمر نفسه ينطبق على وظائف إضافية مثل المنبه ، الخ
ثانياً ، من الواضح أنه من غير الواقعي أن نتذكر أي مجموعة من مكابس الأزرار تعمل على وظيفة مضمنة أو أخرى. تعد كتابة البرامج لهذه الأجهزة ممتعة وممتعة ، ولكن من المستحيل استخدامها.
يعتبر هذا السؤال في كتاب دونالد نورمان تصميم الأشياء المألوفة. سوف أقتبس مقطع واحد:
خلال رحلاتي ، استخدمت جهاز عرض شرائح Leitz عدة مرات. كانت المرة الأولى أسوأ كابوس. بدأت في المحاضرة وأظهرت الشريحة الأولى. عندما كان من الضروري الانتقال إلى الشريحة التالية ، قام الطالب المسؤول عن العرض بالضغط على الزر بلطف وبدأ المشاهدة بمشاهدة الرعب بينما كان الحامل يسير في الاتجاه المعاكس ، وانزلق من جهاز عرض الشرائح وسقط من الطاولة إلى الأرض ، وخلط جميع الشرائح. استغرق الأمر 15 دقيقة لترتيب الشرائح بالترتيب. لم يكن الطالب هو المسؤول عن هذا ، ولكن جهاز عرض الشرائح الأنيق هذا. كيف يمكن لزر واحد القيام بوظيفتين متعارضتين؟ لا أحد يستطيع فعل ذلك بشكل صحيح في المرة الأولى. "
تكمن المشكلة في أن أحد الأزرار يؤدي وظيفتين متعاكستين - فقد أدى الضغط القصير إلى تحريك الشريحة للأمام ، والأخرى الطويلة. "نواصل مناقشة تحديد الساعة. يتم تكوين هذه الأجهزة على النحو الأمثل من صفحة الويب الخاصة بهم باستخدام جهاز كمبيوتر أو جهاز لوحي أو هاتف ذكي.
لا أحتاج إلى منبه للساعات مع GRI - أولاً ، هناك دائمًا هواتف خلوية بها هذه الوظائف وواجهة أكثر ملاءمة. ثانياً ، لا يمكن أن تستخدم ساعة GRI مصدر طاقة مستقلًا لأن استهلاك الطاقة المعتاد (200 فولت * 7 مللي أمبير = 1400 ميجاوات أو 1.4 واط) كبير جدًا ويتجاوز الحدود المعقولة لمصادر التيار الكيميائي. لذلك ، سيتم تشغيل الساعة مع GRI بواسطة الشبكة ، وسوف تعتمد وظيفة الإنذار على موثوقية الشبكة.
من المنطق أعلاه ، يظهر النظام التالي:
ساعة GRI تعمل بالطاقة من الشبكة ، مع القدرة على أخذ الوقت بالضبط من الإنترنت ، مع الإعداد من صفحة الويب الخاصة بها. لا توجد ميزات إضافية مطلوبة.
ومع ذلك ، انتهكت صرامة هذه القاعدة بإضافة الميزات التالية:
يمكن أن تظهر الساعة درجة حرارة الشارع والرطوبة والضغط الجوي. تلبي هذه الوظيفة حاجتي الشخصية لمعرفة درجة الحرارة الخارجية عندما أحصل على العمل في الصباح. أقوم بربط قميصي يوميًا في نفس المكان وعندما تجدني الساعة هناك - تظهر باستمرار درجة الحرارة الخارجية والرطوبة وضغط الهواء في ملليمتر من الزئبق. تحولت هذه الوظيفة إلى أن تكون ناجحة ومتطلبات كبيرة من جانبي وأفراد عائلتي. تؤخذ بيانات درجة حرارة الشارع والضغط والرطوبة تلقائيًا وتُخزَّن للوقت بين الطرود من مصدر خارجي. إذا تم تجاوز المهلة (البيانات قديمة) ، فإن الساعة تعرض التاريخ الحالي. في نظام منزلي ، تصل البيانات المتعلقة بمعلمات البيئة الخارجية إلى فواصل زمنية مدتها 10 دقائق ، ويتم تعيين "مهلة البيانات القديمة" إلى 30 دقيقة. عند تصميم الساعة ، كان من المفترض أن يتم إعطاء صوت للفريق الخارجي ، على سبيل المثال ، قل: "الساعة ، الطقس!". ومع ذلك ، خلال النماذج ، اتضح أن هذه الطريقة غير موثوقة وغير مريحة. لذلك ، في المستقبل ، تم استبدال التحكم الصوتي بطريقة لتحديد وجود شخص أمام الساعة وفقًا لموقع محدد وقت الليزر. يجب أن تُظهر الساعة بيانات الطقس إذا وقفت أمامها لمدة ثانية تقريبًا.
يمكن للساعة بواسطة أمر خارجي عبر واجهة HTTP عرض البيانات المستلمة في هذا الأمر. يقوم الفريق بنقل البيانات نفسها ووقت عرضها على الشاشة. تم تصميمه كفرصة لعرض شيء ما من جهاز الكمبيوتر عن طريق الأحداث ، على سبيل المثال ، ارتفاع درجة حرارة معالج الخادم المنزلي أو بعض المعلمات الأخرى. تسمح لك الواجهة المدمجة بعرض رمز مكون من سبعة أرقام من الخارج ، بما في ذلك نقطتين. في الممارسة العملية ، لا يتم تطبيقه على الإطلاق.
وشملت المتطلبات الإلزامية أيضا تأثير التغيير السلس للأرقام. هذا هو التأثير ، واحد فقط من كل شيء ، أنا حقا أحب!
يجب ضبط سطوع المؤشرات وفقًا للضوء المحيط ، مع الحفاظ على تباين الصورة دون تغيير.
يجب أن تعرض الساعة ستة أرقام وقيمة إضافية أمام الأرقام للإشارة إلى ما يتم عرضه حاليًا.
تنفيذ تصور ، حل الأجهزة
اختيار GRI
لعرض الوقت والبيانات الأخرى ، تم استخدام أربعة GRI IN-12A ، واثنان IN-12B وواحد IN-15A.
يحتوي IN-12B على النقاط التي استخدمتها للفصل بين الساعات والدقائق والثواني.
يمكن أن يُظهر GRI IN-15A عددًا من العلامات الخاصة "+" ، "-" ، "٪" ، "P" ، إلخ ، الموضوعة في بداية السطر.
المسافة المثلى بين المؤشرات.
من أجل أن تبدو الساعة متناغمة ، يجب ضمان مسافة معينة بين المؤشرات ، كما بين الحروف في السطر. أعطت دراسة السؤال المعلومات التالية: المسافة المثلى بين الأرقام 4 مم ، بين الكلمات 8 مم. يتم ضمان المسافة المثلى بين الأرقام مع مؤشرات تناسب دافئ في اللوحات. أعتقد أن هذا ليس من قبيل الصدفة ، فكر المهندسون السوفييت برؤوسهم أثناء التطوير وصنعوا المسافة الصحيحة.
التزامن مع خوادم الوقت
النظر في طرق للحصول على الوقت المحدد تلقائيا:
- طلب عبر الإنترنت إلى خادم وقت محدد.
- Glonass \ استقبال GPS. لسوء الحظ ، لا يعمل في بعض الحالات: على سبيل المثال ، في شقتي في أسفل الغرفة تختفي الإشارة من الأقمار الصناعية ، والتكوين غير الناجح للمباني المحيطة يؤثر علىي ، حيث السماء الصافية مرئية فقط مباشرة من النافذة.
- الشبكة الخلوية. من الناحية النظرية ، يمكنك طلب الوقت من محطة خلوية دون تسجيل (على سبيل المثال ، بدون بطاقة SIM). لم أحاول. من الناحية النظرية ، الطريقة الأكثر شيوعًا التي لا تتطلب أي شيء من المستخدم.
- إشارات زمنية دقيقة بأطوال موجية طويلة. من الصعب التطبيق ، لا توجد حلول جاهزة محمولة.
في رأيي ، فإن أفضل طريقة هي طلب الوقت المحدد عبر الإنترنت. تجدر الإشارة إلى أن الوظائف المضمنة لتخزين الوقت الحالي لـ ESP8266 اتضح أنها دقيقة للغاية: في شهر من قطع اتصال نقطة الوصول بالشبكة التي تم من خلالها توصيل الساعات الموصولة بالإنترنت بطريق الخطأ ، كانت المغادرة أقل من دقيقة واحدة. لقد حددت هذا من خلال مصادفة الساعة ووقت الكمبيوتر. بعد استعادة الطاقة ، تتم مزامنة نقطة الوصول تلقائيًا.
اختيار المعالج والتحكم الدوائر GRI
للسيطرة على مدار الساعة يتطلب معالج مع القدرة على الوصول إلى الإنترنت. من تلك المتاحة ، هذه هي لوحات تستند ESP8266. وأظهرت دراسة لهذه القضية أن لوحة رخيصة ، على نطاق واسع ، لديها برامج غنية جاهزة الصنع التي أنشأتها المتحمسين ، ويمكن برمجتها في بيئة اردوينو.
اختيار نظام (الدوائر الدقيقة) للسيطرة على GRI
يتم تشغيل GRI بواسطة الجهد العالي إلى حد ما من حوالي 200 فولت. وفقًا لجواز السفر (انظر الشكل 1) ، يتطلب IN12 ما لا يقل عن 170 فولت للوقوع الطبيعي لتفريغ الوهج عند تيار يصل إلى 2 مللي أمبير. يجب أن يكون نظام التحكم قادرًا على تبديل تيارات عدة ملليام وتحمل الفولتية في منطقة تبلغ 200 فولت. في الاتحاد السوفيتي ، تم إنتاج K155ID1 (133ID1 ، وما إلى ذلك) الدوائر الصغيرة (وحدة فك الترميز العشري الثنائية ذات الجهد العالي). كانوا يعملون تماما في وضع ثابت ، وكان مطلوب واحد فك لكل مصباح. الآن تتوفر هذه الدوائر الصغيرة من الأسهم القديمة ويتم إنتاجها على دفعات صغيرة بواسطة مصنع مينسك متكاملة. من حيث المبدأ ، اختيار جيد للساعات على الدوائر الدقيقة. ومع ذلك ، من الصعب استخدامها في نظام المعالجات الدقيقة بسبب العدد المحدود من المخرجات على المعالجات الدقيقة. لذلك ، فإن ساعة ESP8266 ، التي تم أخذها كأساس ، لا تتضمن سوى عشرات الاستنتاجات ، وبعضها يحتوي على قيود معينة. بالنسبة لـ 7 وحدات فك تشفير ، يلزم 28 إخراجًا أو سجل وسيط ، حيث يجب أن يتم إخراج البيانات بالتتابع ومن ثم الإخراج بالتوازي مع K155ID1 ، مما يعقد الدائرة إلى حد كبير.
الشكل 1. جواز سفر مؤشر تصريف التوهج IN-12
الشكل 2. جواز سفر مؤشر تصريف التوهج IN-15عند استخدام 155ID1 ، يتطلب تأثير التغيير السلس للأرقام إشارة ديناميكية. والحقيقة هي أن GRI هو جهاز غير خطي بشكل حاد ومن الصعب للغاية التحكم في سطوعه بطريقة تماثلية عن طريق تغيير الجهد - إنه صعب للغاية بسبب الانحدار العالي لخاصية الجهد المطبق حاليًا. في منطقة السطوع المنخفض ، يصبح تصريف الغاز غير مستقر. أيضًا ، تؤثر الإضاءة الخارجية على التشغيل المستمر للمصباح - مع انخفاض في الإضاءة الخارجية ، حيث يزيد كل من جهد الانهيار والمؤشر في الوقت المحدد. الفوتونات الخارجية بمثابة نوع من أخف وزنا ، البادئين للتصريف. بالمناسبة ، يتم استخدام درجة الانحدار العالية لاعتماد التيار من خلال جهاز تفريغ الغاز على الجهد المطبق للحصول على جهد ثابت ، في الواقع ، مثل جهاز تفريغ الغاز هو عامل استقرار للجهد. لذلك ، للتحكم في سطوع GDI ، يلزم استخدام وضع الطاقة النبضية ، حيث يتناسب السطوع مع متوسط التيار من خلال GDI ، والذي بدوره يتناسب مع عرض النبضة.
تكون الإشارة الديناميكية عند استخدام 155ID1 + GRI ممكنة تمامًا ، ولكن يوجد بها عدد من القيود. لذلك ، نظرًا لخصوصية دارات 155ID1 (العناصر الرئيسية ذات الجهد المنخفض نسبيًا - 60 فولتًا فقط) ، من الممكن ظهور ومضات من الأرقام المجاورة وغيرها من التأثيرات غير المرغوب فيها. يتم مكافحة هذه التأثيرات باستخدام مجموعة متنوعة من الحيل - كل من الأجهزة والبرامج. يوجد موضوع كبير على موقع RADIOKOT.RU على الويب (https://radiokot.ru/forum/viewtopic.php؟f=3&t=3210) المخصص لـ NIXIE CLOCK ، لقد قرأت كل شيء وقدمت استنتاجات بنفسي - الإشارة الديناميكية غير مناسبة لأغراضي .
أعطى البحث على الإنترنت بديلاً ممتازًا عن 155ID1 - هذه هي شريحة HV5622 ، والتي تمثل سجل تحويل 32 بت مع مخرجات الجهد العالي. يظهر الرسم التخطيطي للكتلة في الشكل 3.
الشكل 3. الرسم البياني الهيكلي HV5622 ، Supertex المؤتمر الوطني العراقي. ©HV5622 قادر على تبديل الفولتية حتى 230 فولت ، واستقبال البيانات عبر واجهة تسلسلية مع تردد ساعة يصل إلى 8 ميغاهيرتز. يمكن توصيل الدوائر الصغيرة في سلسلة في سلسلة. للتحكم ، لا يلزم سوى 4 مخرجات من MK: البيانات وإشارة الساعة وإشارة كتابة إلى سجل المخرجات وإشارة تمكين. الشيء الوحيد الذي تسبب في بعض الشكوك هو تغذية التوتر. وفقا للدليل ، يجب أن يكون ما لا يقل عن 8 فولت. وأريد تشغيل الرقائق من 5 فولت ، وحتى التحكم فيها بإشارة منطقية بمستوى 3.3 فولت. في الإنترنت ، وجدت مثالين على استخدام هذه الدوائر الصغيرة وقوتها من 5 فولت. لذلك ، أثناء التطوير ، فقط في حالة ، لقد أتيحت لي الفرصة لتثبيت محول مستوى منطقي ومزود طاقة 5622 بجهد أعلى ، لكنني لم أقم بتثبيت هذه العقد على الفور. وقد أظهرت الممارسة أن كل شيء يعمل بشكل جيد من 5 فولت على أي حال.
مشاهدة التغذية
لتشغيل الساعة على GRI ، يلزم توفر مصدر طاقة مزود بمخرجين: 5 فولت مع تيار في منطقة نصف أمبير و 180-200 فولت بتيار يبلغ حوالي 10 مللي أمبير. بشكل افتراضي ، يحل مؤلفو المخططات الخاصة بهذه الساعات مشكلة الطاقة كما يلي: يستخدمون مصدر طاقة تبديل خارجي 220 -> 12 فولت ، يتم تصنيع 5 فولت منها على مدار الساعة ، ويتم الحصول على 180 فولت من مزود الطاقة من خلال محول النبض الثاني من مدخل 12 فولت. أي في الواقع ، يتم استخدام محولين للنبض في دائرة تزويد الطاقة العامة ، أولهما ينتج 220 - 12 ، والثاني 12 - 180. في رأيي ، إنه غير فعال. لذلك ، اخترت وسيلة تقليدية للغاية لاستخدام محول حلقي الجاهزة TorAN15. يظهر شكل هذا المحول في الشكل 4.
الشكل 4. TorAN15 محوللقد اشتريت هذا المحول على موقع ISTOK2.COM. يحتوي المحول على لفين ثانويين - واحد في 170 فولت ، والثاني على 6.3 فولت. هذا جعل من الممكن الحصول على مع أبسط دائرة امدادات الطاقة. يتم إمداد GRI بإمداد الطاقة العالية بجسر الصمام الثنائي ويتم ترشيحه على المكثفات. يتم استخدام هذه الأجزاء من مصباح توفير الفلورسنت غير الضروري. كما يتم تصحيح انخفاض إمدادات الطاقة من خلال دائرة الصمام الثنائي بواسطة جسر الصمام الثنائي ، ويتم ترشيحها على مكثف كهربائيا واستقرارها في جهاز تثبيت متكامل 7805. كفاءة هذه الدائرة أعلى بكثير من نظام به تحويلان ، وموثوقية النظام أعلى من ذلك بكثير. بالإضافة إلى الغياب التام للتداخل عالي التردد. ناقص غير عصري والمحول ثقيل. لكن شدة المحول في هذه الحالة هي علامة زائد - أردت أن تكون الساعة ضخمة بوحشية.
لذلك ، تم تعريف مخطط الساعة: هذه وحدة نمطية جاهزة مبنية على ESP12E وثلاث دوائر صغيرة من نوع HV5622 ومستشعر ضوء قائم على MAX44009 ومزود طاقة تقليدي (حتى أن أقول محافظ). بعد ذلك ، تمت إضافة عقدة لتحديد شخص أمام الساعة استنادًا إلى وحدة الليزر rangefinder وقت الرحلة VL53L0X. يظهر الرسم التخطيطي للساعة في الشكل 5.
الشكل 5. على مدار الساعة Dronsky Nixie. رسم تخطيطيقسمت مفتاح التبديل على النحو التالي: المصابيح الثلاثة الأولى - HV5622 الأولى ، والثلاثة مصابيح - HV5622 الثانية ، HV5622 المتبقية تتحكم في المصباح بأحرف خاصة ونقاط في اثنين IN12B.
في مرحلة التصميم ، لم يكن واضحًا ما إذا كانت قناة SPI ستكون لديها سرعة كافية لإخراج البيانات من أجل التغيير السلس للأرقام. حقيقة أن مرة واحدة في الثانية لإنتاج 96 بت ليست صعبة بالنسبة ESP12E كان دون أدنى شك. ولكن هل هناك سرعة كافية لإخراج الآثار؟ وفقا للحسابات يجب أن يكون كافيا مع هامش. ولكن كما تعلمون ، كانت سلسة على الورق ...
لذلك ، في البداية تم التخطيط لإخراج البيانات على ثلاث مراحل ، بشكل منفصل لكل شريحة. أظهر اختبار عملي أن قناة SPI لديها سرعة كافية بهامش كبير للتأثيرات ، حتى مع تردد ساعة قدره 4 ميجاهرتز. حتى القدرة على مضاعفة السرعة لم يطالب بها أحد. نتيجة لذلك ، يتم توصيل جميع الدوائر الصغيرة في سلسلة ويتم إخراج 96 بت بأمر واحد. وفقًا للحسابات ، يجب أن يكون وقت إخراج 96 بت 24 ميكرون. يوضح الشكل 6 سجلاً لمحلل منطقي يقوم بإخراج سبعة أحرف في GRI. إجمالي وقت الإخراج ، مع مراعاة توليد إشارة LE ، أقل من 30 thanS.
الشكل 6. محلل منطق إخراج قناة الإخراج 96 بت HSPI مع تردد ساعة من 4 ميغاهيرتزيتم الجمع بين دبابيس CLOCK لجميع رقائق البطاطس. يتم توصيل محطة DI (إدخال البيانات) الخاصة بالدائرة الصغيرة الثانية والثالثة بمحطات DO (إخراج البيانات) الخاصة بالدائرة الصغيرة الأولى والثانية ، على التوالي. يتم الجمع بين دبابيس جنيه (تمكين مزلاج) ، فإنها تتلقى نبضة تنقل البيانات من التحول إلى سجل الإخراج. حتى يتم نقل المصباح ، يتم تخزين ما يتم تخزينه في سجل الإخراج. يتم الجمع بين دبابيس BLOCK ، متصلة بالأرض من خلال المقاوم 1k ، للحفاظ على مراحل الإخراج من HV5622 حتى يبدأ البرنامج في MK. يوصي الدليل بتطبيق القدرة ، وإجراء أول إخراج للبيانات ، ثم تشغيل مراحل الإخراج.
التحكم في السطوع
للتحكم في سطوع GRI من أجل الحفاظ على التباين الأمثل الثابت للمؤشرات ، يتم استخدام خرج BLOCK ، الذي يتم توفير إشارة PWM له بتردد 2500 هرتز. تم استخدام تردد عالي بما فيه الكفاية لإشارة التحكم في PWM ، مما كفل عدم وجود تأثيرات قوية ، إلخ. وفقًا للمعايير (قواعد ولوائح البناء (قواعد وقواعد البناء) 23 - 05 - 2010 (نسخة محدثة من SNiP 23 - 05 - 95) والقواعد الصحية وقواعد SNPiN 2.21 /2.1.1.1278-03) يُعتقد أن الشخص لا يرى تواتر نبضات الإضاءة فوق 300 هرتز. في هذه الحالة ، يوفر زيادة تردد PWM بمقدار تقريبًا المستوى المناسب من الراحة البصرية.
تأثير التغيير السلس للأرقام
من أجل الحصول على التأثير المرئي للتغيير السلس للأرقام ، من الضروري التبديل بين الأرقام القديمة والجديدة بالتناوب أثناء وقت تغيير رقم إلى آخر (عادةً ما يتراوح بين 200 و 250 مللي ثانية) ، ويجب تقليل وقت النسخ للأرقام القديمة ، ويجب زيادة الرقم الجديد. الخوارزمية لتغيير الأرقام (تغيير روتين فرعي ()) ينفذ 60 دورة.
عند بدء تشغيل خوارزمية تغيير الرقم ، يتم تضمين الرقم الأول بنسبة 100٪ من وقت الدورة والثاني 0٪. مع مرور الدورات ، يتناقص وقت تشغيل الرقم الأول من 100٪ إلى 0٪ ، بينما يزيد الرقم في الوقت المحدد من 0٪ إلى 100٪). وبالتالي ، فإن الخوارزمية لتغيير الأرقام بسلاسة أكثر من 200 مللي ثانية و 60 دورة تقلل من سطوع الرقم الأول إلى الإيقاف ، والثانية إلى السطوع الكامل.بقية الوقت من الفاصل الثاني ، يتم تشغيل الأرقام بشكل مستمر وثابت ، يتم تقليل سطوعها العام عن طريق التحكم في إشارة تشغيل / إيقاف عامة للإشارة PWM على محطات BL.ويبين الشكل 7 الإشارات التي سجلها محلل المنطق عند تغيير الأرقام. يمكن ملاحظة أنه في بداية الروتين الفرعي للإزاحة ، يتم تشغيل الرقم القديم لأقصى وقت ، والرقم الجديد هو الحد الأدنى ، وأثناء فترة الإزاحة (حوالي 250 مللي ثانية) ، يقل وقت حرق العدد القديم إلى 0 ، وينمو الرقم الجديد إلى الحد الأقصى. بصريا ، يتجلى هذا على أنه انخفاض سلس في سطوع الشكل القديم مع "ذوبان" في وقت واحد للشخص الجديد.
الشكل 7. تسجيل إشارات التحكم أثناء التغيير السلس للأرقامويرد هنا تسجيل فيديو للتأثير.و هناو هنا:
التزامن مع خوادم الوقت
بعد دراسة المشكلة على الإنترنت ، خلصت إلى أن مؤلفي البرامج أنفسهم يكتبون (أو يستخدمون إجراءات خارجية جاهزة) لبروتوكول NTP. لقد فاجأني هذا إلى حد ما ، لأن Espressif SDK يذكر وظائف مضمنة للعمل في الوقت الفعلي. توفر الوظيفة المدمجة طلبًا لخوادم الوقت (حتى ثلاثة) ، وتصحيح الوقت (وفقًا لملاحظاتي - يتم طلب خادم الوقت كل 4-6 ساعات) ، وتحويل قيمة في شكل وقت Unix إلى نموذج قابل للقراءة من قبل الإنسان ، وتصحيح وفقًا لوقت معين - المنطقة.من ميزات استخدام الوظيفة المضمنة في الوقت الفعلي: بالنسبة لطلبات الوقت الأولى وعدة طلبات لاحقة ، يتم إرجاع الصفر ويتم إصدار التشخيصات "تشغيل rtc أولاً". كيفية القيام بذلك - لم أجدها ، وبالتالي انتظر فقط (بضع ثوانٍ) حتى يظهر وقت غير الصفر.خوارزمية إطلاق الساعة
عند تشغيل الساعة ، يتم تشغيل النظام في وضع العميل وتبذل محاولة للاتصال بنقطة الوصول مع التفاصيل المخزنة.يتذكر ESP8266 هذه التفاصيل بعد اتصال سابق ناجح من تلقاء نفسه في ذاكرة الخدمة. هذه هي ميزة تنفيذها في SDK. إذا لم ينجح هذا الاتصال ، يتم إجراء المحاولة التالية ، ولكن تتم قراءة اسم وكلمة المرور لنقطة الوصول من EEPROM. يخزن EEPROM أيضًا المنطقة الزمنية (رقم في النطاق -12 - +12) ، والذي يستخدم بعد ذلك لتحويل الوقت بشكل صحيح إلى تنسيق محلي.إذا لم ينجح هذا الاتصال أيضًا ، يتغير وضع التشغيل إلى "نقطة الوصول" وتصبح صفحة الويب الخاصة بالساعة متاحة على العنوان القياسي 192.168.4.1 لأي جهاز متصل بنقطة الوصول هذه. في حالتي ، اسم نقطة الوصول هو ESP_D. من الهاتف الذكي أو الجهاز اللوحي أو الكمبيوتر المحمول ، انتقل إلى صفحة الجهاز ، واختر نقطة وصول وأدخل كلمة مرور. أثناء تشغيل وضع نقطة الوصول ، يكون وضع العميل في وضع إيقاف التشغيل. ويرجع ذلك إلى خصوصيات سلوك النظام في حالة فشل الاتصال بنقطة الوصول. سيقوم النظام باستمرار بتكرار المحاولات للانضمام ، وسيتم شغلها فقط مع هذا ولن يكون هناك عملياً أي موارد لأي شيء آخر. ظاهريا ، هذا سوف يعبر عن نفسه باعتباره تثبيط غير سارة للواجهة. يظهر الشكل في الصفحة 8.
الشكل 8. مظهر واجهة ساعة WEB وسطر الأوامر ، مما يدل على الاستجابة لأمر ping ،وفي هذه الصفحة ، يتم عرض جميع نقاط الوصول التي تم العثور عليها. يتم تصنيف نقاط الوصول حسب قوة الإشارة ، والخط العلوي هو نقطة الوصول التي تحتوي على أقوى إشارة ، والأرجح أنها الأقرب (بمعنى الإشارة التي يجب عليك الانضمام إليها). يجب إدخال كلمة مرور وتحديد منطقة زمنية والنقر فوق "موافق". سيقوم النظام بتشغيل وضع "العميل" (بالتزامن مع "نقطة الوصول") ، وسيحاول الانضمام. إذا كان الاتصال ناجحًا ، فسيتم تخزين المعلمات في EEPROM. إذا فشل الاتصال ، تظهر رسالة على الصفحة ويمكنك إعادة المحاولة لإدخال كلمة المرور ، إلخ.بعد تسجيل الدخول الناجح إلى الشبكة ، سيتم إيقاف تشغيل وضع "نقطة الوصول" وسيظل وضع "العميل" فقط ، أي لا يمكن الوصول إلى صفحة المشاهدة إلا من الشبكة الداخلية.من أجل التمكن من الوصول إلى الساعة بالاسم (في حالتي "esp") ، يتم إطلاق مكتبة NBNS ، والتي توفر استجابة عبر بروتوكول NetBios. تتيح المكتبة للساعة الاستجابة لأوامر مثل ping esp والوصول إليها بمجرد الاسم espلأسباب غير واضحة بالنسبة لي ، هذه مكتبة رائعة تشكل استجابة لطلب البث مثل "على أي عنوان هو" الاسم "؟" ويتيح لك نسيان الإجراء الكئيب المتمثل في تحديد عنوان IP الخاص بالجهاز وفقًا للبيانات الداخلية لجهاز التوجيه (التبديل) ، وهو نادر الاستخدام. لا تستخدم جميع الأجهزة الموجودة على ESP8266 الموضحة على الإنترنت هذه الآلية البسيطة والمريحة. الكسل يجب أن يحرك التقدم - لكنه في هذه الحالة لا يتحرك.بعد ذلك ، تبدأ دورة البرنامج الرئيسي ، حيث يحدث ما يلي:- يتم استجواب الوقت الحالي وعندما تمر الثواني ، يبدأ تغيير في عرض الوقت.
- يتم استشعار مستشعر الضوء ويتم ضبط دورة التشغيل لإشارة PWM ، والتي تتحكم في سطوع الساعة. الغرض من التعديل هو الحفاظ على التباين الثابت للأرقام عند تغيير الإضاءة في الغرفة.
- VL53L0X. , 2 .
أظهرت التجارب أن 2 متر في حالة مثالية عند استخدام ورقة من الورق الأبيض أو رقائق الألومنيوم مع معامل الانعكاس بالقرب من الوحدة كعاكس. بالنسبة للأجسام العادية ذات معامل الانعكاس الناقص (الأنسجة ، بشرة الإنسان ، إلخ) ، فإن مسافة تحديد الثقة تزيد قليلاً عن متر واحد. إذا أشار المستشعر إلى وجود كائن أمام الساعة ، يبدأ الروتين الفرعي في عرض درجة الحرارة والرطوبة وضغط الهواء الحالي في الهواء الطلق. تم اتخاذ تدابير لزيادة بعض مناعة الضوضاء - يتم استخدام أبسط خوارزمية "أكثر من 50 ٪ من العمليات". هذا يعني أنه بالنسبة للفاصل الزمني البالغ 800 مللي ثانية ، يجب اكتشاف الهدف على مسافة تقل عن متر واحد في أكثر من نصف قياسات النطاق. عند تصحيح الأخطاء ، أظهر النظام أنه يتم عادة الحصول على 50-60 عملية عندما يكون الهدف في مجال رؤية المستشعر.لا يعمل نظام الكشف البشري إلا عندما يظهر الهدف في مجال الرؤية. لبدء العرض مرة أخرى ، تحتاج إلى التراجع والعودة مرة أخرى. يتم ذلك لإزالة الموقف أثناء عرض المعلمات الخارجية أثناء الوقوف أمام الساعة.يستخدم مستشعر الليزر VL53L0X ديود ليزر IR ينبعث عند طول موجة 940 نانومتر ، آمن للعينين.يُظهر الفيديو تفاعل النظام مع ظهور عقبة في مجال رؤية محدد موقع الليزر:كانت الخطة الأولية لتشغيل عرض البيانات الخارجية هي استخدام شريحة التعرف على الصوت. للقيام بذلك ، استخدمت شريحة WTK6900B02 (أداة التعرف على الأوامر الصوتية) ، التي توفرها Sound Technologies. وفقًا للوصف ، يجب أن يتعرف microcircuit على عشرات الأوامر الصوتية ويصدر رمزًا ثنائيًا يتوافق مع الأمر المستلم. تم توصيل نبضة من الدائرة الدقيقة بأحد مخرجات ESP8266 وتم توصيل معالج مقاطعة الأجهزة بها. عن طريق مقاطعة الأجهزة ، يتم تسجيل حقيقة التعرف على الأوامر الصوتية. تم تسجيل عدد من الأوامر باللغة الإنجليزية مسبقًا في الشريحة التي تلقيتها. لقد تدربت بشدة على "النطق الصحيح" للأوامر ، بحيث يتم التعرف عليها. اتضح أنه لا ينبغي للمرء أن يتكلم مع نطق أكسفورد ، بل بلكنة صينية :)) ، بصوت عالٍ للغاية.على الرغم من الوقت الكبير الذي قضيته ، لم أتمكن من تحقيق اعتراف موثوق بالأوامر الصوتية. وكان أفضل ما حصلت عليه حوالي 50 ٪ الاعتراف الصحيح. لذلك ، اضطررت إلى استخدام آلية أخرى لتشغيل عرض البيانات الخارجية - مقياس مسافة الليزر VL53L0X.ترك البرنامج الرئيسي للساعة آثارًا لاستخدام نظام التحكم الصوتي.يحتوي البرنامج أيضًا على أجزاء لقراءة البيانات من مستشعر VEML6070 فوق البنفسجي. الحقيقة هي أنني قمت بتصحيح برنامج الساعة بالتناوب في المنزل وفي العمل ، وكان لدي جهاز استشعار MAX44009 واحد فقط. لذلك ، في العمل ، تم توصيل المستشعر فوق البنفسجي VEML6070 بـ ESP8266 وتم كتابة جزء من البرنامج يحدد أيًا من المستشعرات متصل حاليًا. للعمل على خوارزمية ضبط التباين ، اتضح أن هذا يكفي ، ولم أغير أي شيء في الإصدار النهائي من البرنامج.إخراج البيانات لتسجيل HV5622
كما ذكرت أعلاه ، للتحكم في مصابيح تصريف الغاز ، فإن الدوائر الكهربائية الصغيرة القادرة على تبديل الجهد العالي إلى حد ما مطلوبة. اخترت رقائق HV5622 ، والتي هي عبارة عن سجل 32 بت مع كتابة متسلسلة وقراءات متوازية. كل كاثودات المصابيح متصلة بكل محطة HV5622. لإشعال رقم معين ، من الضروري إخراج 0. إلى أول HV5622 يتم توصيل الكاثودات من ستة GRI ، إلى HV5622 الثالثة هي فواصل نقطة من الساعات والدقائق والثواني والكاثودات من المصباح السابع مع أحرف خاصة. لتمكين الأرقام المطلوبة في المصابيح ، يجب عرض رقم 32 بت في السجل ، حيث يتطابق السجل 1 (البيانات الموجودة داخل HV5622) مع الكاثودات اللازمة للمصابيح. البرنامج يحتوي على صفائف البعد 10 متغيرات 32 بت.يحتوي كل عنصر من عناصر هذا الصفيف على رقم ثنائي له سجل 1 في أحد المواضع ، حيث يؤدي إخراجه إلى السجل إلى اشتعال الرقم المطلوب. نظرًا لأن كل دائرة كهربائية صغيرة تتحكم في العديد من GDIs ، فمن الضروري بالنسبة للإخراج تكوين متغير 32 بت واحد مسبقًا من عدة عناصر ، تتكون أساسًا من المنطق 0 ، حيث يتوافق السجل 1 مع الأرقام المطلوبة في كل مصباح.تجدر الإشارة إلى أن قرار استخدام المصفوفات للتحكم في كاثود GRI له ميزة خطيرة: إذا حدث خطأ وتم خلط استنتاجات GRI عند أسلاك اللحام من مآخذ GRI إلى مآخذ HV5622 ، ثم لإصلاحها ، فقط قم بتغيير الثابت في البرنامج دون تغيير أي شيء. إن العدد الكبير والتخطيط الضيق للخيوط HV5622 يجعل عملية لحام سلكين متجاورين عملية صعبة.لإكمال جميع السجلات الثلاثة ، من الضروري إخراج 3 متغيرات 32 بت (96 بت في المجموع). من غير المعقول القيام بذلك باستخدام "رافعة" - تستغرق وقتًا طويلاً للغاية.لحسن الحظ ، ESP8266 يدمج آلية الأجهزة (HSPI) للاتصال التسلسلي ، و SDK لديه وظائف الوصول إلى هذه الآلية. مع إطلاق هذه الآلية ، كان علي أن أعاني. كانت الصعوبة أنه لم يكن من الواضح أين وضع متغيرات 32 بت للإخراج في وضع HSPI. لفهم آلية HSPI ، استخدمت محلل المنطق. بعد سلسلة من التجارب ، أدركت أن 96 بت يتم إخراجها ، ومع ذلك ، هذا هو رقم 32 بت المطلوب في البداية واثنين من 32 بت يحتوي على القمامة التعسفي. لم يقدم البحث على الإنترنت أي شيء ، لكن في أي نقطة أدركت أنه إذا كان هناك تعليم مثل WRITE_PERI_REG (SPI_W0 (HSPI) ، d0) ؛ ثم يمكنك محاولة كتابة WRITE_PERI_REG (SPI_W1 (HSPI) ، d1) ؛ ومزيد من WRITE_PERI_REG (SPI_W2 (HSPI) ، d2) ؛ حيث d0 و d1 و d2 هي متغيرات 32 بت. أي
يجب عليك أولاً تحليل البيانات في سجلات SPI_W0 - SPI_W2 ، ثم إصدار أمر لبدء التبادل. وألاحظ أيضًا أن وحدة HSPI يمكنها إخراج ما يصل إلى 512 بت ولا يوجد سوى 16 من هذه السجلات: W0 - W15.يتم إنشاء إشارة LE ، التي يتم من خلالها نقل البيانات إلى سجل الإخراج HV5622 ، برمجياً.تصحيح النظام
لم أكن أجرؤ على تصحيح النظام فورًا باستخدام فولطية عالية كاملة (230 فولت) وصنعت أكثر من 12 مؤشر LED مع مؤشر تصحيح للجهد الكهربي للتشغيل يبلغ 5 فولت. بعد تصحيح الأخطاء ، عندما كنت متأكدًا من أن مصابيح LED الصحيحة قد تم تشغيلها بشكل صحيح ، تم تثبيت GRI في اللوحات وتم تطبيق مستوى عالٍ. نتيجة لتسلسل تصحيح الأخطاء هذا ، لم تتضرر شريحة واحدة أو مصباح مؤشر واحد :). يظهر في الصورة 9. صورة للعقدة المستخدمة لتصحيح الأخطاء
.عملية تصحيح فيديو قصيرة هناالسكن
كانت الفكرة الأصلية هي صنع غلاف وحشي مصنوع من معدن سميك مثل النحاس أو النحاس أو البرونز. ومع ذلك ، نظرًا لأن اتصال Wi-Fi يتطلب غلافًا عازلًا ، في الإصدار الأخير فقط تبقى اللوحة الأمامية من المعدن السميك. أسفرت عملية البحث السريع على الإنترنت عن الشركات التي تقوم بتركيب العبوات المخصصة عن تخصيص رقم بحوالي 5000 ص لكل حاوية. في رأيي ، هذا مبلغ غير معقول في الظروف الحالية. لذا ، التقطت المبنى النهائي (Gainta G2119C) ، واشتريته في الطريق إلى الكوخ في متجر Shcherbinsky Chip-i-Deep واستقرت فيه ، تاركًا سؤال اللوحة الأمامية وربما مبنىً آخر في وقت لاحق.
على الرغم من العيوب الموجودة في جزء علبة الساعة ، فقد قررت ذكر النتائج المحققة في المقالة ، معتقدًا أن حلول الدوائر والبرامج المطورة والمطبقة ستكون ذات فائدة للجمهور.
يظهر الشكل الحالي اليوم في الشكل 10.

الشكل 10. ظهور حالة ووتشالخاتمة
تعمل الساعة لأكثر من عام ، ولم تحدث إخفاقات ، وقد تم إنجاز المهام. سأذكر مرة أخرى السمات المميزة لمتغير ساعتي:
- وضع العرض الثابت مع التأثير المتزامن لتغيير سلس للأرقام
- باستخدام رقائق HV5622 للسيطرة على GRI
- تتم كتابة بيانات HV5622 باستخدام محرك أجهزة HSPI
- يتم أخذ الوقت الدقيق من خوادم الوقت بالضبط من الإنترنت.
- الوصول إلى الساعة ممكن بالاسم من الشبكة الداخلية
- الإعداد مطلوب مرة واحدة في البداية.
- الغياب الكامل للأزرار ، وأجهزة الإنذار ، إلخ.
- ضبط ستبليس لسطوع توهج GRI من أجل الحفاظ على تباين ثابت في الصورة في الحدود المعينة للتغير في الإضاءة المحيطة
- تتفاعل الساعة مع أسلوب الشخص وتظهر درجة حرارة الشارع والرطوبة وضغط الهواء.
أنا مرتاح :)
→ الأرشيف مع البرنامج يكمن
هنا