در روش Dot-Matrix یا Matrix-LED به تعداد پیکسل*های صفحه نمایش از LED استفاده شده و برای کنترل روشن و خاموش شدن آنها از bus مشترک استفاده می*شود.
استفاده از bus مشترک به این معنی است که برای کنترل صفحه، نیازی به سیم کشی مجزا برای هر LED نیست و به جای این کار، پس از کنار هم چیدن LED ها به صورت یک چهار ضلعی، به ازای هر سطر یک bus کاتد و به ازای هرستون یک bus آند ایجاد می*کنیم.
در اکثر صفحات نمایش مورد استفاده در موبایل*های قدیمی (صفحات تک رنگ)، دستگاه*های فکس و کپی و امثال آنها از این فناوری استفاده شده است.
تجهیزات مورد نیاز:
16 عدد LED
4 عدد مقاومت بیشتر از 100 اهم و کمتر از 1K (مثلا 220)
برد Arduino Uno
بردبورد
سیم برد
روش کار:
دیودها را به صورت یک مربع 4 در 4 بر روی برد قرار داده و در هر سطر پایه*های کاتد را به یکدیگر متصل کرده و در انتها یک مقاومت به آن وصل کنید. سپس در هر ستون پای*های آند را به یکدیگر متصل کنید. به این ترتیب 8 سیم برای کنترل 16 LED بدست می*آید که به ترتیب آنها را به پایه*های 2 تا 9 از Uno متصل می*کنیم. برای برنامه ریزی برد به صورت زیر عمل می*کنیم. در این برنامه در هر چرخه اجرا تعدادی از LED ها به صورت تصادفی روشن یا خاموش می*شوند. نتیجه کار جالب خواهد بود.
http://www.mshams.ir/wp-content/uplo..._led_schem.png
مرجع: طراحی صفحه نمایش ماتریسی با میکروکنترلر Atmel و LEDکد:
void setup(){
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
randomSeed(analogRead(0));
}
void loop(){
digitalWrite(2, random(0, 10)<5 ? HIGH : LOW);
digitalWrite(3, random(0, 10)<5 ? HIGH : LOW);
digitalWrite(4, random(0, 10)<5 ? HIGH : LOW);
digitalWrite(5, random(0, 10)<5 ? HIGH : LOW);
digitalWrite(6, random(0, 10)<5 ? HIGH : LOW);
digitalWrite(7, random(0, 10)<5 ? HIGH : LOW);
digitalWrite(8, random(0, 10)<5 ? HIGH : LOW);
digitalWrite(9, random(0, 10)<5 ? HIGH : LOW);
delay(50);
}