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

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

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

به نام خدا

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

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

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

 

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

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

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

میکروسوئیچ

سیم برد بورد

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

منبع تغذیه

شماتیک مدار :

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

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

بیشتر بخوانید...  آموزش کنترل موتور DC با آردوینو (PWM - L298 - پل اچ ) به همراه کد

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

دانلود فایل
#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)

*
*