یکی از چیزهای خسته کننده در مورد توسعه و اشکال زدایی مدارهای الکترونیکی این است که نمی توانید به داخل مدار نگاه کنید تا ببینید چه اتفاقی می افتد. حتی با وجود مداری که پیش از شما روی میز کار گذاشته شده و روشن می شود، ممکن است به نظر برسد که در تاریکی هستید، نمی توانید بفهمید که چرا تغییر یا تغییر ورودی در یک قسمت از مدار، تأثیری را که انتظار داشتید ندارد. گاهی اوقات ممکن است احساس کنید که با یک چشم بند کار می کنید.
در این پروژه ما از یک آردوینو برای گرفتن چندین مقدار ورودی استفاده می کنیم و آنها را از طریق اتصال USB به یک کامپیوتر میزبان که برنامه ای را اجرا می کند که مقادیر را رمزگشایی می کند و آنها را روی صفحه نمایش می دهد، ارسال می کنیم. از آنجایی که آردوینو خود هوش خاصی ارائه نمیکند و به سادگی هر مقداری را که میخواند منتقل میکند، این پروژه بسیار انعطافپذیر است و رفتار سیستم را میتوان به سادگی با تغییر نرمافزاری که روی رایانه شما اجرا میشود تغییر داد. این گستره وسیعی از امکانات را برای استفاده از همان سخت افزار اولیه برای پردازش و تجسم داده های آنالوگ، داده های دیجیتال موازی و داده های دیجیتال سریالی باز می کند.
برنامه تجسم نمایش داده شده در این پروژه در Processing نوشته شده است، پروژه خواهر آردوینو که به گونه ای طراحی شده است که امکان توسعه سریع برنامه های بصری را به همان روشی که آردوینو اجازه توسعه سریع برنامه های فیزیکی را می دهد، می دهد. پردازش در ویندوز، لینوکس و MacOS اجرا می شود.
با این حال، این رویکرد ساده دارای محدودیتهای عمدهای از نظر میزان نمونهگیری و وضوح است، بنابراین انتظار نداشته باشید که یک سیستم مبتنی بر آردوینو با یک اسیلوسکوپ حرفهای یا تحلیلگر منطقی رقابت کند. ورودی های آنالوگ در آردوینو به طور پیش فرض با وضوح 10 بیتی کار می کنند که مقیاس 0 تا 1023 را ارائه می دهد، در حالی که ADC های پیشرفته تر وضوح 12 بیت یا بالاتر را ارائه می دهند. ورودیهای آنالوگ آردوینو نیز حدود 100 میکروثانیه طول میکشد تا تعداد نمونههایی را که میتواند در ثانیه بگیرد، محدود میکند و آن را به فرکانسهای بسیار پایینتری نسبت به ADC پیشرفتهتر محدود میکند.
نتیجه سیستمی است که بسته به تعداد کانال هایی که نظارت می کنید، با وضوح 10 بیت تا جایی در منطقه 5 کیلوهرتز کاملاً خوب عمل می کند. مشخصات فوقالعادهای نیست، اما اگر نتوانید یک اسیلوسکوپ حرفهای یا آنالایزر منطقی بخرید، مطمئناً بهتر از هیچ است.
برای جزئیات بیشتر: اسیلوسکوپ / تحلیل منطقی با استفاده از آردوینو
در ادامه، متن انگلیسی این مطلب را میتوانید مشاهده نمایید:
One of the frustrating things about developing and debugging electronic circuits is that you can’t look inside the circuit to see what is happening. Even with a circuit laid out before you on a workbench and powered up it may seem like you’re in the dark, unable to figure out why an input change or alteration in one part of the circuit isn’t having the effect you expected. Sometimes it can feel like you’re working with a blindfold on.
In this project we use an Arduino to capture multiple input values and pass them via the USB connection to a host computer running a program that deciphers the values and displays them on-screen. Because the Arduino itself is not providing any particular intelligence and simply passes on any values it reads, this project is very flexible and the behavior of the system can be changed simply by altering the software that runs on your computer. This opens up a wide range of possibilities for using the same basic hardware to process and visualize analog data, parallel digital data, and serial digital data.
The visualization program demonstrated in this project is written in Processing, a sister project to Arduino that is designed to allow rapid development of visual programs in the same way that Arduino allows rapid development of physical programs. Processing runs on Windows, Linux, and MacOS.