یک مبدل دیجیتال به آنالوگ یک سری ورودی دیجیتال (رشته ای از 1 و 0 که در مورد ما 8 عدد از آنها مانند 10011001 وجود خواهد داشت) می گیرد و آن را به خروجی آنالوگ تبدیل می کند. شما DAC ها را در هر دستگاه صوتی دیجیتال (MP3 پلیر، پخش کننده سی دی) می بینید، زیرا همه اینها موسیقی را به شکل دیجیتال ذخیره می کنند، اما نیاز به درایو یک بلندگو با سیگنال آنالوگ دارند. از این رو نیاز به تبدیل داده های دیجیتال به سیگنال آنالوگ است.
در اینجا مثالی از نحوه کار دیجیتالی کردن آورده شده است (تصاویر از مقاله ویکی پدیا در مورد DAC ). برای دیجیتالی کردن یک سیگنال آنالوگ مانند یک موج، از آن در یک فرکانس معمولی ثابت نمونه برداری می کنیم (به اندازه کافی بالا گرفته می شود به طوری که مصنوعات ناشی از آن را نمی شنویم.
به نمونه برداری) و نمونه ها را به صورت دیجیتال ذخیره کنید:
DAC برعکس عمل می کند: داده شده
نمونه ها به صورت دیجیتال، شکل موج آنالوگ را دوباره ایجاد می کنند:
البته این است
تقریبی. مراحل همیشه وجود دارند، اما تا زمانی که به اندازه کافی کوچک باشند، ممکن است صاف شوند. برای اینکه آنها را به اندازه کافی کوچک کنیم، باید بتوانیم دقیق نمونه برداری کنیم و از تعداد زیادی بیت برای نمایش سیگنال استفاده کنیم. به عنوان مثال، اگر ما فقط از 4 بیت برای نمونه برداری از شکل موج استفاده کنیم، وضوح تنها 2^4$ = سطوح 16$ خواهیم داشت. با 8 بیت، تعداد سطوحی که می توانیم نشان دهیم به سطوح 2^8 = 256 دلار افزایش می یابد. این هنوز برای یک سیستم صوتی تجاری به اندازه کافی خوب نیست، اما برای این آزمایش به اندازه کافی خوب خواهد بود. هدف ما ساخت یک DAC 8 بیتی است که دنباله هایی از 8 عدد باینری (یک بایت) را می پذیرد و یک نمایش آنالوگ از آن دنباله را خروجی می دهد:
اعداد باینری و بیت ما معمولا از اعداد اعشاری در محاسبات خود استفاده می کنیم. کامپیوترها از اعداد باینری استفاده می کنند . هر عدد باینری از دنباله ای از بیت ها تشکیل شده است . اینها 0 و 1 هستند. دنباله ای از 8 بیت را بایت می نامند . در این آزمایش با بایت ها کار خواهیم کرد.
چگونه در باینری حساب کنیم؟ در اینجا دنباله ای از اعداد باینری و معادل های اعشاری آنها آمده است (من از دنباله های 4 بیتی برای تطابق استفاده کرده ام). زیرنویس ها سیستم اعداد در حال استفاده را نشان می دهند: $2$ به معنای باینری و $10$ به معنای اعشاری است. \begin{eqnarray*} 0000_{2} & = & 0_{10} \\ 0001_{2} & = & 1_{10} \\ 0010_{2} & = & 2_{10} \\ 0011_{2} & = & 3_{10} \\ 0100_{2} & = & 4_{10} \\ 0101_{2} & = & 5_{10} \\ \end{eqnarray*} چگونه از باینری به اعشاری تبدیل کنیم؟ عدد باینری $(b_3 b_2 b_1 b_0)_{2}$ را در نظر بگیرید. قانون تبدیل آن به اعشار این است: \begin{eqnarray*} (b_3 b_2 b_1 b_0)_{2} & = & b_3 \times 2^3 + b_2 \times 2^2 + b_1 \times 2^1 + b_0 \times 2^0 \end{eqnarray*} یا، به طور کلی، برای عدد باینری $n$-bit: \begin{eqnarray*} (b_{n-1}\cdots b_2 b_1 b_0)_{2} و = & \sum_{i = 0}^{n-1} b_i \times 2^i \end{eqnarray*}
در کامپیوتر 1$ به عنوان ولتاژ بالا (5 ولت در آردوینو) و 0 دلار به عنوان ولتاژ پایین (0 ولت در آردوینو) نشان داده می شود، اگرچه در برخی از سیستم ها تنها چیزی که ممکن است لازم باشد ولتاژ به اندازه کافی پایین است.
برای اطلاعات بیشتر در مورد اعداد باینری به مقاله ویکی پدیا مراجعه کنید .
واقعیت جالب : اگر با انگشتان خود به صورت باینری بشمارید، می توانید از 0 تا 1023 بشمارید.