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

ما در بازی های مختلفی مانند مار و پله ، بازی های فکری و … از تاس استفاده می کنیم . هنگامی که یک تاس ریخته می شود ، عددی رندم برای ما ظاهر می شود.در این پروژه قصد داریم تا یک تاس دیجیتال با آردوینو بسیازیم. این پروژه بیشتر جنبه ی آموزش دارد تا با برنامه نویسی و ابعاد مختلف آن آشنایی داشته باشیم.
قطعات لازم برای پروژه ی تاس دیجیتال با آردوینو :
آردوینو یونو (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)