انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: ارسال سیگنال به کامپیوتر با پورت میکروفون  (دفعات بازدید: 5338 بار)

0 کاربر و 5 مهمان درحال مشاهده موضوع.

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1668
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
سلام من کار خاصی نکردم ولی گقتم شاید کسی بخواد.
مقدمه :
ما برای اینکه بخواهیم به کامپیوتر دستگاه یا برد الکترونیکی  وصل کنیم و باهاش کارهای باحال انجام بدیم دو راه داریم یکی راه  پیچیده مثل استفاده از یو اس بی یا بلوتوث (که بعد از چندسال هنوزم من نتونستم!) و دیگری راه ساده که این راه های ساده دوتا بود یکی پورت پرینتر (که از بین اش بردند) و یکی هم پورت میکروفن.
--
از اونجایی که من آدم چیز بلدی نیستم ساده ترین راه رو می گم!
اول باید alsa-utils رو نصب کنید ولی به احتمال زیاد الان هم باید نصب باشه
بعد یک فیش صدا (ترجیا یکمی سیم داشته باشه)رو به پورت میکروفون وصل کنید و توی alsamixer فسمت mic-bost رو کاملا ببندین   البته نبندین هم چیزی نمی شه ولی من خوشم نمی یاد!
این برنامه زیر رو با نام ad کامپایل کنید
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <fstream>
using namespace std;
int main(int argc , char *argv[])
{
int sample=atoi(argv[1]);
if (sample < 10) {cerr<<"sample (parameter #1) must be bigger than 10000 (opt=5(sec)*frequency/rate Ex:5*2000)"<<endl;exit(1);}
ifstream file (argv[2],ios::binary);
unsigned int ui;
int i;
char ch;
unsigned char uch;
int st[256]={0};
int sub,begin,last;
//find noise of line 
for (int j=0;j<sample;j++)
{
  file.get(ch);
  uch=ch;
  sub=uch;
  st[sub]++;
}
for (int i=0;i<256;i++)
    if (st[i]>0){
      begin=i; break;}
  for (int i=255;i>-1;i--)
    if (st[i]>0){last=i; break;}
//end find noise of line
cout <<begin<<"-"<<last<<endl;
while (!file.eof())
{
  file.get(ch);
  uch=ch;
  i=uch;
  if (i>=last+10 || i<begin-5) {cout <<"1";}
}
  return 0;
}
حالا این کارها رو انجام بدید
mkfifo /tmp/pipe
arecord -r 10000 -t raw >> /tmp/pipe
حالا این برنامه منتظر می مونه که یکی دیگه هم به فایل pipe وصل بشه پس توی یک پنجره دیگه می زنیم
./ad 40000 /tmp/pipe
حالا برنامه ۴ ثانیه صبر می کنه (۴۰۰۰تقسیم بر ۱۰۰۰۰)تا نویز خط رو حساب کنه بعدش محدوده ی نویز خط رو می نویسه و حالا آماده است که سیگنال رو دریافت کنه برای ارسال سیگنال فقط کافیه شست مبارک ! رو به  سر سیم/فیشی که داخل پورت میکروفون هست بزنید تا سیگنال فرستاده بشه توی برنامه هم هروقت که چیزی رو حس ! کرد مقدار ۱ رو می نویسه که البته می تونید توی برنامه تغییری بدهید که به جای چیزی نوشتن یک دستور را اجرا کنه!
---
اطلاعات اضافی!
۱۰۰۰۰ در arecord -r 10000 به این معنی هست که نرخ نمونه برداری ۱۰کیلو هرتز هست یعنی هر ثانیه ۱۰ هزار تا نمونه می گیره که حداقلش ۲۰۰۰ نمونه در ثانیه هست. هر نمونه هم که می گیره ۲۵۶ حالت داره (اصطلاحا می گن ۸بیتی!) که حالت پیشفرض اش هست و ۱۶ بیتی یا ۲۴ بیتی هم توی بعضی جاها استفاده می شه.
پارامتر اول توی کدی که گذاشتم تعداد کل نمونه هایی است که برای تشخیص محدوده نویز خط به کار می ره که فرمول محاسبه اش اینه: مقدار زمان برای تست(به ثانیه) * سرعت نرخ نمونه برداری
برای اینکه خوشگل تر سیگنال بفرستیم می شه با یک آی سی ۵۵۵ و یک خازن ۱۰ نانو و مقاومت (یا ولوم) فرکانس ایجاد کرد(که توی سایت های الکترونیک می تونید نقشه اش رو پیدا کنید)
---
این کار رو می شه خیلی بهتر هم انجام داد یا شاید هم کسی این کار رو کرده(من جست و جویی نکردم)
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره

