شکن – نسخه ویندوز (غیررسمی)

اگر مقداری درگیر فعالیت های کامپیوتری شده باشید (غیر از بازی کردن! ?) نیازی به گفتن نیست که بسیاری از سرویس های مطرح اینترنتی و یا وبسایت های آنها اجازه ی ورود به ما نمی دهند و به اصطلاح تحریممان کرده اند! بعضی سایت ها مانند اوراکل یا ادوبی که حتی زحمت نکشیده اند صفحه ی اعلام عدم اجازه عبور درست کنند و کلا صفحه ی سفید نشانمان می دهند!
خلاصه، برای دور زدن تحریم ها هر کسی کاری می کند؛ یکی سرور خارجی می خرد، یکی چیز پی ان(!)، یکی قند-#شکن! و…
اما جدیدا با سرویسی آشنا شده ام که علاوه بر رایگان بودن، سرعت بسیار بالایی هم دارد انگار که اصلا دور زدنی در کار نیست!


شکن، نام این سرویس جالب ایرانی است که تنها با تنظیم دو آدرس DNS در تمامی دستگاه ها فعال شده و در آدرس های خاصی که از پیش گزارش شده اند تحریم را مثل آب خوردن دور می زند! نکته مثبت آن این است که غیر از تنظیم DNS احتیاج به تنظیم پرا-کسی در نرم افزار های همان سرویس های تحریم کننده ندارد (مثل نرم افزار مدیریت اس دی کی اندروید)…

چند وقتی بود که دنبال ساخت نرم افزاری برای تنظیم و پاک کردن DNS های شکن بودم. هرچند تنظیم DNS کار ساده ایست اما هربار تنظیم و برداشتن آن زمان‌بر است؛ خصوصا که مسیر بسیار بد دستی هم دارد (?) و میانبری هم با جستجو در استارتِ ویندوز10 بالا نمی‌آید. به همین خاطر دست به کار شدم تا نرم افزاری بسازم که با استفاده از C# و رابط کاربری WPF امکان تغییر DNS را به کاربر بدهد.

