جدول المحتويات:
- اللوازم
- الخطوة 1: كيف يعمل…
- الخطوة الثانية: تحميل الكود
- الخطوة 3: المكتبات المطلوبة:
- الخطوة 4: التوصيلات
- الخطوة 5: صفعها جميعًا معًا
- الخطوة 6: مزيد من التحسينات:
فيديو: روبوت يخبرك ما إذا كان بائع إلكترونيات يخونك أم لا: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
في العام الماضي ، ذهبت أنا وأبي إلى متجر للروبوتات / الإلكترونيات تم افتتاحه حديثًا بالقرب من المكان الذي نعيش فيه. عندما دخلت هناك ، كانت مليئة بالإلكترونيات والسيروف وأجهزة الاستشعار و Raspberry pis و Arduinos. في اليوم التالي ، ذهبنا إلى نفس المتجر واشترينا العديد من أجهزة كبار السن و 3 أجهزة Arduinos بقيمة حوالي 150 دولارًا أمريكيًا. بمجرد عودتي إلى المنزل ، لم تعمل أي منتجات أخرى باستثناء Arduino Mega. تم خداعنا مقابل حوالي 130 دولارًا أمريكيًا وهو مبلغ كبير.
لذلك ، قررت إنشاء روبوت يمكنه اختبار حوالي 12 مستشعرًا ومحركين (لا يزالان يعملان على المؤازرة) ويمكنه تحديد ما إذا كان المنتج معيبًا.
دعنا ندخله مباشرة!
اللوازم
1. Arduino UNO
2. 2.4 شاشة تعمل باللمس TFT
3. زوجان من أسلاك العبور
4. أجهزة الاستشعار والمحركات بحيث يمكنك اختبارها (استخدمت هنا - مستشعر الحركة ، مستشعر الغاز MQ6 ، مستشعر الصوت ، مقياس الجهد ومستشعر مستوى الماء)
الخطوة 1: كيف يعمل…
لقد قمت ببرمجة Arduino لإنشاء واجهة مستخدم تفاعلية مع شاشة TFT. كما نعلم ، تحتوي شاشة TFT على دبوس مجاني واحد فقط ، أي دبوس A5. (إذا كنت تستخدم UNO). لذا فإن أي جهاز استشعار يستخدم دبابيس تناظرية لقراءة البيانات متوافق مع هذا الإعداد …
في واجهة المستخدم ، يمكنك تغيير لون خلفية سطح المكتب ، ويمكنك فتح التطبيق الذي تم تطويره لـ Arduino بواسطتي لاختبار المستشعرات.
عند فتح التطبيق ، يمكنك رؤية خيارين ، INPUT و OUTPUT. لذلك إذا قمت بالنقر فوق الإدخال ، فسيظهر 4 مستشعرات (وهو متوافق مع 12 ، لكني لم أقم ببرمجته بعد لأن امتحاناتي تقترب….
ويمكنه أيضًا التحقق مما إذا كان محرك سيرفو يعمل من توصيله في الفتحة.
الق نظرة:
الخطوة الثانية: تحميل الكود
الكود عبارة عن برنامج ذو 600 سطر قمت بترميزه بدقة في حوالي 50 ساعة. يحتوي على بعض الأخطاء ، لذا يرجى تعديله وإرساله إليّ في بريدي الإلكتروني ([email protected]).
قم بتحميل الكود وقم بتوصيل درع TFT بـ Arduino. أوصيك بالتلاعب بواجهة المستخدم حتى تحصل على تعليق أفضل لها.
الرمز:
#يشمل
# تضمين # تضمين # تضمين # تعريف LCD_CS A3 # تعريف LCD_CD A2 # تعريف LCD_WR A1 # تعريف LCD_RD A0 # تعريف LCD_RESET A4 # تعريف الأسود 0x0000 # تعريف الأزرق 0x001F # تعريف NAVY 0x000F # 0xFine RED0FRE800 # #define MAGENTA 0xF81F #define YELLOW 0xFFE0 #define WHITE 0xFFFF # #define LIGHTGREY 0xC618 #define PURPLE 0x780F # تعريف OLIVE 0x7BE0 # تعريف التحديد #define YP A1 #define XM A2 #define XP 160 #define TS_MAXX 160 #define TS_MAXY 970 TouchScreen ts = TouchScreen (XP ، YP ، XM ، YM ، 300) ؛ Adafruit_TFTLCD tft (LCD_CS، LCD_CD، LCD_WR، LCD_RD، LCD_RESET) ؛ #define BOXSIZE 40 #define PENRADIUS 3 #define MINPRESSURE 10 #define MAXPRESSURE 1000 int sound ؛ حالة شار = 6 ؛ اللمس int = 0 ؛ اللون int = أسود ؛ int redir = 0 ؛ إنت أوتا ؛ إعداد باطل () {Serial.begin (9600) ؛ tft.reset () ، tft.setFont (& FreeMonoBoldOblique12pt7b) ؛ tft.begin (0x9325) ، tft.setRotation (45) ؛ tft.setTextSize (0.5) ، tft.fillScreen (أبيض) ؛ tft.setCursor (60 ، 160) ؛ tft.setTextColor (أسود) ؛ tft.print ("مرر لتسجيل الدخول") ؛ } حلقة فارغة () {تعويم الاستشعارVoltage؛ مستشعر تعويم القيمة ؛ TSPoint p = ts.getPoint () ، pinMode (XM ، الإخراج) ؛ pinMode (YP ، الإخراج) ؛ إذا كان (pz> MINPRESSURE && pz 240 && px 130 && py 240 && px 20 && py 240 && px 20 && py 160 && px 12 && py 240 && px 20 && py 240 && px 20 && py 40 && px 15 && py 150 && px 40 && py 150 && px 80 && py 150 && px 120 && py 150 && px 170 && py 90 && px 40 && py 90 && px 80 && py 90 && px 120 && py 150 && px 170 && py 150 && px 170 && py 150 && px 170 && py 150 && px 170 && py 150 && px 170 && py 100 && px 20 && py 200 && px 100 && py 100 && px 20 && py 100 && px 20 && py 100 && px 20 && py <100) {touch = 26 ؛ }} if (touch == 1 && state == 6) {tft.setRotation (0)؛ tft.fillScreen (اللون) ؛ صوت = 0 ؛ tft.fillRect (200 ، 180 ، 80 ، 140 ، أبيض) ؛ tft.drawRect (201 ، 181 ، 81 ، 141 ، أسود) ؛ tft.fillRect (80، 30، 100، 100، أزرق) ؛ tft.drawRect (81، 31، 101، 101، أسود) ؛ tft.fillRect (10، 30، 50، 100، NAVY) ؛ tft.drawRect (11 ، 31 ، 51 ، 101 ، أسود) ؛ tft.fillRect (10، 180، 30، 120، أرجواني) ؛ tft.drawRect (11 ، 181 ، 31 ، 121 ، أسود) ؛ tft.fillRect (45، 180، 30، 120، أزرق) ؛ tft.drawRect (46 ، 181 ، 31 ، 121 ، أسود) ؛ tft.fillRect (80، 180، 30، 120، CYAN) ؛ tft.drawRect (81، 181، 31، 121، أسود) ؛ tft.fillRect (115، 180، 30، 120، أخضر) ؛ tft.drawRect (116 ، 181 ، 31 ، 121 ، أسود) ؛ tft.fillRect (150 ، 180 ، 30 ، 120 ، أصفر) ؛ tft.drawRect (151 ، 181 ، 31 ، 121 ، أسود) ؛ tft.fillTriangle (210 ، 30 ، 210 ، 50 ، 220 ، 40 ، أبيض) ؛ tft.fillRect (200 ، 35 ، 12 ، 12 ، أبيض) ؛ tft.drawTriangle (210 ، 30 ، 210 ، 50 ، 220 ، 40 ، أسود) ؛ tft.drawRect (200 ، 35 ، 12 ، 12 ، أسود) ؛ tft.drawCircle (210 ، 40 ، 14 ، أبيض) ؛ //tft.fillTriange(a1، b1، a2، b2، c1، c2، RED) ؛ tft.setRotation (45) ؛ tft.setCursor (200 ، 20) ؛ tft.print ("الإعدادات") ؛ tft.fillRoundRect (45 ، 75 ، 75 ، 75 ، 4 ، أبيض) ؛ tft.drawRoundRect (45 ، 75 ، 75 ، 4 ، أسود) ؛ tft.fillRect (75 ، 75 ، 15 ، 30 ، أسود) ؛ tft.fillRect (75 ، 120 ، 15 ، 30 ، أسود) ؛ tft.fillRect (90 ، 105 ، 30 ، 15 ، أسود) ؛ tft.fillRect (45 ، 105 ، 30 ، 15 ، أسود) ؛ الدولة = 7 ؛ اللمس = 0 ؛ أوتا = 0 ؛ } if (touch == 2) {tft.fillScreen (WHITE) ؛ tft.setRotation (0) ، tft.fillTriangle (210 ، 30 ، 210 ، 50 ، 220 ، 40 ، أبيض) ؛ tft.fillRect (200 ، 35 ، 12 ، 12 ، أبيض) ؛ tft.drawTriangle (210 ، 30 ، 210 ، 50 ، 220 ، 40 ، أسود) ؛ tft.drawRect (200 ، 35 ، 12 ، 12 ، أسود) ؛ tft.drawCircle (210 ، 40 ، 14 ، أسود) ؛ tft.setRotation (45) ؛ tft.fillTriangle (270 ، 40 ، 270 ، 20 ، 260 ، 30 ، أسود) ؛ tft.drawLine (300 ، 30 ، 270 ، 30 ، أسود) ؛ tft.setCursor (20 ، 200) ؛ tft.print ("التخصيص") ؛ tft.setCursor (20 ، 170) ؛ tft.print ("تسجيل الخروج") ؛ tft.setCursor (20 ، 140) ؛ tft.print ("الأجهزة الطرفية") ؛ tft.setCursor (20 ، 110) ؛ tft.print ("حول") ؛ اللمس = 1 ؛ الدولة = 2 ؛ } if (touch == 10 && state == 2) {tft.fillScreen (WHITE)؛ tft.setCursor (10 ، 160) ؛ tft.setTextColor (أسود) ؛ tft.print ("تم إنشاؤه وتطويره") ؛ tft.setCursor (100 ، 190) ؛ tft.print ("بواسطة:") ؛ tft.setCursor (60 ، 220) ؛ tft.print ("مراهقة من الهند") ؛ tft.setRotation (0) ، tft.fillTriangle (210 ، 30 ، 210 ، 50 ، 220 ، 40 ، أبيض) ؛ tft.fillRect (200 ، 35 ، 12 ، 12 ، أبيض) ؛ tft.drawTriangle (210 ، 30 ، 210 ، 50 ، 220 ، 40 ، أسود) ؛ tft.drawRect (200 ، 35 ، 12 ، 12 ، أسود) ؛ tft.drawCircle (210 ، 40 ، 14 ، أسود) ؛ tft.setRotation (45) ؛ tft.fillTriangle (270 ، 40 ، 270 ، 20 ، 260 ، 30 ، أسود) ؛ tft.drawLine (300 ، 30 ، 270 ، 30 ، أسود) ؛ الدولة = 6 ؛ } if (touch == 11 && state == 2) {tft.fillScreen (WHITE)؛ tft.setCursor (60 ، 40) ؛ tft.print ("اختر") ؛ tft.setCursor (40 ، 60) ؛ tft.print ("لون الخلفية") ؛ tft.fillRect (60 ، 180 ، 45 ، 45 ، أحمر) ؛ tft.fillRect (120 ، 180 ، 45 ، 45 ، أصفر) ؛ tft.fillRect (180 ، 180 ، 45 ، 45 ، أزرق) ؛ tft.fillRect (240 ، 180 ، 45 ، 45 ، أخضر) ؛ tft.fillRect (60، 130، 45، 45، ماجنتا) ؛ tft.fillRect (120، 130، 45، 45، NAVY) ؛ tft.fillRect (180، 130، 45، 45، LIGHTGREY) ؛ tft.fillRect (240، 130، 45، 45، CYAN) ؛ tft.fillRect (60، 80، 45، 45، أبيض) ؛ tft.drawRect (60 ، 80 ، 45 ، 45 ، أسود) ؛ tft.fillRect (120 ، 80 ، 45 ، 45 ، أسود) ؛ tft.fillRect (180 ، 80 ، 45 ، 45 ، زيتون) ؛ tft.fillRect (240 ، 80 ، 45 ، 45 ، بنفسجي) ؛ tft.setRotation (0) ، tft.fillTriangle (210 ، 30 ، 210 ، 50 ، 220 ، 40 ، أبيض) ؛ tft.fillRect (200 ، 35 ، 12 ، 12 ، أبيض) ؛ tft.drawTriangle (210 ، 30 ، 210 ، 50 ، 220 ، 40 ، أسود) ؛ tft.drawRect (200 ، 35 ، 12 ، 12 ، أسود) ؛ tft.drawCircle (210 ، 40 ، 14 ، أسود) ؛ tft.setRotation (45) ؛ tft.fillTriangle (270 ، 40 ، 270 ، 20 ، 260 ، 30 ، أسود) ؛ tft.drawLine (300 ، 30 ، 270 ، 30 ، أسود) ؛ الدولة = 6 ؛ إذا (أحمر == 1) {لون = أبيض ؛ } إذا (أحمر == 2) {لون = أسود ؛ } إذا (أحمر == 3) {لون = زيتون ؛ } إذا (أحمر == 4) {color = PURPLE؛ } إذا (أحمر == 5) {color = MAGENTA ؛ } إذا (أحمر == 6) {color = NAVY؛ } إذا (أحمر == 7) {color = LIGHTGREY؛ } إذا (أحمر == 8) {color = CYAN؛ } إذا (أحمر == 9) {color = RED؛ } إذا (أحمر == 10) {لون = أصفر ؛ } إذا (أحمر == 11) {color = BLUE؛ } إذا (أحمر == 12) {لون = أخضر ؛ }} if (touch == 26) {ota = 1؛ tft.fillScreen (أبيض) ؛ tft.setRotation (0) ، tft.fillTriangle (210 ، 30 ، 210 ، 50 ، 220 ، 40 ، أبيض) ؛ tft.fillRect (200 ، 35 ، 12 ، 12 ، أبيض) ؛ tft.drawTriangle (210 ، 30 ، 210 ، 50 ، 220 ، 40 ، أسود) ؛ tft.drawRect (200 ، 35 ، 12 ، 12 ، أسود) ؛ tft.drawCircle (210 ، 40 ، 14 ، أسود) ؛ tft.setRotation (45) ؛ tft.fillTriangle (270 ، 40 ، 270 ، 20 ، 260 ، 30 ، أسود) ؛ tft.drawLine (300 ، 30 ، 270 ، 30 ، أسود) ؛ tft.setRotation (1) ، tft.setCursor (30 ، 80) ؛ tft.print ("إدخال") ؛ tft.setCursor (30 ، 150) ؛ tft.print ("الإخراج") ؛ tft.drawRect (25 ، 130 ، 90 ، 30 ، أسود) ؛ tft.drawRect (25 ، 60 ، 90 ، 30 ، أسود) ؛ إذا (p.x> 190 && p.x 30 && p.y <90) {tft.setCursor (150، 220) ؛ tft.print ("مستوى الماء") ؛ tft.setCursor (150 ، 170) ؛ tft.print ("مستوى الغاز") ؛ tft.setCursor (150 ، 120) ؛ tft.print ("مسافة") ؛ tft.setCursor (150 ، 70) ؛ tft.print ("الصوت") ؛ اللمس = 1 ؛ الدولة = 2 ؛ }}} while (sound == 1) {tft.fillScreen (WHITE) ؛ sensorValue = analogRead (A5) ؛ sensorVoltage = sensorValue ؛ tft.setCursor (60 ، 160) ؛ tft.print (مستشعر الجهد) ؛ Serial.println ("مستوى الصوت =") ؛ Serial.println (مستشعر الجهد) ؛ تأخير (1000) ؛ إذا (الصوت == 0) {استراحة ؛ }}}}
الخطوة 3: المكتبات المطلوبة:
- Adafruit_GFX.h
- Adafruit_TFTLCD.h
- شاشة اللمس
روابط جيثب لنفسه:
github.com/adafruit/Adafruit-GFX-Library
github.com/adafruit/TFTLCD-Library
github.com/adafruit/Adafruit_TouchScreen
الخطوة 4: التوصيلات
أنت بحاجة إلى 6 أسلاك توصيل. 3 ذكور و 3 إناث. قم بلحامهم مباشرة على لوحة Arduino مثل هذا:
الخطوة 5: صفعها جميعًا معًا
دس الأسلاك في اردوينو (راجع الصورة) ، استخدم بعض مسدس الغراء إذا لزم الأمر …
ثم قم بتوصيل درع TFT ثم اختبر المستشعرات الخاصة بك.
شكرا لك على التمرير على طول الطريق. تأكد من التصويت لي إذا شعرت أن هذا المشروع فريد ومفيد
سعيد صنع واحذر من المحتالين على الإلكترونيات؟
الخطوة 6: مزيد من التحسينات:
- المزيد من التوافق مع أجهزة الاستشعار
- يجب أن يتم الانتهاء من رمز محرك سيرفو
- تطبيق آخر يمكنه التفاعل مع وحدات Bluetooth حتى نتمكن من التحكم في روبوت يعمل بالبلوتوث به.
- اصلاحات الشوائب
موصى به:
Expression Robot - إذا كان هذا أكثر من ذلك: 5 خطوات
Expression Robot - إذا كان هذا أكثر من ذلك: Hallo en welkom bij mijn Expression Robot Instructable.De هو قابل للتوجيه war ik aan heb gewerkt tijdens mijn les van If This Than That. . شركة De robot
إذا كان هذا ثم هذا ArDino: 3 خطوات
إذا كان هذا ثم هذا ArDino: بالنسبة لمشروع مدرستنا ، إذا كان هذا إذن ، كان علينا إنشاء كائن تفاعلي باستخدام اردوينو. قررت أن أصنع Ardino محبوبًا. إنه موهوب للغاية وسيغني لك بضغطة زر موضوع الحديقة الجوراسية
Loactor مع ما إذا كان تقرير مباشر باستخدام Chat Bot: 4 خطوات
Loactor مع ما إذا كان Live Report يستخدم Chat Bot: من خلال WhatsApp ، احصل على المتغيرات (الموقع والارتفاع والضغط …) من NodeMCU كما هو مطلوب أو أرسل أوامر إلى NodeMCU عبر Twilio's API. لبضعة أسابيع ، كنت أعمل مع Twilio's API ، خاصة بالنسبة لمراسلة WhatsApp ، وحتى إنشاء تطبيق
إذا كان هذا ثم قطة: 5 خطوات
If This Then Cat: If This Then Cat is makkelijk na te maken omdat het voornamelijk is gebouwd met materialen die bijna iedereen altijd wel thuis heeft liggen. إعادة التدوير Zo je ook nog eens wat for een leuk، handig doelNaast een aantal Arduino Componenten heb je ook een
إذا كان هذا إذًا - Moodlamp: 4 خطوات (بالصور)
If This Then That - Moodlamp: Opdracht: Bouw / ontwerp een Interactive systeem (met Hardware en software) dat data kan ontvangen en verwerken.Omdat ik geen enkele ervaring heb met arduino en code schrijven heel erg lastig vind، heb ik besloten التقى سيمبل تي هودين