آفلاین v.taghavi68

  • Hero Member
  • *
  • ارسال: 915
  • جنسیت : پسر
 :o :o
آقا چرا لقمه رو دور سرت چرخوندی؟!! پس پورت های سریال این وسط چیکاره اند؟ تو ویندوز بنام com و تو لینوکس به اسم ttys شناخته میشن
وای بر شما اگر این علم اندک وسیله ای برای طغیانتان شود

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1668
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
آره خیلی پورت هست ولی اولا لپتاپ من برای ورودی یو اس بی فقط داره با میکروفون! و فکر نکنم که حالاحالا ها پورت میکروفون رو ساقط کنند! نکته ی دیگه اینکه پورت سریال رو به سادگی پورت موازی یا میکروفون نیست خوبی پورت موازی این بود که هر کسی می تونست یک دستگاه رو به کامپیوتر وصل کنه و به کامپیوتر اطلاعات بفرسته ولی بقیه پورتهای دیگه نیاز به مدار واسط دارند که هرکسی نمی تونه راهش بیانداره. کتاب «راه اندازی و کنترل دستگاه های جانبی توسط کامپیوتر-محسن شکیبافر و نفیسه صابری رو ببین! خیلی ها فقط کامپیوتری هستند نه الکترونیکی.
پورت میکروفون هیچکدام  از این مشکلات رو نداره البته برای پروژه های بزرگ مناسب نیست  ولی من که شخصا اکثر کارهایی که انجام می دم کوچیک هستند نه بزرگ!
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4869
  • جنسیت : پسر
  • masoft قدیم
خوبی پورت موازی این بود که هر کسی می تونست یک دستگاه رو به کامپیوتر وصل کنه و به کامپیوتر اطلاعات بفرسته
چه پورت موازی و چه ورودی میکروفون نباید بدون یک برد واسط به کامپیوتر وصل بشن، وگرنه می‌تونند به کامپیوتر شما صدمه بزنند.

آفلاین محمد فدوی

  • Sr. Member
  • *
  • ارسال: 485
  • جنسیت : پسر
  • آغاز آزادی از رایانهٔ شخصی
    • آغاز آزادی از رایانهٔ شخصی
سید وحیدرضا برهانی:
منم فکر می‌کنم ممکنه مخرب باشه ولی خیلی ایده‌ی جالبی بود... حتما تستش میکنم. ممنون از انتشارش و خسته نباشی.

پ.ن: شاید قرار دادن یه فیوزالکترونیک ساده سر راهش جلوی آسیب رو هم بتونه بگیره... بهرحال اطلاعاتم کافی نیست بهتره نظر ندم!
اگر به بهداشت و فرهنگ رفتار با حیوانات علاقه دارید، از vetMD.ir دیدن کنید.
وبلاگ شخصی من: http://fadavi.net

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1668
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
کاری که من نوشتم فکر نکنم خطر داشته باشه
من یادمه یک زمانی می گفتند stk200/300 مادربورد رو می ترکونه! ولی خیلی ها ازش استفاده کردند و نترکید من خودم کلی دستگاه با پورت پرینتر وصل کردم هیچی هم نشد در نهایتش برد آنچنانی نمی خواد یک آی سی بافر می زاری (اونم فقط در پورت پرینتر)
اما درمورد میکروفون و این چیزی که نوشتم اتفاق خاصی فکر نکنم پیش بیاد چون ما فقط سیم رو با پوست بدن تماس می دیم و چون عرق بدن الکترولیت ضعیفی داره یک سیگنال کوچیکی رو تولید می کنه.
حالا اگر واقعا خطرداره می شه بگید کجا خطر داره ؟ شاید من چیزی رو از قلم می اندازم.
در آخر من مسئولیتی رو به عهده نمی گیرم و فقط می تونم بگم که خودمم از این دارم استفاده می کنم
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4869
  • جنسیت : پسر
  • masoft قدیم
اما درمورد میکروفون و این چیزی که نوشتم اتفاق خاصی فکر نکنم پیش بیاد چون ما فقط سیم رو با پوست بدن تماس می دیم
یک تخلیه الکترواستاتیکی با پوست بدن می‌تونه ولتاژی بیش از ۳۰۰۰ ولت رو به مدار شما انتقال بده :)

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1668
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
کجا نوشته بود؟ من ندیدم!
جالب شد!خب من الان چطوری می تونم با پوستم ۳کیلو ولت رو ایجاد کنم؟
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره

آفلاین Amir Emad

  • Sr. Member
  • *
  • ارسال: 419
اما درمورد میکروفون و این چیزی که نوشتم اتفاق خاصی فکر نکنم پیش بیاد چون ما فقط سیم رو با پوست بدن تماس می دیم
یک تخلیه الکترواستاتیکی با پوست بدن می‌تونه ولتاژی بیش از ۳۰۰۰ ولت رو به مدار شما انتقال بده :)
???

