جدول المحتويات:
- الخطوة 1: المعايير
- الخطوة 2: الغلاف
- الخطوة الثالثة: الإلكترونيات
- الخطوة 4: متقبل الفاتورة
- الخطوة 5: الاختبار
- الخطوة 6: الإلكترونيات للغلاف
- الخطوة 7: الاختبار النهائي
- الخطوة 8: كود اردوينو + الروابط
فيديو: آلة بيع قائمة على اردوينو 1 دولار: 8 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
لقد حصلنا على فكرتنا من مدرس الهندسة لدينا - اعتقدنا جميعًا أنه سيكون من الجيد أن يكون لديك آلة بيع لفصلنا وقال - "رائع ، اصنع واحدة". اتضح أن آلة البيع ستكون مشروعًا كبيرًا جدًا وعندما تكتمل ستعمل كجامعة تبرعات لبرنامجنا الهندسي.
يطلق عليها آلة بيع 1 دولار ليس لأنها تكلف دولارًا واحدًا لصنعها ، ولكن ببساطة لأن متقبل الفاتورة هو نموذج قديم لا يأخذ سوى فواتير دولار واحد:)
الخطوة 1: المعايير
أردنا آلة بيع يمكن وضعها على سطح مكتب وليست طويلة جدًا. أخذنا أبعاد عرض الطاولة للتأكد من عدم وجود آلة بيع معلقة على الطاولة.
الخطوة 2: الغلاف
لقد جعلنا صندوقنا بعرض 19 بوصة وطوله 17 بوصة وطوله 25 بوصة ، واستخدمنا ماكينة CNC لقطع الخشب. استخدمنا Solidworks لتصميم الوجوه ثم قمنا بتحويلها إلى أنواع ملفات الرسم لبرنامج CNC الخاص بنا. صنفنا الحواف بالرمل ثم شدناها بـ 1”. قمنا بتوصيل اللوحة الأمامية بمفصلة واستخدمنا مسامير ¼ ، بحيث لا تمر المسامير عبر الجانب الآخر. استخدمنا أيضًا زجاج أكريليك الذي قمنا بقصه للأرفف واللوحة الأمامية.
الخطوة الثالثة: الإلكترونيات
اردوينو
استخدمنا لوحة Arduino Mega 2560. استخدمنا أيضًا لوحات Adafruit للمحركات حتى يتمكنوا من تشغيل محركات السائر. أضفنا دبابيس إلى adafruit حتى يتصلوا ببعضهم البعض. تم إدخالهم فوق بعضهم البعض. يمكن لكل واحد تشغيل محركين. أيضًا ، يرجى ملاحظة أن العبور يحتاج إلى التوصيل.
مصدر طاقة سطح المكتب
Bestek ATX Power Supply باستخدام محول للحفاظ على مصدر الطاقة. المحول من sparkfun.com ويوفر جهدًا مختلفًا.
لفائف في المحركات
لقد صنعنا نماذج سوليد ووركس لتثبيت المحرك ، والاستيلاء على الملف ، وتوجيه الملف على طول الرف. لقد حصلنا على ملفاتنا من موقع ئي باي وقطعناها إلى أبعاد. كان علينا أيضًا ثني 3 منهم لأننا لم نحصل على 6 بنهايات مستقيمة للاتصال بحامل الملف. ثم قمنا بطباعتها ثلاثية الأبعاد وربطها بالملف والمحرك. وضعنا المحركات السائر في جبل. سوف يحمل المحرك ويوجه الملف على طول مسار مستقيم.
LCD ولوحة المفاتيح
استخدمنا لوحة مفاتيح Arduino وشاشة LCD متصلة بمحول 5 فولت في محول مزود الطاقة للطاقة ثم في نفس لوحة Arduino
الأسلاك
نوصي باستخدام أسلاك قياس 18. في حالتنا ، كان علينا تقديم تنازلات باستخدام مقاييس مختلفة لأننا نفدنا من 18 مقياسًا
شريط LED
استخدمنا شريط LED لإضاءة الجهاز. قمنا بتوصيله بمحول 12 فولت في محول مزود الطاقة. كان لشريط LED الذي استخدمناه لحسن الحظ علامة + و- عليه مما جعل عملية توصيله أسهل.
الخطوة 4: متقبل الفاتورة
استخدمنا Coinco BA30B كمقبول فاتورة لدينا. يجب أن يتم توصيله مباشرة بالحائط كمصدر للطاقة. قمنا بدمجه مع محول 24 سنًا من مصدر طاقة ATX للتوصيل والسماح بتوصيل أسهل. تم العثور على pinouts الذي اتبعناه في الرابط التالي:
techvalleyprojects.blogspot.com/2011/07/ard …
في حالتنا ، كان علينا إنشاء أداة رفع لرفع مستلم الفاتورة لأنه بخلاف ذلك سيكون منخفضًا جدًا بالنسبة للغلاف الخاص بنا.
الخطوة 5: الاختبار
اختبر الإلكترونيات خارج الغلاف أولاً للتأكد من عمل المكونات. يجب إصلاح أي مشاكل تنشأ قبل وضعها داخل الغلاف.
الخطوة 6: الإلكترونيات للغلاف
بمجرد اختبار الأجهزة الإلكترونية والرضا عن نتائجها ، ابدأ في وضعها في غلافك. اضبط أطوال الأسلاك لتناسب الداخل بشكل مريح.
الخطوة 7: الاختبار النهائي
بمجرد وضعها في الغلاف ، اختبر كل شيء مرة أخرى. إذا كان كل شيء يعمل كما توقعت ، فتهانينا! لقد صنعت آلة بيع.
الخطوة 8: كود اردوينو + الروابط
التحميلات:
كود اردوينو
drive.google.com/drive/folders/1oC4MhOcMFy…
SolidWorks Folder مع ملفات الجزء والتجميع
drive.google.com/drive/folders/1amZoypiWcZ…
فقط في حالة حدوث شيء ما للرابط ، إليك كود اردوينو معروضًا بالكامل. كود اردوينو <<
# تضمين # تضمين # تضمين "Arduino.h" # تضمين # تضمين # تضمين "الأداة المساعدة / Adafruit_MS_PWMServoDriver.h" #include
const int stepsPerRevolution = 200 ؛ const بايت ROWS = 4 ؛ // أربعة صفوف const بايت COLS = 3 ؛ // ثلاثة أعمدة من مفاتيح الأحرف [ROWS] [COLS] = {{'1'، '2'، '3'}، {'4'، '5'، '6'}، {'7'، '8' ، '9'}، {'*'، '0'، '#'}}؛ بايت rowPins [ROWS] = {5، 6، 7، 8} ؛ // الاتصال بدبابيس الصف الخاصة بـ colPins بايت لوحة المفاتيح [COLS] = {2 ، 3 ، 4} ؛ // الاتصال بأعمدة pinouts الخاصة بلوحة المفاتيح Keypad keypad = لوحة المفاتيح (makeKeymap (keys) ، rowPins ، colPins ، ROWS ، COLS) ؛ Adafruit_MotorShield AFMS1 = Adafruit_MotorShield () ؛ Adafruit_StepperMotor * myMotor1 = AFMS1.getStepper (-200، 1) ؛ Adafruit_StepperMotor * myMotor2 = AFMS1.getStepper (-200، 2) ؛ Adafruit_MotorShield AFMS2 = Adafruit_MotorShield (0x61) ؛ Adafruit_StepperMotor * myMotor3 = AFMS2.getStepper (-200، 1) ؛ Adafruit_StepperMotor * myMotor4 = AFMS2.getStepper (-200، 2) ؛ Adafruit_MotorShield AFMS3 = Adafruit_MotorShield (0x62) ؛ Adafruit_StepperMotor * myMotor5 = AFMS3.getStepper (-200، 1) ؛ Adafruit_StepperMotor * myMotor6 = AFMS3.getStepper (-200، 2) ؛ Adafruit_MotorShield AFMS4 = Adafruit_MotorShield (0x63) ؛ Adafruit_StepperMotor * myMotor7 = AFMS4.getStepper (-200، 1) ؛ Adafruit_StepperMotor * myMotor8 = AFMS4.getStepper (-200، 2) ؛ LiquidCrystal LCD (1 ، 11 ، 9 ، 10 ، 12 ، 13) ؛ // Digital Pins يتم توصيل شاشة LCD بـ // ثوابت // // دبوس لائتمان مدقق الفاتورة (-) line const int billValidator = 22 ؛
// المتغيرات /
/ تسجيل مدة النبضة (مللي ثانية) مدة طويلة بدون توقيع ؛
// عقد إجمالي الدولارات المسجلة int dollarCounter = 0 ؛ إعداد باطل () {lcd.begin (16، 1) ؛ // تعيين إحداثيات شاشة lcd lcd.print ("أدخل 1 دولار فقط") ؛ // تعيين النص Serial.begin (9600) ؛ // تهيئة المنافذ التسلسلية للاتصال. Serial.println ("اختبار السائر!") ؛ // اكتب اختبار السائر في الشاشة التسلسلية حتى نعرف أي محرك متدرج مضغوط. AFMS1.begin () ، AFMS2.begin () ، AFMS3.begin () ، AFMS4.begin () ، myMotor1-> setSpeed (100) ؛ // ضبط سرعة المحرك التي سيتم تشغيل myMotor2-> setSpeed (100) بها ؛ myMotor3-> setSpeed (100) ؛ myMotor4-> setSpeed (100) ؛ myMotor5-> setSpeed (100) ؛ myMotor6-> setSpeed (100) ؛ myMotor7-> setSpeed (100) ؛ myMotor8-> setSpeed (100) ؛ // إعدادات دبوس لمدقق الفاتورة وزر pinMode (billValidator، INPUT) ؛ // يعين Billaccepter
// تهيئة المنافذ التسلسلية للاتصال. Serial.begin (9600) ؛ Serial.println ("في انتظار الدولار …") ؛ } حلقة فارغة () {{duration = pulseIn (billValidator، HIGH)؛ // يبدأ في البحث عن طول النبضة المستلمة من متقبل الفاتورة إذا كانت (المدة> 12000) // القيمة التي يجب أن تتجاوزها من أجل التحقق من صحتها كدولار معالج وأصيل {// Count dollar dollarCounter ++ ؛ // التحقق من فهم Serial.print ("تم الكشف عن الدولار. / n الإجمالي:")؛ // عرض عدد الدولار الجديد Serial.println (dollarCounter) ؛ // حلقة من أجل الانتظار حتى يتم الضغط على زر أثناء (المدة> 12000) {char key = keypad.getKey () ؛ // يحصل على اتصال حمل المفاتيح ويبدأ في معرفة أي واحد يتم الضغط عليه إذا (key! = NO_KEY) {// سيبحث عن مفتاح مضغوط Serial.println (مفتاح) ؛ // يتيح لنا معرفة أي واحد تم الضغط عليه في الشاشة التسلسلية} {if (key == '1') {// إذا تم الضغط على المفتاح 1 ، فقم بما يلي: int keyPressed = key - '1'؛ myMotor8-> خطوة (580 ، إلى الأمام ، مزدوج) ؛ // يبدأ المحرك ويدور لـ 350 درجة في الاتجاه الأمامي. myMotor8-> إطلاق () ؛ // يحرر المحرك من حالة ثبات نفسه في مكانه. إرجاع؛ // يعود إلى بداية رمز الحلقة}
إذا (المفتاح == '2') {// إذا تم الضغط على المفتاح 2 ، فقم بما يلي: int keyPressed = key - '2'؛ myMotor7-> خطوة (400 ، إلى الأمام ، مزدوجة) ؛ // يبدأ المحرك ويدور لمدة 350 درجة في الاتجاه الأمامي. myMotor7-> إطلاق () ؛ // يحرر المحرك من حالة ثبات نفسه في مكانه. إرجاع؛ // يعود إلى بداية رمز الحلقة} إذا (key == '3') {// إذا تم الضغط على المفتاح 3 ، فقم بما يلي: int keyPressed = key - '3'؛ myMotor6-> خطوة (400 ، إلى الأمام ، مزدوجة) ؛ // يبدأ المحرك ويدور لـ 350 درجة في الاتجاه الأمامي. myMotor6-> إطلاق () ؛ // يحرر المحرك من حالة ثبات نفسه في مكانه. إرجاع؛ // يعود إلى بداية رمز الحلقة} إذا (المفتاح == '4') {// إذا تم الضغط على المفتاح 4 ، فقم بما يلي: int keyPressed = key - '4'؛ myMotor5-> خطوة (180 ، إلى الأمام ، مزدوجة) ؛ // يبدأ المحرك ويدور لـ 350 درجة في الاتجاه الأمامي. myMotor5-> release () ؛ // يحرر المحرك من حالة ثبات نفسه في مكانه. إرجاع؛ // يعود إلى بداية رمز الحلقة} إذا (المفتاح == '5') {// إذا تم الضغط على المفتاح 5 ، فقم بما يلي: int keyPressed = key - '5'؛ myMotor4-> خطوة (6900 ، إلى الأمام ، مزدوج) ؛ // يبدأ المحرك ويدور لمدة 350 درجة في الاتجاه الأمامي. myMotor4-> release () ؛ // يحرر المحرك من حالة ثبات نفسه في مكانه. إرجاع؛ // يعود إلى بداية رمز الحلقة} إذا (المفتاح == '6') {// إذا تم الضغط على المفتاح 6 ، فقم بما يلي: int keyPressed = key - '6'؛ myMotor3-> خطوة (400 ، إلى الأمام ، مزدوجة) ؛ // يبدأ المحرك ويدور لـ 350 درجة في الاتجاه الأمامي. myMotor3-> إطلاق () ؛ // يحرر المحرك من حالة ثبات نفسه في مكانه. إرجاع؛ // يعود إلى بداية رمز الحلقة} إذا (المفتاح == '7') {// إذا تم الضغط على المفتاح 7 ، فقم بما يلي: int keyPressed = key - '7'؛ myMotor7-> خطوة (400 ، إلى الأمام ، مزدوجة) ؛ // يبدأ المحرك ويدور لـ 350 درجة في الاتجاه الأمامي. myMotor7-> إطلاق () ؛ // يحرر المحرك من حالة ثبات نفسه في مكانه. إرجاع؛ // يعود إلى بداية رمز الحلقة} إذا (key == '8') {// إذا تم الضغط على المفتاح 8 ، فقم بما يلي: int keyPressed = key - '8'؛ myMotor8-> خطوة (400 ، إلى الأمام ، مزدوجة) ؛ // يبدأ المحرك ويدور لـ 350 درجة في الاتجاه الأمامي. myMotor8-> إطلاق () ؛ // يحرر المحرك من حالة ثبات نفسه في مكانه. إرجاع؛ // يعود إلى بداية رمز الحلقة}}}}} >>
موصى به:
آلة بيع DIY: 8 خطوات
آلة البيع الذاتي DIY: منذ ثلاث سنوات ، بدأت الدراسة في كلية تقنية إلكترونية. من الحقائق التي فاجأتني في ذلك الوقت عدد المدخنين لأنه أثناء فترات الراحة ، غادر نصف الطلاب جدران المدرسة لتفريغ مشاعرهم بعد
آلة بيع مع مقياس لتأكيد Itemdrop (Raspberry Pi): 5 خطوات
آلة البيع مع مقياس لتأكيد Itemdrop (Raspberry Pi): مرحبًا بزميل صانع ، بالنسبة لمشروع مدرسي ، قررت صنع آلة بيع الوجبات الخفيفة. كانت مهمتنا هي إنشاء جهاز قابل للتجديد يستخدم على الأقل 3 أجهزة استشعار ومشغل واحد. ذهبت لصنع آلة بيع جزئيًا لأنني تمكنت من الوصول إلى بعضها
آلة بيع المشردين: 3 خطوات
آلة بيع المشردين: أحاول منع الجوع في مجتمعنا. هناك ما يقرب من 3000 شخص في أوكلاهوما يعانون من التشرد. لقد اخترنا التآمر على حل لهذه المشكلة لتحسين وتنمية مجتمعنا ككل. عدد كبير من الناس في
آلة بيع صغيرة يتم التحكم فيها من Arduino: 9 خطوات
آلة البيع الصغيرة التي يتم التحكم فيها من Arduino: هذه هي آلة البيع الخاصة بنا ، فهي تبيع ثلاثة قطع حلوى سنيكرز ذات حجم ممتع. الأبعاد الكلية حوالي 12 & quot؛ × 6 ومثل ؛ × 8 ومثل ؛. يتم التحكم في آلة البيع هذه بواسطة اردوينو ، مع لوح تجارب ومحرك مؤازر
آلة حاسبة رقمية قائمة على TIVA: 6 خطوات
آلة حاسبة رقمية قائمة على TIVA: مرحبًا ، هذا هو طاهر الحق الذي يقدم لك مشروعًا آخر قائمًا على tiva. يهدف هذا المشروع إلى صنع آلة حاسبة رقمية قائمة على LCD تؤدي وظائف مختلفة. الآلة الحاسبة هي جهاز إلكتروني يقوم بتقييم العديد من العمليات الحسابية السريعة