مرحبا بالجميع.ركبت في الظلام ذات مرة وخرجت بالفكرة ، سيكون من المثير للاهتمام أن يتغير لون إضاءة الأداة من السرعة أو سرعة المحرك. لأن ليس لدي مقياس سرعة الدوران على مرتبة ، ثم تقرر تنفيذ الخيار الثاني ، لأحدهما سيكون من الممكن تحديد السرعة تقريبًا.إذا أراد شخص ما أن يكرر ، سأقول على الفور ، فأنت تعمل مع كهربائي في سيارة على مسؤوليتك الخاصة.يمكن للحرفيين أن يقولوا بشكل معقول عن طلقات المدافع عند العصافير وعن قدرتي الممتازة على البرمجة ، ولكن تم تحقيق الهدف ، وتم تحقيق الخطة وهي تعمل من أجلها :). بشكل عام ، ستحتاج إلى: Arduino ، زوج من مصابيح LED RGB ، والعديد من المقاومات واثنين من رقائق تثبيت الجهد ، يتصاعد لمصابيح LED. مهتمة من فضلك تحت القط.
أعطى بحث سريع على الإنترنت معلومات عن أن مقياس سرعة الدوران يتلقى معلومات في النبضات. لم يتم العثور على معلومات دقيقة عن شكل ومدة البقول. سواء تغيرت مدتها أو كانت ثابتة ، ولكن هل يتغير الوقت بين النبضات. حسنًا ، يجب عليك تعليم Arduin حساب النبضات ، وتحديد الوقت نفسه عند الاتصال بـ "+" ومتى "0".نقوم بتوصيل الصمام الثنائي RGB. لا تنس وضع مقاوم حد على كل LED.const int RED_PIN = 9;
const int GREEN_PIN = 10;
const int BLUE_PIN = 11;
سنستخدم
طريقة attachInterrupt . تستدعي الطريقة وظيفة عندما يظهر الجهد و / أو يختفي على الدبوس. في حالتنا ، نحتاج إلى الرد في كلتا الحالتين ، لأننا لا نعرف شيئًا عن الدافع باستثناء وجوده. كما اتضح لاحقًا ، مع زيادة السرعة ، تقل كل من المدة + والمدة 0.long micro_prev=0;
long micro_now=0;
long razn;
long impulse;
long silence;
في الإعداد ، نقوم بتوصيل الدبوس الذي سيتم توصيل سلك الدفع به. هذا هو دبوس رقمي 2. 0 في التعليمات البرمجية. هذا هو ترقيم الدبابيس التي يمكن أن تعمل في هذا الوضع. تطابق رقم 2. attachInterrupt(0, blink, CHANGE );
micro_now=micros();
razn=micro_now-micro_prev;
a++;
if(digitalRead(2)==LOW){
impulse=razn;
} else {
silence=razn;
}
if(a==2){
Serial.println(String(impulse)+" "+String(silence));
obr_v_min=30000000/(impulse+silence);
a=0;
بعد ذلك ، نتحقق من أن البيانات كافية: مدة النبض ، وبالتالي ، تتوافق الثورات مع المعايير الفيزيائية وتبدأ في التحكم في الضوء.ستتغير السرعة من الأزرق إلى الأخضر ومن الأصفر إلى الأحمر. رسم تخطيطي لاعتماد اللون على الثورات أدناه. المقياس الأفقي للثورات. عموديًا ، يتراوح مستوى السطوع من 0 إلى 255. لم يضيء الأزرق والأحمر النقي اللوحة بشكل كافٍ ، لذلك كان علي أن أضعها بشكل مختلف قليلاً. لكن اللون الأزرق بدأ يلقي بكدمة ، جميل جدًا :)
لكل قسم من الأقسام تحتاج إلى إنشاء صيغة يتم من خلالها حساب السطوع. في الواقع ، هذه المعادلة هي خط مستقيم عند نقطتين. تعتبر سهلة.لذلك على سبيل المثال لمؤامرة 800-1300 ، سيتم اعتبار السطوع كماg=0.21*obr_v_min-18;
b=-0.51*obr_v_min+663 ;
r=0;
لا تنس النظر في الأخطاء إذا توقفت عن تدفق البيانات الكافية. أكثر من 100 خطأ متتالي (تجربة ، إذا انقطع السلك ، فإن هذا المئة يطير في جزء من الثانية) ، فإننا نتركه بلون ثابت. عندما تظهر البيانات ، نعود. error++;
if(error>=100){
k = go_to_color(0,255,255);
}
وأخيرًا ، تغير نعومة اللون.int go_to_color(int r, int g, int b){
while(r_current!=r || g_current!=g || b_current!=b)
{
if(r_current>r){
r_current=r_current-1;
}
if(r_current<r){
r_current=r_current+1;
}
....
delay(100);
analogWrite(RED_PIN, r_current);
analogWrite(GREEN_PIN, g_current);
analogWrite(BLUE_PIN, b_current);
}}
عند تشغيل النظام ، قم بإضاءة الإضاءة الخلفية برفق. للقيام بذلك ، قمنا بإعداد المتغير first_loop ، الذي سوف يخبر arduine أنه ليس من الضروري بعد الانتباه إلى النبضات. if(first_loop==1){
int i;
for(i=0;i<255;i++){
analogWrite(RED_PIN, 0);
analogWrite(GREEN_PIN, 0);
analogWrite(BLUE_PIN, i);
delay(5);
}
b_current=255;
r_current=0;
g_current=0;
delay(500);
first_loop=0;
}
لذلك ، كل شيء ، حان الوقت للاختبار. في الشارع في شهر يناير ، يكون الجو باردًا في البرد واختبره على سيارة. بحاجة إلى جهاز محاكاة. نأخذ ardudinka الثاني ونصنع منه مولد نبض.بشكل عام ، هذا هو الحال. عند تصحيح الأخطاء ، أضفت تحكم COM هنا لتغيير الطول.digitalWrite(8, HIGH);
delay(10);
digitalWrite(8, LOW);
delay(10);
بمصادفة سعيدة ، تبين أن راسم الذبذبات USB في يدي ، مما ساعد كثيرًا في التطوير. نحن نربط ونرى إخراج نفس الصورة تقريبًا.
بعد اللعب ، نتأكد من أن كل شيء يعمل. الآن نذهب ونبحث عن نبضات في السيارة. في المستقبل ، سأقول أنني لم أجد سلكًا لمقياس سرعة الدوران في لوحة العدادات ، لذلك اضطررت إلى الاتصال بموصل OBDII. شغل و ...
ما هذا!؟نحن الغاز.
حسنًا ، إنهم لا يعرفون كيف يحسبونها على الإطلاق. اعتقدت أنه يجب علي إعادة كل شيء. وبعد ذلك بقليل لاحظت أن السلك الثاني من مسبار الذبذبات سقط من الكتلة. يا إلهي.
واو ، كل شيء على ما يرام. هذا مجرد السعة ليست 5V اردوينو. لن نخاطر به. سوف تضطر إلى خفض.بالمناسبة ، لحظة أخرى. التردد أعلى مرتين من سرعة المحرك. أفهم أن مقياس سرعة الدوران يعرض عدد الدورات في الدقيقة ، أي عدد الومضات في الاسطوانة ، على سبيل المثال. لكن العمود المرفقي في دورة واحدة يدور مرتين. وتأخذ الدوافع منه. ومع ذلك ، قد أكون مخطئا. ولكن في حالة الخمول ، تبرد سيارة صغيرة ، أظهر المذبذب 34.4 هرتز. وهو ما يعادل 2000 دورة في الدقيقة. حتى عن طريق الأذن ، لم يكن الأمر كذلك. لكن 1000 هو. فكر في الصيغ عند حساب الثورات.أثناء اختبارات الطاقة ، لم يتصرف Arduino 12V دائمًا بشكل كاف ، لذلك سنقوم بتزويده من الشبكة الموجودة على متن الطائرة ، ولكننا نخفضه إلى 5V.المخطط العام للنظام. من خلال المثبتات L7805C نقوم بتغذية اردوينو وتقليل اتساع النبض بواسطة المقسم. عند إخراج arduins ، نقوم بتوصيل زوج من مصابيح LED بالتوازي من خلال المقاومات. هذا هو بالضبط عدد مصابيح الإضاءة الخلفية في لوحة العدادات.
حسنًا ، حان الوقت الآن لإنشاء خراطيش للثنائيات.
خرطوشة أصلية على اليمين. لم أجد مثل هذا في المتجر ، كان علي أن آخذ تلك القياسية. نخرج المحطات الطرفية من الخراطيش ، لأننا لن نأخذ الطعام منها. نقوم بحفر ثقوب لإدخال الأسلاك في الخرطوشة من الأسفل. نحن نصل الأسلاك إلى الصمام الثنائي ، ونعزلها جيدًا باستخدام أنابيب الانكماش الحراري.
لفترة طويلة كنت أبحث عن كيفية زيادة طول هذه الخرطوشة ؛ لم يكن هناك شيء قطره. ونتيجة لذلك ، استخدمت عزلًا محكمًا عن الكبل. نقوم بإحكام وربط قطرة الغراء الساخن من نهاية الخرطوشة.
حاولت عمل مثبت و 6 مقاومات لمصابيح LED على لوحة منفصلة ، ولكن لسبب ما تم حفر نصف القماش في النصف فقط في هذه العملية. على جزء واحد من اللوحة ، بقي ببساطة على حاله ، في النصف الثاني اختفى تمامًا. وبينهما حدود سلسة ، مثل المعادن المختلفة. لذلك ، لن يبدو الباقي جماليًا جدًا ، ولا توجد صور. لكن كل شيء حسب المخطط أعلاه. أثناء البحث عن كيفية زيادة الخرطوشة ، وجدت حالة مثالية تقريبًا :).
من أجل إزالة لوحة القيادة في المستقبل ، تقرر إجراء اتصال قابل للفصل. ساعد مصدر طاقة محترق في العثور على الشريحة. نهاية واحدة لاردوينو ، والنهاية الثانية لشبكة السيارة على متن الطائرة.
من الجزء الخلفي من اللوحة ، نقوم بفك برغي واحد من العلبة وربطه مرة أخرى بجزء من منفذ الكمبيوتر الذي يعمل كحالة.
نلتقط الحالة ، نجمع الأسلاك حتى لا تتسكع ونعيد كل شيء إلى الوراء. أخذت الطعام لاردوينس من الأسلاك التي تذهب إلى اللوحة. رنّت جهات الاتصال المسؤولة عن إمداد الطاقة لمصابيح الإضاءة الخلفية العادية ووجدت الأسلاك المقابلة على الشريحة. ونتيجة لذلك ، يعمل اردوين مع تضمين الضوء ، لكنه لا يعمل باستمرار. لم أجد مقياس سرعة الدوران ، اضطررت لأخذ الأسلاك إلى موصل OBDII.
بشكل عام ، كل شيء جاهز. عمل الفيديو. بالطبع ، الفيديو لا ينقل كل العمق والتباين عند تصوير عناصر مضيئة في الليل.أنا أركب لمدة أسبوع. اعتقدت أنه سيجهد. ومع ذلك ، لا ، أنا أحب ذلك. حسنا ، حتى الآن لم تتعب على الأقل :). لا يتغير بشكل حاد ، وأحيانًا لا يكون للتغيير في الرؤية الجانبية الوقت الكافي للملاحظة. يمكن ملاحظته فقط عندما يتحول إلى اللون الأحمر ، ولكنه مثير للإعجاب للغاية عندما تبدأ السيارة في تسريع اكتساب الزخم وتذهب إلى المنطقة الحمراء عند تجاوزها :). لا يدعيSketch for ArduinoUPDScheme أنه صحيح ومثالي. لا ينصح الحرفيون باستخدام مثبت الجهد لخفض سعة النبضات ، ولكن يستخدمون مقسم الجهد التقليدي. يمكن رؤية التعليقات في التعليقات أدناه.UPD2تغيير المخطط فيما يتعلق بالتعليقات. مخطط الارتباط القديمحسنًا ، أكرر ، أن مسؤولية إعادة إنتاج هذا المخطط تقع على عاتقك وحدك. حظا سعيدا في الإبداع الفني! :)