اگه اینجوری بود وقتی باهم دست میدادیم که باید جفتمون خشک میشدیم ! ](*,)

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1668
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
نه بابا ۳ کیلو ولت که هیچی نیست . فقط در حد حس شدنه!
تعمیرکارهای قدیمی تلویزیون (سیاه سفید) دستشون رو روی hi-voltage لامپ تصویر می زاشتن که تست کنن! ولتازش ۱۶ کیلو ولت هست!
البته یکی از فامیلامون برام تعریف کرد. من می ترسم!
جریان خطرناک تر از ولتاز هست
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره

آفلاین Amir Emad

  • Sr. Member
  • *
  • ارسال: 419
پاسخ : ارسال سیگنال به کامپیوتر با پورت میکروفون
« پاسخ #10 : 02 اسفند 1393، 10:20 ب‌ظ »
نه بابا ۳ کیلو ولت که هیچی نیست . فقط در حد حس شدنه!
تعمیرکارهای قدیمی تلویزیون (سیاه سفید) دستشون رو روی hi-voltage لامپ تصویر می زاشتن که تست کنن! ولتازش ۱۶ کیلو ولت هست!
البته یکی از فامیلامون برام تعریف کرد. من می ترسم!
جریان خطرناک تر از ولتاز هست

من سر در نمیارم ! من با برق باتری ماشین یکبار داشتم خشک میشدم ! حدود 24 ولت یا 12 هست نمیدونم ولی خیلی شوک داشت

یکبار دیگه هم یک سیم رو زمین بود یک تیکه ازش لخت بود پام رفت روش و ...

الان 3000 ولت شما میگی چیزی نیست من نمفهمم مگه برق ما 200 ولت نیست ؟ 3000 ولت که خیلی خطرناک تره که !

آفلاین v.taghavi68

  • Hero Member
  • *
  • ارسال: 915
  • جنسیت : پسر
پاسخ : ارسال سیگنال به کامپیوتر با پورت میکروفون
« پاسخ #11 : 02 اسفند 1393، 10:24 ب‌ظ »
اما درمورد میکروفون و این چیزی که نوشتم اتفاق خاصی فکر نکنم پیش بیاد چون ما فقط سیم رو با پوست بدن تماس می دیم
یک تخلیه الکترواستاتیکی با پوست بدن می‌تونه ولتاژی بیش از ۳۰۰۰ ولت رو به مدار شما انتقال بده :)
???

اگه اینجوری بود وقتی باهم دست میدادیم که باید جفتمون خشک میشدیم ! ](*,)
دوست عزیز اختلاف پتانسیل و ولتاژ بالا است ولی میزان انرژی و توانش بالا نیست و در کسری از ثانیه جریان از بدن شما رد میشه و تموم میشه و میزانش اونقدری نیست که بخواد گرمایی تولید کنه (شما اختلاف پتانسیل رو مثل سرعت در نظر بگیر) پس وقتی دست میدی خشک نمیشی
« آخرین ویرایش: 02 اسفند 1393، 10:28 ب‌ظ توسط v.taghavi68 »
وای بر شما اگر این علم اندک وسیله ای برای طغیانتان شود

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1668
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
پاسخ : ارسال سیگنال به کامپیوتر با پورت میکروفون
« پاسخ #12 : 02 اسفند 1393، 10:35 ب‌ظ »
نه بابا ۳ کیلو ولت که هیچی نیست . فقط در حد حس شدنه!
تعمیرکارهای قدیمی تلویزیون (سیاه سفید) دستشون رو روی hi-voltage لامپ تصویر می زاشتن که تست کنن! ولتازش ۱۶ کیلو ولت هست!
البته یکی از فامیلامون برام تعریف کرد. من می ترسم!
جریان خطرناک تر از ولتاز هست

من سر در نمیارم ! من با برق باتری ماشین یکبار داشتم خشک میشدم ! حدود 24 ولت یا 12 هست نمیدونم ولی خیلی شوک داشت

یکبار دیگه هم یک سیم رو زمین بود یک تیکه ازش لخت بود پام رفت روش و ...

الان 3000 ولت شما میگی چیزی نیست من نمفهمم مگه برق ما 200 ولت نیست ؟ 3000 ولت که خیلی خطرناک تره که !
مدارهای hi-vol و سیم پیچ هاش رو دیدی؟ بعضی هاش با ۴ تا باطری قلمی چندکیلو ولت خروجی می دهند! اشاره کردم که قضیه یک جورایی به انرژی و جریان بستگی داره  بیشتر از این دیگه اینجا جاش نیست توی فروم های برق سرچ کن کامل گفتن.
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره