در این پروژه از ATmega8 به عنوان کنترولر و مدار فرمان رله ها استفاده شده است . در عین حال برای ارتباط با کامپیوتر از طریق پورت USB نیز ، از این میکرو کنترولر استفاده شده است.این میکرو کنترولر از خانواده میکروکنترولر های AVR است .
پروتکل USB به صورت نرم افزاری در برنامه (Firmware) میکرو پیاده سازی شده است و می تواند با استاندارد USB 1.1 Low به تبادل اطلاعات بپردازد.
برنامه این میکرو بر اساس کامپایلر GCC نوشته شده است که برای کامپایل آن می توان از برنامه WinAvr استفاده کرد .
LCD بکار رفته در این پروژه کاراکتری و 16*2 می باشد که بصورت مستقیم توسط نرم افزار کامپیوتری ، متن یا دستوالعمل را گرفته و اجرا می کند .
در برنامه کامپیوتری برای ارتباط با پورت USB از درایور آماده libusb استفاده شده است .
برنامه کامپیوتری توسط زبان C++Builder تهیه شده است. این برنامه مستقیماٌ از میکروفن کامپیوتر صوت را دریافت کرده و پس از ذخیره در بافر داخلی شروع به تجزیه و تحلیل می کند. روال کار به این صورت است که از اطلاعات ورودی که در بازه زمان هستند تبدیل فوریه (FFT) گرفته شده تا به بازه فرکانس بروند . سپس با پردازش روی طیف فرکانسی و کمی کار آماری حدود شباهت صوت دریافتی را با نمونه های ذخیره شده مقایسه می کند .
1-1-2- لخت افزار Firmware :
میکرو میتواند پنج دستورالعمل مختلف را از کامپیوتر دریافت نموده و اجرا نماید .
1- ارسال یک بایت دستورالعمل به LCD : cmdLCD_Command
2- ارسال یک بایت دیتا به LCD : cmdLCD_Data
3- نمایش یک رشته متنی روی LCD : cmdLCD_Str
4- روشن و خاموش کردن BackLight : cmdLCD_BL
5- کنترل رله ها : cmdSWITCH
برای کنترل LCD سه تابع طراحی شده است :
void LCD_Command(uchar command)
void LCD_Data(uchar data)
void LCD_Init(void)
این توابع برای ارسال دستورالعمل ودیتا و همچنین تنظیمات اولیه استفاده می شوند .
یکی از توابعی که در بخش USB آن استفاده می شود usbFunctionSetup است که توسط آن به درخواست رسیده شده از کامپیوتر پاسخ داده می شود .از تابع usbFunctionWrite جهت دریافت اطلاعات از کامپیوتر استفاده می گردد . تابع دیگری که برای ارسال دیتا به کامپیوتر از آن استفاده می شود usbFunctionRead نام دارد که در این پروژه از آن استفاده نگردیده است .
مقدمه
به دلیل روشنی کهJava طراحی می شود، برنامه نویس دسترسی آسان به متغیرهای محیط سیستم ندارد. به دلیل روشی که جعبه توسعه (JDK) تنظیم می شود، استفاده از نشانه های چندگانه در استنتاج یک برنامه جدید ضروری است که به خوبی با قالب های استاندارد HTML روش CGI عملیات ها مطابقت ندارد. راه هایی در این محدودیت ها وجود دارد، یکی از آنها را پیاده سازی کردم. بعداً جزئیات را مطالعه کنید.
از آنجا که پاراگراف قبلی را در 1996 نوشتم، تکنولوژیJava تغییرات زیادی یافته است. احتمالاً روش بهتری برای اجرای سرور وجود دارد، اکنون برنامه های جانبی جاوا در دسترس می باشد، شاید به سروست ها نظری اندازید.
1-1- آگاهی قبلی
فرض می کنیم که آگاهی عمومی و کلی از مفاهیم HTML, CGI و حداقل، معلومات اندکی از سرورHTTP خود دارید. همچنین باید چگونگی برنامه نویسی به زبانJava را بدانید با مقدار زیادی از اینها معقولانه به نظر نمی رسد.
2-1- این مدرک
آخرین نسخه این مدرک را می توان در سایت http://www.orbits.com/software/ Java-CGI.html خواند.
3-1- بسته بندی
می توان با FTP بی نام در سایت ftp://ftp.orbits.com/pub/soft ware/Java- Cgi-0.5.tgz به آخرین نسخه بسته شرح داده شده در اینجا دسترسی یافت. توزیع بسته بندی شامل منبع SGML این مدرک می شود.
بسته تحت شرایط گواهینامه عمومی کلی کتابخانه GNU توزیع می شود. این مدرک را می توان تحت شرایط نکته کپی رایت Linux HowTo منتشر کرد.