در این نرم افزار که به رایگان در گیت هاب منتشر شده است (و می‌تواند برای افرادی که به دنبال کد های تغییر dns در ویندوز به وسیله C# wpf هستند بسیار مفید باشد)، می‌توانید با فشردن یک کلید DNS ویندوز خود را بر روی آدرس های شکن قرار داده با با فشردن دوباره همان کلید آنها را پاک کرده و به حالت اول برگردانید.

دریافت نرم افزار از گیت هاب

سورس برنامه در گیت هاب

صفحه ی برنامه در آزمایشگاه ابر

 

روبی ویتا – برنامه نویسی برای کودکان

روبی ویتا

یادم می آید از زمانی که روی ربات روبی کار می‌کردم به فکر ساخت نسخه ای کودکانه برای آن بودم؛ شایدم هم نه، از قبل تر! زمانی که آقای نیرومند به من گفت:

…خلاصه، می‌خوام بگم اون زحمتی که می‌خوای بکشی شاید کاربرد زیادی نداشته باشه.

اما چیزی که پیشنهاد می‌کنم انجام بدی، طراحی Robi هست که در مطلب اخیر صحبت کردم.

اگر بتونی اون رو در حد یک روبات ۱۰ سانتی متری کوچیکش کنی و چیزی شبیه به عروسک نمادِ آندروید کنی، عالی می‌شه.

به خصوص اگر بتونی حداقل در مراحل بعد یک ماژول Wi-Fi هم روش بذاری که بتونه بی‌سیم دستور بگیره، دیگه فوق‌العاده می‌شه.

ما می‌خواهیم Robi روباتی باشه که از یک خط فرمان، دستوراتی رو که ضمیمه کردم (و منتشرش نکن) دریافت و اجرا کنه.

می‌تونی این پروژه رو پیگیری کنی؟

و من در جوابش فرستاده ام:

برای روبی هم، راستش من خودم برای خودم داشتم روی یه برد ایرانی آردوینویی کار میکردم با یه محیط برنامه نویسی شبیه اسکرچ به نام ماجراجو؛ ولی روبی هم چیز خوبیه و میتونم روش کار کنم.

چند وقتی بود که در فکر ساخت یک محیط برنامه نویسی ساده شده بودم؛ شبیه اسکرچ کودکان؛ با الهام از خط زمانِ برنامه های تدوین فیلم که تکه ها در یک خطر قرار می گیرند و به ترتیب اجرا می شوند. نمونه ی اولیه خیلی افتضاح بود 😀 به قدری که هنوز خط زمان را تکمیل نکرده پاکش کردم!

در حین کار روی نسخه بتای روبی، روی رابط کاربری نسخه ای خاص از محیط برنامه نویسی ماجراجو (محیطی که با سیشارپ برای برنامه نویسی و اجرای دستورات ساده و مخصوص روبی روی آن به وسیله بلوتوث ساخته بودم) که مناسب برای کودکان باشد. با الهام از سادگی دستورات ماجراجو، دستورات ماجراجو کودکان (نسخه پرتقال ?) هم ساده تنظیم شد و برای آنکه هر دستور برای کودکان به راحتی قابل شناسایی باشند از کلمات در آن استفاده نشد (این اتفاق برای استفاده از بازی در زبان های دیگر هم این مزیت را به بار می آورد).

این طرحی بود که 30 شهریور 96 (یک روز مانده به محرم) موقع تحویل روبی به آقای نیرومند نشان دادم و خوششان آمد:

 

 

بعد از اتمام روبی بتا کار روی ساخت نسخه کودکان آن شروع شد؛ برآورد اولیه این بود که بازی تا بهمن ماه به انتشار برسد. طراحی نوار زمانی که چینه ها را روی آن بتوان چید کار سختی بود که تابحال انجام نداده بودم و چالش من در طراحی بازی بود…

ادامه‌ی مطلب

پنجرا – اجرای یک برنامه در برنامه ی دیگر!

برای پیش تولید یکی از پروژه ها، نیاز به کدی بود که با آن بتوانیم یک نرم افزار را داخل یکی دیگر و بدون نوار عنوان اجرا کنیم! ابتدا از شنیدن همچین چیزی شاخ در اوردم و می گفتم اصلا مگر همچین چیزی امکان دارد؟! اما بعد از مقداری جستجو به فناوری OLE رسیدم که مخفف Object Linking & Embedding است و از سال 1990 در حال توسعه است و در حال مرگ هم هست! 😐

پنجرا بر اساس این قابلیت ساخته شده و شما می توانید با کشیدن و رها کردن برنامه ها در پنجرا آن را درون کادر کوچیک مشاهده کنید! همه ی برنامه ها قابلیت پشتیبانی از ole را ندارند و درون کادر اجرا نمی شوند. دو کلید آماده برای اجرای نوت پد و وردپد هم در نرم افزار تعبیه شده است.

شما می توانید پنجرا را از اینجا دریافت کرده و امتحان کنید.

درایور نوار LED RGB با مادون قرمز و بلوتوث

اگر تا بحال قصد نور دهی به یک LED یا LED RGB (RGB سرواژه سه رنگ اصلی یعنی قرمز و سبز و آبی ست) را با یک پردازنده داشته باشید، حتما در جریان هستید که مقدار جریانی که از هر پایه آن می توانید بکشید بیشتر از 10 میلی آمپر نمی تواند باشد زیرا پردازنده ها موجودات ظریفی هستند! 🙂
همچنین ولتاژ مورد نیاز یک نوار LED RGB چیزی در حدود 12 ولت است، نه 5 ولت اتمگا (و نه 3.3 ولت پردازنده های ARM)

اما چاره چیست؟

یکی از معمول ترین راه ها استفاده از ترانزیستور های ماسفت است؛ با استفاده از یک ماسفت می توانید ولتاژ و جریان زیادی را به کمک ولتاژ و جریانی کم به راحتی هرچه تمام تر کنترل کنید.

طی جستجو های من، ماسفت TIP120 یا TIP122 برای این کار مناسب به نظر می آمد. با توجه به اینکه نوار ال ای دی مورد نظر من آند مشترک و سه پایه برای کنترل داشت، سه ماسفت TIP122 را به قیمت دانه ای 5 هزار تومان خریدم و در مدار استفاده کردم اما در هنگام استفاده آیسی ها بسیار داغ می کردند و این اصلا خوب نبود؛ به خصوص که نوار فعلی تنها 5 ال ای دی داشت اما پروژه باید توانایی کنترل نوار های چند متری را هم میداشت (یعنی بیش از 3 آمپر در حالی که جریان فعلی به نیم آمپر هم نمی رسید!). پس دوباره جستجو کردم و اینبار به ماسفت ST13007 رسیدم که توانایی کار تا 50 ولت و 30 آمپر را داشت و آفتاب رایانه آن را تنها 1900 تومان میفروخت! بعدا که از یکی از مغازه های پاساژ بهشتی پرسیدم، متوجه شدم که قیمت TIP122 هم 1900 تومان بوده اما دنیای الکترونیک با کمال وقاحت آن را 5 هزار تومان فروخته!

به هر حال ماسفت های جدید را در مدار گذاشتم و به خوبی کار کرد. تصویر زیر را مشاهده کنید:

ولتاژ 12 ولت از پایه 3 وارد می شود؛ به وسیله ی پایه 1 کنترل می شود و به پایه 2 می ریزد که به یکی از پایه های نوار LED RGB متصل است.

دستگاه از طریق کنترل مادون قرمز و فرامین بلوتوث دستور می گیرد؛ دستوراتی مانند تنظیم قرمز و سبز و آبی، تنظیم دو حالته روشنایی، چهار حالت رقص نور و…

بازی چایخانه (نسخه ابتدایی)

انجمن پرومیکرز یکی از انجمن های دوره میانی بازیسازی مستقل محسوب می شود که از بهمن 1389 به اینترنت پای گذاشت؛ پرومیکرز به نوعی در شروع به بازیسازی و در ادامه برنامه نویسی، گرافیک، ایده پردازی، الکترونیک و … کمک من بوده و خودم را مدیون آن می دانم.

این انجمن هم مثل انجمن های دیگر بحران ها و پستی و بلندی های مختلفی را تجربه کرده و مدتی در کما به سر می برد اما الان در عین خلوتی نسبی وضعیت خوبی دارد.

ماه گذشته تعدادی از کاربران تصمیم گرفتند تا برای روحیه گرفتن کاربران یک مسابقه 10 روزه ایجاد کنند؛ من و 6 نفر دیگر در مسابقه شرکت کردیم و در نهایت یک ربع مانده به اتمام زمان مسابقه بازی آماده و آپلود شد.

در این بازی شما نقش مسئول یک ایستگاه چایِ صلواتی رو ایفا می کنید و می بایست به وسیله قوری ای که گنجایش 10 استکان را دارد به ماشین های عبوری چای دهید.
راهنما: با کلیک در امتداد استکان ها (بالای استکان ها) آن ها را پر کنید. با نگه داشتن موس هنگامی که روی سماور برقی استیل هستید قوری را پر کنید.
چالش این بازی جلوگیری از ایجاد ترافیک، یعنی ماندن بیشتر از 3 ماشین در صف می باشد.
می توانید بازی را از اینجا دریافت کنید.
// در نهایت بازی توانست رتبه ی دوم این مسابقه را دریافت نماید.
پی نوشت: در ساخت این بازی از تصاویر افراد زیر استفاده شده است:
– خبرگزاری قسم
– فروشگاه اینترنتی خیمه
و چند وبسایت دیگر که در مورد رایگان یا غیررایگان بودن طرحشان چیزی ذکر نکرده اند اما امیدوارم راضی باشند.

سبزا – دستگاه کنترل دما و رطوبت

ساخت و نگهداری گلخانه در منزل و نگهداری از گل ها یکی از روش های کسب آرامش و حتی کسب درآمد در منزل هست.
اما برای کنترل خنکی و رطوبت گلخانه تون از چه دستگاهی استفاده می کنید؟
با جستجویی در بین دستگاه های موجود در بازار حتما متوجه قیمت بالا و یا کیفیت ساخت پایین و سختی کار با این دستگاه ها می شوید؛

در شرایطی که با بالا رفتن قیمت ارز قیمت تمامی این دستگاه ها به بیش از چند صد هزار تومان می رسد، سبزا با کمترین قیمت و بهترین امکانات ممکن به شما عرضه می شود!


سبزا همچنین دارای یک نمایشگر و یک رابط کاربری زیبا و فارسی است؛ بله، رابط کاربری فارسی! امکانی که در هیچ کدام از دستگاه های مشابه وجود ندارد!
کار با سبزا بسیار راحت بوده و می توانید به راحتی آن را متناسب با نیاز خود تنظیم کرده و گرما/سرما و رطوبت/خشکی محیط گلخانه خود را کنترل کنید.

فونت پیکسیا

هنگامی که می خواستم روی پروژه هایم با آردوینو متنی فارسی روی LCD های گرافیکی نمایش دهم، خیلی ناراحت بودم از اینکه هیچ کتابخانه ای وجود ندارد که بتوانم به راحتی با آن فارسی بنویسم؛ باید مثل بقیه از عکس استفاده می کردم.

بعد از کنکور دیدم که فرصت خیلی مناسبیه تا روی این کتابخونه کار کنم، قبل از هر کاری در اینترنت حسابی به دنبال پروژه مشابهی گشتم اما کسی برای آردوینو چنین کاری انجام نداده بود. در بین کار هایی که برای AVR و با کدویژن یا بسکام انجام شده بود فردی با نام h.Asadi پروژه ای انجام داده بود و بعد با قرار دادن عکس هایی از پروژه خودش، مقاله ی راهنمایی برای ساخت توابع فارسی نویسی قرار داده بود:

گذشته از نکات موجود در آموزش، از طرح فونت فارسی خیلی خوشم اومد. از روی عکس ها حروف رو بازطراحی کردم و کد های مربوطه هم آماده شد 🙂

قبل و بعد از تمام شدن پروژه چندین بار به دنبال فونت پیکسلی فارسی هم گشته بودم؛ فونت های قدیمی که […] (!). از چند فونتی که پیدا کردم اکثرا فقط حالت پیکسلی به خودشون گرفته بودن و قوائد رو رعایت نمی کردن؛ فونتی به نام أراپیکس هم وجود داشت که بزرگتر از 8*8 و نوع فارسی آن غیر‌رایگان بود.

بنابراین تصمیم گرفتم تا خودم دست به کار بشم و فونتی پیکسلی و استاندارد طراحی کنم.

کیو پیکسیا   q_Pixia

پیکسیا طراحی شد تا:

  • در طراحی های پیکسلی به کار گرفته شود
  • در بازی های فانتزی و پیکسلی استفاده شود
  • به طور کلی جای خالی فونت فارسی پیکسلی در دنیا مرتفع گردد D:

برای دریافت می توانید به یوفونت مراجعه کنید.
دریافت از همینجا (نسخه 1.0.1)

روبی – ربات آموزشی کودکان

ربات آموزشی روبی (نسخه ی آزمایشی)

ربات آموزشی روبی، یک محصول آموزشی جهت آموزش و تمرین دستورات برنامه نویسی برای علاقه مندان نوجوان می باشد. این ربات می تواند دستوراتی مانند حرکت به جلو، چرخش، بررسی مانع روبرو، ایجاد صدای بیپ (با چند حالت مختلف) و… را انجام دهد که آن را به محصولی کاربردی تبدیل کرده است.

روبی، اکنون در مرحله ی ساخت نسخه های آزمایشی به سر می برد و به زودی نسخه های بهتر و کوچک تر از آن منتشر خواهد شد.

 

ماجراجو (آزمایشی)

نرم افزار ماجراجو، یک محیط کدنویسی کوچک جهت برنامه دادن به ربات های پروژه روبی ـست. یک کدنویسک، با زبان ساده شده و دستورات ساده برای آموزش مهارت های برنامه نویسی به افراد علاقه مند ?

//نسخه ی پیش نمایش: این نرم افزار فعلا در مراحل اولیه ساخت قرار دارد، نرم افزار از طریق ارتباط سریال (و پشتیبانی از ارتباط بلوتوث از طریق سریال) به دستگاه های آموزشی متصل می شود و برنامه ی نوشته شده توسط کاربر را به دستگاه ارسال می کند.

فارسی نویس آردوینو

کسانی که تا به حال با آردوینو و مشتقاتش کار کردند میدونند که امکان فارسی نویسی در السیدی ها(ی متصل به آردوینو) وجود نداره؛ کسی هم تا به حال، حال ساخت چنین چیزی رو نداشته D:

هیچی دیگه، این پروژه سه روز زمان برد و مشکلات عجیب و غریبی داشت! اما بالاخره ساخته شد تا مشکلی دیگر از فارسی زبانان مرتفع گردد (نقطه!)

این تابع از لحاظ کاری به کتابخانه Adafruit gfx که معروف ترین کتابخونه کار با السیدی در آردوینو (جهت رسم اشکال و نوشتار) هست وابسته ست؛ با تیم آدافروت در حال مکاتبه هستم تا این تابع داخلش جاساز بشه و یک نسخه ویژه زبان های غرب آسیا منتشر بشه ?

تصاویر: