رباتیک و هوافضا

دانلود پروژه ی ساخت تاس دیجیتال با آردوینو

ساخت تاس دیجیتال با آردوینو

به نام خدا

پروژه ی ساخت تاس دیجیتال با آردوینو

ساخت تاس دیجیتال با آردوینو

ما در بازی های مختلفی مانند مار و پله ، بازی های فکری و …  از تاس استفاده می کنیم . هنگامی که یک تاس ریخته می شود ، عددی رندم برای ما ظاهر می شود.در این پروژه قصد داریم تا یک تاس دیجیتال با آردوینو بسیازیم. این پروژه بیشتر جنبه ی آموزش دارد تا با برنامه نویسی و ابعاد مختلف آن آشنایی داشته باشیم.

 

قطعات لازم برای پروژه ی تاس دیجیتال با آردوینو :

آردوینو یونو (UNo)

سون سگمنت آند مشترک

میکروسوئیچ

سیم برد بورد

مقاومت یک کیلو اهم

منبع تغذیه

شماتیک مدار :

ساخت تاس دیجیتال با آردوینو

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

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

دانلود کد برنامه:

دانلود فایل
#define resett 15
#define dice 14
char digit[6]={0x02, 0x79, 0x24, 0x30, 0x19, 0x12};
int pin[7]={6,5,4,3,2,1,0};
void setup()
{
  for(int i=0;i<7;i++)
  pinMode(pin[i], OUTPUT);
  pinMode(dice, INPUT);
  pinMode(resett, INPUT);
  digitalWrite(dice, HIGH);
  digitalWrite(resett, HIGH);
   int temp=0x40;
    for(int i=0;i<7;i++)
    {
      int temp1=temp&0x01;
      digitalWrite(pin[i], temp1);
      temp=temp>>1;
    }
    delay(1000);
}
void loop()
{
  int temp=rand();
  if(digitalRead(dice)==0)
  {
    int k=temp%6;
    temp=digit[k];
    wait();
    for(int i=0;i<7;i++)
    {
      int temp1=temp&0x01;
      digitalWrite(pin[i], temp1);
      temp=temp>>1;
    }
    delay(200);
  }
  
  if(digitalRead(resett)==0)
  {
    temp=0x40;
    for(int i=0;i<7;i++)
    {
      int temp1=temp&0x01;
      digitalWrite(pin[i], temp1);
      temp=temp>>1;
    }
  }
}
void wait()
{
  for(int m=0;m<10;m++)
  {
   for(int k=0;k<6;k++)
   {
    int ch=digit[k];
    for(int l=0;l<7;l++)
    {
      char tem2=ch&0x01;
      digitalWrite(pin[l], tem2);
      ch=ch>>1;
    }
    delay(50);
   }
  } 
}

دیدگاه‌ها (0)

*
*