حيث يتلقى هاتف به طالب إلكترونيات للعمل على شبكات الهاتف المحمول ويمكنه العمل على النحو المنشود.
هذا هو وصف المشروع المكون من ثلاثة أجزاء ، والذي كان عليّ كتابته كإكمال رسمي للمشروع نفسه ، ولكن منذ أن تأخرت في هذه النقطة كثيرًا ، قررت وصف المشروع بأكمله على أنه بيان واحد متماسك.إذا تذكر أي شخص ، أنا شخص غاضب للغاية. أنا أغضب بسهولة عندما أتحدث على الهاتف ، ولكن في الوقت الحالي لا توجد طريقة جيدة للتعبير عن ازعاجي. افتقد الوقت القديم ، عندما كان بإمكانك قلب الهاتف بقوة على الجهاز لتخفيف التوتر - لكن الهواتف المحمولة لا تعطي مثل هذه الفرصة. وشرعت في إنشاء هاتف محمول باستخدام برنامج الاتصال.لذلك ولدت iRotaryمشروع IRotary
الجمالالذي بدأته بشراء هاتف حقيقي في المدرسة القديمة مع طالب دوار - فقط الذي استخدمته عندما كنت طفلاً. اخترت لون برتقالي مجيد بحيث لا يقل جمال iRotary عن طموح المشروع.تم التقاط الصورة من نفس الهاتف في اليوم الأول للشراء ، مع الكابلات وكل شيء آخر. يبدو رائعًا اليوم ، على الرغم من أنه يحتوي على أسلاك أقل بنسبة 50 ٪ - وهو أمر جيد في حالة الهواتف المحمولة.كلفني المشروع بأكمله 150 دولارًا لقطع الغيار و 2000 دولارًا لوقت التطوير - استغرق تجميعها يومين كاملين ، واستمر لعدة أشهر من جميع أنواع الإجراءات ، في انتظار قطع الغيار ، واستخدام قطع الغيار ، وانتظار الأجزاء التالية ، وما إلى ذلك. كانت الخطوة الأولى ، بالطبع ، استخراج كل شيء غير ضروري واستبداله بكل ما تحتاجه.الخطوة 1: أولاً ، واه!
تخيل كيف تشعر أن تصنع مثل هذه الفراولة!أفضل مرشح للواجهات مع المسجل القديم ، بالطبع ، هو Arduino. كما سيكون مسؤولاً عن العمل مع GSM. إنه مثالي لقراءة النبضات من طالب وتحويلها إلى عدد صحيح ، والذي يمكن استخدامه بعد ذلك لطلب رقم.تتم معالجة الاتصالات بسهولة بواسطة درع GSM. هذا جهاز طرفي يتصل بـ Arduino (في الشوارع نسميه "درعًا"). من السهل جدًا البرمجة ، ويأتي مع مكتبة مع معظم الوظائف الضرورية - قراءة الرسائل القصيرة وإرسال واستقبال المكالمات وإرسال DTMF وما إلى ذلك.كانت الخطوة التالية كتابة رمز لتحويل الاتصال الهاتفي إلى أرقام. يعمل طالب الاتصال على النحو التالي: بعد التدوير القسري ، يبدأ في الدوران للخلف ، ويلمس المفتاح مرة واحدة لكل رقم تم طلبه. هذا يعني أنه إذا طلبت ثلاثة ، فسيقوم المحول بإرسال ثلاث إشارات ، لأن ثلاثة أرقام ستمر بها. لتحديد الرقم المطلوب ، ما عليك سوى حساب عدد المرات التي تم فيها فتح المفتاح وإغلاقه.كان من السهل القيام بذلك مع التعليمات البرمجية التالية ، والتي ببساطة تزيد المتغير في كل مرة يتغير فيها الجهد من المفتاح إلى منخفض:void readPulses() {
char pinPulse = digitalRead(PIN_PULSE);
if (pinPulse == HIGH && edge == 0) {
pulses++;
edge = 1;
} else if (pinPulse == LOW && edge == 1) {
edge = 0;
}
}
كل ما يجب القيام به بعد ذلك هو جمع الأرقام وإجراء المكالمة عندما يصل عدد الأرقام إلى 10. في اليونان ، جميع الأرقام تتكون من عشرة أرقام ، باستثناء أرقام الجنس عبر الهاتف ، وهو رمز سأضيفه لاحقًا.إن إضافة أرقام إلى خط بدوره عملية بسيطة ، ويتم ذلك باستخدام الرمز التالي.void readDialing() {
char digit;
bool finalDigit = false;
char pinDialing = digitalRead(PIN_DIALING);
if (pinDialing == 1 && dialing == 0) {
digit = getDigit();
if (digit != -1) {
number += (int)digit;
showNumber(number);
if (number.length() == NUMBER_LENGTH) {
dialNumber(number);
}
}
}
dialing = pinDialing;
}
لم يرسل مكالمة بعد ، لأن الدرع لم يكن متصلاً بعد - كانت هذه هي الخطوة التالية. هنا نموذج أولي في العمل:لقد كسب مالًا جيدًا على الفور ، حتى مع الآلة القديمة المتداعية التي وجدتها للنماذج الأولية. المتصل هو شيء دقيق بشكل مدهش ، ويجب أن يكون الأمر كذلك ، وإلا كان من الممكن أن تكون في المكان الخطأ ولا تعرف عنه حتى يجيبك أحد المتأنقين وتتصل بصديقتك وقررت أنها تخونك ، ورمي فضيحة ، لكنها في الواقع مجرد خردة التبديل. هذا هو السبب في انخفاض عدد حالات الطلاق بعد إدخال طالبي نغمات رقمية. بالإضافة إلى ذلك ، قلل العنف ضد الأشخاص الذين لديهم عدد كبير من الأصفار في الغرف.الخطوة 2: من لا يخاطر ، فهذا ليس GSM-it
الخطوة التالية بعد التعرف على الأرقام بنجاح هي إضافة القدرة على إجراء مكالمات المحمول. لقد قمت بتوصيل الدرع مع Arduino وأضفت الرمز اللازم للمكالمات:void dialNumber(String number) {
call.Call(numArray);
}
مثير.على الرغم من أنه كان بسيطًا جدًا ، إلا أنه كان رائعًا جدًا ، لأن معظم وظائف الهاتف المحمول (الاتصال والمكالمات) كانت جاهزة. إليك كيفية العمل:في هذه الخطوة ، واجهت العديد من الصعوبات. الأول هو مكان وضع Arduino مع الدرع على الهاتف ، حيث لم يكن هناك أي مساحة تقريبًا بسبب مكونات الهاتف. لحل هذه المشكلة غير القابلة للذوبان تقريبًا ، اضطررت إلى التنازل: لقد حذفت المكالمة ، التي لا تزال لا يمكن تشغيلها بواسطة البطارية (إنها تحتاج إلى 50 فولت) ، مما قلل من صحة الجهاز. لماذا أحتاج إلى هاتف مع طالب إذا لم يستطع إنتاج الصوت المألوف لـ dzzzzzzzzzzzzzzzzz؟وجاء الإلهام! كان الحل بسيطًا: دع الهاتف يعمل في الوضع الهادئ ، كن مهذبًا ، حتى لا يزعج الآخرين ، ولكن بطريقة أخرى جميلة.بعد حل مشكلتين في ضربة واحدة ، شعرت بفرح ينمو. مشكلة أخرى هي أنه بطريقة ما كان من الضروري توصيل مدخلات ومخرجات الدرع بالهاتف. هنا لن تساعد الأعذار ، حيث لا يوجد هاتف يحترم نفسه سيكون أصمًا وغبيًا ، لذلك قررت أولاً شراء ميكروفون صغير ومكبر صوت ، ووضعهم في الهاتف. وقد طلبت ذلك عندما قررت فجأة: سأحاول أولاً الميكروفون ومكبر الصوت الحاليين.قفزت بسرعة إلى Kuhlmann ورسمت دائرة معقدة للغاية تتكون من عدد كبير من المكونات: ثلاثة أسلاك وموصلين. عند وضع كل ذلك معًا ، قمت بإدخال الموصلات في مدخلات ومخرجات الدرع وقمت بإجراء مكالمة.- مرحبا! - قال صوتي.- مرحبا! أجبت بفرح.- أستطيع سماعك! قلت لنفسي.- وانا انت! - بدا الجواب.كان الاختبار نجاحًا باهرًا. المكونات الحالية لا تتناسب مع الدرع فحسب ، بل أنتجت أيضًا صوت سرقة أصلي وملاحظات ، والتي تمكنت من نسيانها.الفرق بين الهاتف المحمول ومثل هذا الهاتف هو أن الأول لا يحتاج إلى إعادة تشغيل صوتك من خلال مكبر الصوت. لذلك ، يبدو لك أن صوتك أكثر هدوءًا مما هو عليه (حيث تقوم بتوصيل الأذن بمكبر الصوت) ، وتصرخ أكثر - كما لو كنت تحاول الاستماع إلى الموسيقى على سماعات الرأس أثناء التحدث مع شخص ما.وعلى الهاتف القديم ، يمكنك سماع صوتك عند التحدث ، وهو أمر جميل ، وهذا لا يتطلب منك الصراخ في محاورتك. هذا تأثير لطيف فقدناه.في ما يلي الإعلان التشويقي للمنتج النهائي:أصوات النغمات مزيفة ، لكنها هوليوود.الخطوة 3: خطوة أخرى
عندما يعمل الصوت والتعرف على الأرقام و GSM ، حان الوقت لتوصيل بقية عناصر التحكم - رافعة وزر وشيء LED غريب ، مؤشر تنزيل.من الأفضل القيام بذلك من خلال الأحداث. لا يعمل أردوينو على هذا النحو لأنك مضطرًا دائمًا للسؤال ، "هل يتم الضغط على الزر؟" عدة آلاف من المرات في الثانية ، ولكن من السهل تزييف بنية الحدث باستخدام كود صغير.كنت أرغب في التقاط الهاتف من الرافعة للرد على المكالمة إذا رن الهاتف ، وأعاد وضع الهاتف على الرافعة المكالمة الحالية. كنت أرغب أيضًا في تجاهل جميع إشارات التحكم عندما كان الهاتف على الذراع.من السهل تحقيق ذلك مع آلة الدولة. هذا يعني أن هناك متغيرًا يحتوي على الحالة الحالية للهاتف - بمفرده ، والتحدث ، والرنين ، والاتصال ، وما إلى ذلك. وإذا حدثت أي أحداث (بالضغط على الزر) ، فيمكنهم ببساطة التحقق من حالة الهاتف وإما تنفيذ إجراء أم لا.الأحداث
يمكن التعرف على الأحداث بنفس طريقة التعرف على الأرقام. سوف نتحقق مما إذا كانت حالة الزر تتغير ولن نبدأ الحدث إلا إذا اكتشفنا التغيير (وإلا فإننا سنطلق الحدث آلاف المرات عندما سألنا إذا تم الضغط على الزر وسيجيب أردوينو "نعم" آلاف المرات في الثانية).#define PIN_BUTTON_HALF 6
char buttonHalfEdge = 0;
void checkButtonHalfPressed() {
if (digitalRead(PIN_BUTTON_HALF) == LOW) {
if (buttonHalfEdge == 0) {
buttonHalfPressed();
}
buttonHalfEdge = 1;
} else {
if (buttonHalfEdge == 1) {
buttonHalfReleased();
}
buttonHalfEdge = 0;
}
}
يحتوي هذا الزر على حالتين ، نصف مضغوطة ومضغوطة بالكامل (أو نصف مضغوطة ومضغوطة بالكامل ، إذا سألت المتشائم). يحدد الكود كلا الحالتين ، ويتم التعامل مع الأحداث الأخرى بنفس الطريقة تقريبًا.يمكنك مشاهدة عمل النظام في الفيديو التالي ، حيث توجد المكونات في الحالة ، ولكن لا يزال بحاجة إلى توصيله بـ USB من أجل الطاقة.جمال!الخطوة 4: طاقة البطارية
موصل USB لشحن البطاريةبالطبع ، ما هو نوع الهاتف المحمول إذا لم يكن متحركًا؟ لن يكون هاتف محمول! لذا فإن الخيارين لحمل الهاتف هما بطارية صغيرة 5 فولت ودائرة لشحن USB ، أو كابل طويل جدًا. نظرًا لأن النحاس أغلى من الذهب اليوم ، ولست من المال ، فقد اخترت الخيار الأول.يحتاج إلى ثلاثة مكونات:- ( , ). , , , .
- , , – USB- «». USB-.
- ( ). , , . , , , Arduino 5, .
منظم وتجميع الشحنمرة أخرى ، يتم توصيل البطارية والمنظم بالشحن. يحتوي الشحن على منفذ USB (واستخدمت سلك تمديد لتوجيهه إلى مكان كابل الهاتف) ، والذي سيتم استخدامه للشحن. سوف يدمر المنظم كل شيء ويعطي الجهد اللازم للمكونات الضرورية ، بحيث يمكنك تشغيل وإيقاف تشغيل الهاتف أثناء التشغيل ، ولن ينخفض الجهد.يمكنك أيضًا شحن الهاتف المضمّن ، وهو أمر مريح. لا أعرف كم تدوم البطارية ، لم أستخدمها لأكثر من بضع ساعات ، ولكن ربما لن تتمكن لبضعة أيام من الكتابة إلى أصدقائك من هاتفك (تحتاج إلى توصيل آلة كاتبة). سأحاول اختباره يومًا ما ، ولكن في الوقت الحالي ، سأقول فقط أن البطارية تعيش لأشهر ، ويمكنك التحدث لأسابيع ، ثم سيتم بيعها بشكل أفضل ، أو على الأقل الحصول على المبلغ المطلوب على kickstarter.الخطوة 5: لا توجد خطوة 5.
يتم تجميع الدواخلوتم الانتهاء من المشروع! بعد سحب الأسلاك ودفع الأشياء إلى الأماكن التي لم تكن مخصصة لها ، يمكنك إغلاق الحالة التي تناسب كل شيء بشكل جيد - ما لم تهزه.يمكنك فهم موقع المكونات تقريبًا. يوجد Arduino في الجزء العلوي الأيمن ، وتحته يوجد درع (يمكنك رؤية هوائي بارز) ، يذهب كابل طاقة USB أزرق إلى المنظم المتصل بالبطارية والشاحن ، والذي ينتقل إلى الموصل من النوع الأم في الجزء العلوي الأيسر. يمكنك رؤية كابلات الميكروفون والسماعة (من أعلى اليمين إلى اليسار).الدوائر الموجودة على لوحة الدوائر البنية أدناه هي الدوائر الأصلية للهاتف. لا يتم استخدامها ، ولكن سيكون من الصعب إزالتها ، وربما لن تعمل الرافعة (قطعة بلاستيكية شفافة على اليسار) بدونها ، وهو أمر غير مقبول.والآن ، كما وعد ، الإعلان النهائي ، بكل جماله النهائي. يا له من سحر! تأكد من إرسالها إلى جميع أصدقائك ، حتى أولئك الذين لم تتحدث معهم لفترة طويلة. ما الذي يمكن أن يكون أكثر أهمية من الدردشة مع الأصدقاء القدامى مرة أخرى بفضل مشروع الإنترنت المجنون لبعض الرجال من اليونان؟ بالطبع لا شيء!إذا خدعتك مباشرةً لإنشاء هاتف محمول خاص بك باستخدام برنامج اتصال ، وكنت تفكر في الكتابة من الصفر ، وقضاء ليالٍ بلا نوم على الهندسة العكسية لمقاطع التعليمات البرمجية الخاصة بي ، فلدي أخبار سارة لك. لقد نشرت جميع التعليمات البرمجية عبر الإنترنت لأنني شخص.github.com/skorokithakis/iRotaryأخبرني إلى أي مدى غير هذا المشروع الرائع حياتك في التعليقات على المقالة الأصلية أو على Twitter! صفعة!