پرش به


محبوب ترین مطالب پسندیده شده


#123 معرفی دستور If-else با مثال های متعدد

ارسال شده توسط Ehsan در 13 July 2016 - 01:10 AM

سلام خدمت دوستان و مهندسین گرانقدر .

با بررسی هایی که انجام شد آموزش کدویژن برای افراد مبتدی و نوکار

در سطح اینترنت بسیار کم ویا اصلا نمیباشد به همین خاطر تصمیم

گرفتیم این آموزش را در اختیار کاربرانمان قرار دهیم :wub:

اگر سوالی بود مطرح کنید تا مهندسین ما آن را بررسی نموده و نتیجه را به شما اطلاع دهند.

در ضمن این آموزش ها به صورت قسمت به قست روی سایت قرار میگیرد

شما میتونید با عضویت در کنال تلگرامی ما از آپلود شدن قسمت های جدید به راحتی باخبر شوید.

اولین دستور:

مفهوم دستور if-else

موفق باشید

فایل های پیوستی


  • admin, hamidhafez و Ehsan این پست را پسندیده است


#66 کتابخانه های اختصاصی نرم گستران که به صورت هفتگی آپدیت میشود.

ارسال شده توسط Ehsan در 30 January 2016 - 12:26 PM

کتابخونه التیوم 02

کتابخونه دیود معروف 1n4007   :wub:

فایل پیوستی  1N4007_Diode_V1.2_Narmgostaran.com.zip   1.15MB   10 تعداد دریافت ها

 

آخرین آپدیت 94/10/11


  • hamidhafez و Ehsan این پست را پسندیده است


#59 کتابخانه های اختصاصی نرم گستران که به صورت هفتگی آپدیت میشود.

ارسال شده توسط Ehsan در 16 January 2016 - 01:47 PM

کتابخانه التیوم 01

اینم کتابخونه آی سی معروف 4013 که برای دوستان روی سایت قرار دادیم... :wub:

فایل های پیوستی


  • hamidhafez و Ehsan این پست را پسندیده است


#58 کتابخانه های اختصاصی نرم گستران که به صورت هفتگی آپدیت میشود.

ارسال شده توسط Ehsan در 16 January 2016 - 01:44 PM

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

دوستان میتوانند کتابخانه های مورد نیاز را کامنت کنند تا آن ها را در اولویت قرار دهیم... B)

در ضمن تمام کتابخانه های مختص شرکت نرم گستران همراه با 3D میباشند.

برای ااطلاع از آخرین آپدیت مطالب سایت نرم گستران به کانال  تلگرام ما بپیوندید...

https://telegram.me/narmgostaran


  • hamidhafez و Ehsan این پست را پسندیده است


#206 نوشتن در حافظه فلش stm32f103 ( اسفتاده از حافظه فلش به عنوان eeprom )

ارسال شده توسط hamidhafez در 14 March 2017 - 02:19 PM

 

سلام دوستان

کسی عملا از این کدها استفاده کرده من در Keil   تست کردم  بعضی از کدهای آن را خطا گرفت. 

 

 

این برنامه کاملا تست شده است . فقط شما باید آدرس شروع رو بر اساس نوع میکرو که داری ثبت کنی.مثلا اگه حافظه فلشش 128K هست و برنامه شما تا 40K پر شده بعد از اون آدرس بدی

 

و یه نکته دیگه این که حافظه های فلش کلا باید اول Erase بشن بعد بتونی داخلشون بنویسی . کمترین مقدارم که می تونی Erase کنی یک Page هست که میشه 4K


  • keivanjan و kamran437 این پست را پسندیده است


#186 راه اندازی ماژول NRF با STM32f103

ارسال شده توسط hamidhafez در 01 January 2017 - 03:33 PM

با سلام

 

کتابخانه راه اندازی ماژول NRF با STM32f103 بسیار پرکاربرد رو براتون می زارم.

 

من برای نوشتنش خیلی وقت گزاشتم امیدوارم بدردتون بخوره

 

 

نحوه استفادشم دقیقم مثل AVR هست که داخل تاپیک دیگه گزاشتم.

 

 

فایل پیوستی  NRF24L01-V2.zip   1.84K   134 تعداد دریافت ها


  • abdollahi و rezasede این پست را پسندیده است


#9 کار با سریال 0 در lpc1768

ارسال شده توسط hamidhafez در 11 November 2015 - 04:28 PM

سلام خدمت دوستان

 

جندتا تابع خیلی پرکاربرد در راه اندازی سریالهای صفر  nxplpc1768 داشتم که خیلی کاره خودمو راه انداخته

 

سریال 2 : تابع فعال سازی

void UART2_Init(void)
{
    uint16_t usFdiv;          
      //------------------------ Uart2 setting --------------------------------    
    LPC_PINCON->PINSEL0 |= (1 << 20);             /* Pin P0.10 used as TXD2 (Com2) */
    LPC_PINCON->PINSEL0 |= (1 << 22);             /* Pin P0.11 used as RXD2 (Com2) */
    //LPC_PINCON->PINSEL0 = 0x500000;                //set p0.10 and p0.11 to TXD0 and RXD0
       LPC_SC->PCONP = LPC_SC->PCONP|(1<<24);          // ADC Power on

    LPC_UART2->LCR  = 0x83;                       
    usFdiv = (FPCLK / 16) / UART2_BPS;            
    LPC_UART2->DLM  = usFdiv / 256;
    LPC_UART2->DLL  = usFdiv % 256;
    LPC_UART2->LCR  = 0x03;                       
    LPC_UART2->FCR  = 0x07;
    
    LPC_UART2->IER = 0x01;          // Enables the Receive Data Available interrupt
    NVIC_SetPriority(UART2_IRQn,0);
    NVIC_EnableIRQ(UART2_IRQn);     /* Enable UART2 Interrupt */
}

خط انتهایی این تابع وقفه دریافت رو هم فعال می کنه که تابع وقفه هم به صورت ذیل می باشد :

void UART2_IRQHandler()
{	  						
			char data =UART2_GetChar();	
}

و تابع گرفتن یک کاراکتر از پورت سریال

int UART2_GetChar (void) 
{
  	while (!(LPC_UART2->LSR & 0x01)); // when receive data set RDR
  	return (LPC_UART2->RBR);
}

و در نهایت ارسال کاراکتر و رشته

int UART2_SendByte (int ucData)
{
	while (!(LPC_UART2->LSR & 0x20));  // when transfer date set THRE
    return (LPC_UART2->THR = ucData);
}



void UART2_SendString (uint8_t *s) 
{
  	while (*s != 0) 
	{
   		UART2_SendByte(*s++);
	}
}

  • hamidhafez این پست را پسندیده است


#87 ساخت وب سرور در ویندوز ce برای tiny210v2

ارسال شده توسط automation24 در 05 March 2016 - 06:36 PM

خیلی خوبه و مفید هست با تشکر


  • automation24 این پست را پسندیده است


#86 ساخت وب سرور در ویندوز ce برای tiny210v2

ارسال شده توسط hamidhafez در 03 March 2016 - 11:53 AM

سلام خدمت دوستان عزیز

 

من چند مدتی برای بردهای کاربردی صنعتی Tiny210v2 در سیستم عامل wince به دنبال ایجاد یه وب سرور بودم.خیلی پیگیرش شدم تا بلاخره جواب داد به همین خاطر کدشو برا شما هم می زارم  . امیدوارم بدردتون بخوره .

public class MyHttpServer : HttpServer
    {
        public MyHttpServer(int port)
            : base(port)
        {
        }        
        //string PublicUrl = @"D:\bms\SimpleHttpServer\bin\Debug\webserver\";
        string PublicUrl = @"\NANDFlash\BMS\webserver\";
        public override void handleGETRequest(HttpProcessor p)
        {

public override void handlePOSTRequest(HttpProcessor p, StreamReader inputData)
        {
            if (Program.IsWIFI == false)
                return;           
            string data = inputData.ReadToEnd();            
            if (p.http_url.IndexOf("/file") == 0)
            {
//Your Code
            }
}
}

دو تابع مربوط به دریافت Get و Post

 

و همچنین کلاس مربوط به Socekt Programming

public class HttpProcessor
    {
        public TcpClient socket;
        public HttpServer srv;

        private NetworkStream inputStream;
        public StreamWriter outputStream;

        public String http_method;
        public String http_url;
        public String http_protocol_versionstring;
        public Hashtable httpHeaders = new Hashtable();


        private static int MAX_POST_SIZE = 10 * 1024 * 1024; // 10MB

        public HttpProcessor(TcpClient s, HttpServer srv)
        {
            this.socket = s;
            this.srv = srv;
        }


        private string streamReadLine(Stream inputStream)
        {
            int next_char;
            string data = "";
            while (true)
            {
                next_char = inputStream.ReadByte();
                if (next_char == '\n') { break; }
                if (next_char == '\r') { continue; }
                if (next_char == -1) { Thread.Sleep(1); continue; };
                data += Convert.ToChar(next_char);
            }
            return data;
        }
        public void process()
        {
            // we can't use a StreamReader for input, because it buffers up extra data on us inside it's
            // "processed" view of the world, and we want the data raw after the headers
            //NetworkStream netStream = socket.GetStream();
            inputStream = socket.GetStream();

            // we probably shouldn't be using a streamwriter for all output from handlers either
            outputStream = new StreamWriter(inputStream);
            try
            {
                parseRequest();
                readHeaders();
                if (http_method.Equals("GET"))
                {
                    handleGETRequest();
                }
                else if (http_method.Equals("POST"))
                {
                    handlePOSTRequest();
                }
            }
            catch (Exception e)
            {
                writeFailure();
            }
            outputStream.Flush();
            // bs.Flush(); // flush any remaining output
            inputStream = null; outputStream = null; // bs = null;            
            socket.Close();
        }

        public void parseRequest()
        {
            String request = streamReadLine(inputStream);
            string[] tokens = request.Split(' ');
            if (tokens.Length != 3)
            {
                throw new Exception("invalid http request line");
            }
            http_method = tokens[0].ToUpper();
            http_url = tokens[1];
            http_protocol_versionstring = tokens[2];

        }

        public void readHeaders()
        {
            String line;
            while ((line = streamReadLine(inputStream)) != null)
            {
                if (line.Equals(""))
                {
                    return;
                }

                int separator = line.IndexOf(':');
                if (separator == -1)
                {
                    throw new Exception("invalid http header line: " + line);
                }
                String name = line.Substring(0, separator);
                int pos = separator + 1;
                while ((pos < line.Length) && (line[pos] == ' '))
                {
                    pos++; // strip any spaces
                }

                string value = line.Substring(pos, line.Length - pos);
                httpHeaders[name] = value;
            }
        }

        public void handleGETRequest()
        {
            srv.handleGETRequest(this);
        }

        private const int BUF_SIZE = 4096;
        public void handlePOSTRequest()
        {
            // this post data processing just reads everything into a memory stream.
            // this is fine for smallish things, but for large stuff we should really
            // hand an input stream to the request processor. However, the input stream 
            // we hand him needs to let him see the "end of the stream" at this content 
            // length, because otherwise he won't know when he's seen it all! 

            Console.WriteLine("get post data start");
            int content_len = 0;
            MemoryStream ms = new MemoryStream();
            if (this.httpHeaders.ContainsKey("Content-Length"))
            {
                content_len = Convert.ToInt32(this.httpHeaders["Content-Length"]);
                if (content_len > MAX_POST_SIZE)
                {
                    throw new Exception(
                        String.Format("POST Content-Length({0}) too big for this simple server",
                          content_len));
                }
                byte[] buf = new byte[BUF_SIZE];
                int to_read = content_len;
                while (to_read > 0)
                {

                    int numread = this.inputStream.Read(buf, 0, Math.Min(BUF_SIZE, to_read));
                    if (numread == 0)
                    {
                        if (to_read == 0)
                        {
                            break;
                        }
                        else
                        {
                            throw new Exception("client disconnected during post");
                        }
                    }
                    to_read -= numread;
                    ms.Write(buf, 0, numread);
                }
                ms.Seek(0, SeekOrigin.Begin);
            }
            srv.handlePOSTRequest(this, new StreamReader(ms));

        }

        public void writeSuccess(string content_type)
        {
            outputStream.WriteLine("HTTP/1.0 200 OK");
            outputStream.WriteLine("Content-Type: " + content_type);
            outputStream.WriteLine("Connection: close");
            outputStream.WriteLine("");
        }

        public void writeFailure()
        {
            outputStream.WriteLine("HTTP/1.0 404 File not found");
            outputStream.WriteLine("Connection: close");
            outputStream.WriteLine("");
        }
    }

    public abstract class HttpServer
    {

        protected int port;
        TcpListener listener;
        bool is_active = true;

        public HttpServer(int port)
        {
            this.port = port;
        }

        public void listen()
        {
            listener = new TcpListener(port);
            listener.Start();
            while (is_active)
            {
                if (is_active == true)
                {
                    TcpClient s = listener.AcceptTcpClient();
                    HttpProcessor processor = new HttpProcessor(s, this);
                    Thread thread = new Thread(new ThreadStart(processor.process));
                    thread.Start();
                    Thread.Sleep(1);
                }
            }
        }

        public abstract void handleGETRequest(HttpProcessor p);
        public abstract void handlePOSTRequest(HttpProcessor p, StreamReader inputData);
    }

این کدهارو داخل یه کلاس داخل برنامتون قرار بدین بعدش به راحتی با دستور ذیل به صورت یک Thread ( نخ ) اجراش کنید .

HttpServer httpServer;

                httpServer = new MyHttpServer(80);

                thread = new Thread(new ThreadStart(httpServer.listen));
                thread.Start();

  • automation24 این پست را پسندیده است


#70 آموزش کامل کدویژن

ارسال شده توسط Ehsan در 02 February 2016 - 10:50 AM

مجموعه آموزش های AVR

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

هر فایل زیپ حاوی پنج قسمت مسباشد...

موفق باشید :wub:

قسمت 1 الی 5

فایل های پیوستی

  • فایل پیوستی  Desktop.zip   533.11K   4 تعداد دریافت ها

  • Ehsan این پست را پسندیده است


#69 مدار فلاشر تک کانال به همراه سورس به زبان سی

ارسال شده توسط Ehsan در 01 February 2016 - 01:50 PM

کدهای(+فایل پروتعوس) یک فلاشر ساده و تک کانال برای افرادی ک تازه کدویژن را شروع کردند.

نکته:ال ای دی به Portb.0 متصل شود.

موفق باشید

B)  B)  B)

فایل های پیوستی


  • Ehsan این پست را پسندیده است


#61 نحوه ی کار با نرم افزار حسابداری دلتا

ارسال شده توسط hamidhafez در 16 January 2016 - 02:44 PM

با سلام

 

 

در این تاپیک سعی دارم نحوه ی کار با نرم افزار حسابداری دلتا رو خدمتتون ارائه کنم.در صورتی که کسی از دوستان سوالی هم داره می تونه در ادامه همین تاپیک کامنت کنه

 

فصل اول : نصب نرم افزار

فصل دوم : اطلاعات بانکی     فایل پیوستی  etelaate_kalaha.pdf   926.49K   5 تعداد دریافت ها

 

توضیحات این فصل :

    این قسمت جهت ثبت بانک هایی مورد استفاده قرار می گیرد که به یکی از دو شکل ذیل با آن بانکها ارتباط
داشته باشیم .

  • بانکهایی که در یکی از شعبه های آنها حساب داریم .
  •  بانکهایی که از آنها چکی از مشتری دریافت می کنیم ) هنگام ثبت چک دریافتی ، بانک چک مشخص می

شود (


  • Ehsan این پست را پسندیده است


#29 اطلاعات کلی درمورد رله ها

ارسال شده توسط Ehsan در 29 November 2015 - 08:55 PM

رله چیست؟
رله چیست؟
electricity%20%28insco.mihanblog.com%29.

نمای یک رله در مدار

رله یك كلید ساده الكترو مكانیكی است كه از یك آهنربای الكتریكی و یك سری اتصالات تشكیل شده است.رله‌ها در همه انواع وسایل به صورت پنهان یافت می‌شوند.در حقیقت ،بعضی از كامپیوتر‌های اولیه از رله‌ها برای گیت‌های منطقی استتفاده می‌كرده‌اند. ساختار رله :رله‌ها به طور عجیبی ساده هستند.در هر رله  چهار قسمت وجود دارد:1)آهنربای الكتریكی
2)تیغه یا  armature كه می‌تواند به وسیله‌ی آهنربای الكتریكی جذب شود.
3)فنر
4)و یك سری اتصالات الكتریكی 
شكل زیر  چهار قسمت رله را در حین عمل نشان می‌دهد.
relay-intro.jpg

می‌توانید مشاهده كنید كه رله ازدو مدار جدا و كاملاً مستقل از هم تشكیل شده است.اولی در پایین قرار دارد و آهنربای الكتریكی را تحریك می‌كند.وقتی كه كلید بسته است،سیم‌پیچ به آهنربای الكتریكی تبدیل می شود و تیغه را جذب می‌كند(آبی) و تیغه به عنوان یك كلید برای مدار دوم عمل می‌كند.وقتی كه آهنربای الكتریكی فعال می‌شود،تیغه مدار دوم را كامل می‌كند و لامپ روشن می‌شود.وقتی كه آهنربا فعال نیست،فنر تیغه را دور می‌كند و مدار ناكامل باقی می‌ماند در نتیجه در این حالت لامپ خاموش است.

وقتی كه رله‌ها را خریداری می‌كنید باید نسبت به چند متغیر دقت داشته باشید.1.ولتاژ و جریانی كه برای حركت دادن تیغه لازم است.2.ولتاژ و جریان بیشینه‌ای كه می‌تواند در تیغه و اتصالات آن به وجود آید.3.تعداد تیغه‌ها(به طور كلی 1 یا 2 تا)4.تعداد اتصالات تیغه‌ها(به طور كلی 1‌یا 2 تا- رله نشان داده شده در اینجا دو تا دارد كه یكی استفاده نشده)5.این‌كه اتصال(اگر فقط یك امكان اتصال وجود داشته باشد) معمولاً باز(NO" (normally open "یا معمولاً بستهNC" (normally closed   "  است.كار‌برد‌های رله

حسن رله‌ها این است كه  با استفاده از توان كم كه مثلاًاز سوئیچ داشبورد یا یك مدار كم ‌توان می‌آید، مداری با توان بسیار بیشتر را وصل می‌كنند مثلاً به وسیله‌یرله و با استفاده از ولتاژی معادل 5v و جریانی معادل 50mA می‌توان مداری با ولتاژv AC  120 و   2A را وصل كرد.
رله ها در وسایل خانگی (مثل موتور یا چراغ) كه به وسیله‌ی یك كنترل الكتریكی روشن می‌شوند رایج هستند. رله‌ها همچنین در ماشین‌ها رایج می‌باشند چرا كه باید جریان بسیار زیادی (به وسیله‌ی این رله‌ها ) از ولتاژی به میزان 12v گرفته شود.
در ماشین‌های مدل جدید، سازنده‌ها برای راحت‌تر شدن تعمیر و نگهداری، استفاده از تركیبی از رله‌ها را در جعبه‌‌‌‌ی فیوز آغاز كرده‌اند.مثلاً 6 جعبه‌ی سفیدرنگ در این شكل (كه مربوط به جعبه‌ی فیوز Ford     Windstarمی‌شود)همگی رله اند.

 در جاهایی كه باید توان زیادی ایجاد شود،رله‌ها معمولاً به صورت
 آبشاری به كار می‌روند به طوری كه یك رله‌ی كوچك، توان لازم را برای یك رله‌ی بسیار بزرگتر ایجاد می‌كند و رله‌ی دوم مداری با توان بیشتر را وصل می‌كند.
رله‌ها همچنین می‌توانند برای اجرا كردن جبر بولی استفاده شوند.

Relay_symbols.gif

يا به طور كامل

 

رله
200px-Relay_principle_horizontal_new.gif
magnify-clip-rtl.png
سازوکار قطع و وصل توسط مدار الکتریکی یک رله
 

رله نوعی کلید الکتریکی سریع یا بی‌درنگ است که با هدایت یک مدار الکتریکی دیگر باز و بسته می‌شود. روش کنترل باز و بسته شدن این کلید الکتریکی به صورتهای مختلف مکانیکی، حرارتی، مغناطیسی، الکترو استاتیک و ... می باشد. رله را ژوزف هانری در سال ۱۸۳۵ میلادی اختراع کرد.

از آنجا که رله می‌تواند جریانی قوی‌تر از جریان ورودی را هدایت کند، به معنی وسیع‌تر می‌توان آن را نوعی تقویت کننده نیز دانست.

در گذشته رله‌ها معمولاً با سیم‌پیچ ساخته می‌شد و از جریان برق برای تولید میدان مغناطیسی و باز و بسته کردن مدار سود می‌برد. امروزه بسیاری از رله‌ها به صورت حالت جامد ساخته می‌شوند و اجزای متحرک ندارند.

  انواع رله‌های قدرت
Relay.jpg
magnify-clip-rtl.png
یک رله مینیاتوری
رله سنجشی

در رله‌های سنجشیِ دقت و حساسیت معینی تعریف می‌شود تا در موقع تغییر کردن یک کمیت الکتریکی و یا ‏یک کمیت فیزیکی دیگری شروع به کار کند. چنین رله‌ای برای مقدار معینی از یک ‏کمیت مشخص تنظیم می‌شود و اگر آن کمیت از مقدار تعیین و تنظیم شده کمتر و یا ‏بیشتر باشد رله آن تغییرات را می‌سنجد. رله سنجشی دو نوع دارد: ساده و مرکب.
رله سنجشی ساده اغلب دارای یک سیم پیچی تحریک شونده می‌باشد که در اثر ‏تغییر جریان و یا ولتاژ تحریک و موجب وصل شدن کنتاکتی می‌شود؛ مانند رله حرارتی و رله ‏جریان زیاد و رله فشار کم.

همچنین رله سنجشی مرکب دارای دو سیم پیچی تحریک شونده‌است که همانند رله‌ای که نسبت ولتاژ و جریان را می‌سنجد (رله سنجش مقاومت ظاهری)، آن قسمت از شبکه را که اتصالی شده‌است از مدار جدا می‌کند، مانند رله دیستانس. ‏

رله زمانی

رله زمانی به تنهایی برای حفاظت تأسیسات الکتریکی کاربرد ندارد، بلکه همراه با رله ‏سنجشی برای حفاظت شبکه الکتریکی استفاده می‌گردد. زمان استعمال رلهٔ زمانی در مواقعی است که تأخیری عمدی در عمل کلیدزنی (قطع و وصل با فرکانس بسیار پایین) در شبکه مورد نظر باشد. ‏

رله جهت یاب

از رله جهت یاب، برای کنترل و سنجش جهت توان و نیرو در شبکه الکتریکی و یا قسمتی از شبکه ‏جریان متناوب استفاده می‌شود. این رله از آن جهت نقش تعیین کننده‌ای در شبکه دارد که تعیین جهت نیرو برای حفاظت محلی و ‏سلکتیو در اغلب شبکه‌ها کاملاً ضروری و لازم است. به کمک رله جهت یاب می‌توان فقط ‏آن قسمت از شبکه که خسارت دیده و معیوب شده را از مدار خارج کرد. حتی می‌توان از این ‏رله جهت حفاظت ژنراتور و توربین در موقع برگشت توان نیز استفاده نمود[نیازمند منبع].

رله حالت جامد SSR
220px-Solid_state_relay.jpg
magnify-clip-rtl.png
یک رله SSRرله

Solid State Relay یک قطعه الکترونیکی است که همانند رله های مکانیکی عمل می کند. ولی در این قطعه هیچ قسمت متحرکی وجود ندارد.در نتیجه باعث افزایش عمر قطعه شده است. در مداراتی که تعداد دفعات کلید زدن زیاد می باشد کاربرد دارد. از ویژگی های آن می توان به ابعاد کوچکتر این قطعه نسبت به رله های مکانیکی اشاره کرد. در این نوع رله ها یک ولتاژ حداقلی باید اعمال شود تا کلید زدن انجام شود لذا با یک رله 250 ولتی نمی‌توانید برق 12 ولت را کلید بزنید بر خلاف رله های معمولی است.


  • Ehsan این پست را پسندیده است


#203 آموزش ساخت اولین پروژه در نرم افزار orcad Capture

ارسال شده توسط hamane در 12 March 2017 - 10:12 PM

دستتون درد نکنه  واقعا خوب بود


  • Ehsan این پست را پسندیده است


#164 پیش بینی دانشمندان؛ ربات‌های ترمیناتور نسل آینده انسان را نابود می کنند

ارسال شده توسط fns4565 در 17 October 2016 - 11:54 AM

محققان معتقدند که نسل آینده انسان‌ها احتمالا به وسیله ربات‌های شبه ترمیناتور از بین خواهند رفت.
155688_291.jpg
 
حضور ربات‌ها در کنار انسان بطور کلی بد نیست و می تواند باعث تسهیل زندگی انسان شود؛ این ماشین‌ها می‌توانند در کارهای دشوار و خطرناک مانند معدن، خنثی‌سازی بمب یا تعمیر نیروگاه‌های اتمی حادثه‌دیده حضور پیدا کنند. 

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

اما هوشمندسازی ربات‌ها و بهره‌مندی از توانایی‌های شبه‌انسانی می‌تواند در آینده زندگی نسل بشر را با تهدید جدی مواجه سازد. 

در آینده نزدیک ریز تراشه‌های رایانه‌ای بسیار هوشمند، سطح هوش ربات‌ها را به سطح هوش انسان نزدیک کرده و امکان تجزیه و تحلیل موقعیت‌های اجتماعی را برای ماشین فراهم می‌کنند که این مساله می‌تواند امنیت انسان را در معرض خطر قرار دهد. 

محققان معتقدند که ربات‌ها در آینده، نسل بشر را از سر کینه‌ورزی یا مهربانی از بین خواهند برد. 

«نل واتسون» از کارشناسان حوزه رباتیک و الکترونیک در کنفرانس تکامل رسانه‌ها در سوئد خاطرنشان کرد: آموزش دادن به ربات‌ها برای مهربان بودن به تنهایی کافی نیست، بلکه باید ربات‌ها قادر به درک ارزش واقعی انسان‌ها نیز باشند؛ این ارزش‌گذاری تضمین‌ می‌کند که ربات‌ از سر مهربانی انسان‌ را نکشد. 

به گفته «واتسون»، ما اکنون در حال رمزگشایی از اسرار پیچیده قدرت مغز انسان و بطور همزمان ارتقا سیستم‌های رایانه‌ای و ربات‌ها هستیم، بدون اینکه خطری که آینده بشر را تهدید می‌کند، درک کنیم. 

«الون ماسک» بنیانگذار شرکت خصوصی هوافضای اسپیس‌ایکس چندی قبل عنوان کرده بود، ابرهوش‌های مصنوعی در آینده به تهدیدی جدی برای بشر تبدیل شده و خطرناک‌تر از سلاح‌های هسته‌ای خواهند شد. 

«استفان هاوکینگ» فیزیکدان برجسته جهان نیز معتقد است، در شرایطی که فناوری، توانایی یادگیری و انطباق با محیط را می‌آموزد، بشر با آینده‌ای نامطمئن مواجه خواهد بود. 

در این صورت، هوش‌ مصنوعی فوق هوشمند می‌تواند در آینده به دوست یا دشمن انسان تبدیل شود. 
______________________________________________________________
 

 


  • hamidhafez این پست را پسندیده است


#135 به دست آوردن وقت اوقات شرعی از طریق طول و عرض جغرافیایی در ویندوز ce

ارسال شده توسط hamidhafez در 26 July 2016 - 01:06 PM

با سلام

 

یه کلاس فوق العاده کاربردی برای بدست آوردن زمان دقیق اوقات شرعی برای هر نقطه ی دنیا

 

این کلاس رو من در ویندوز ce برای بردهای tiny210/smart210 استفاده می کنم ولی به راحتی میشه از کلاسش در تمام کامپایلرهای دیگه استفاده کنین

 

فایل پیوستی  clsAzan.zip   1.26K   11 تعداد دریافت ها


  • GOLDOSTI این پست را پسندیده است


#119 کتاب مدارهای دیجیتالی موریس مانو

ارسال شده توسط fns4565 در 04 July 2016 - 10:24 AM

پس کو لینک دانلود ؟


  • Ehsan این پست را پسندیده است


#114 راه اندازی شبکه در میکرو کنترلر nxplpc17xx

ارسال شده توسط hamidhafez در 01 June 2016 - 11:08 PM

سلام

 

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

 

فایل پیوستی  HTTP_TEST(narmgostaran.com).zip   792.67K   105 تعداد دریافت ها


  • chiefer این پست را پسندیده است


#11 راه اندازی ماژول فینگر SM630

ارسال شده توسط hamidhafez در 11 November 2015 - 04:50 PM

با سلام خدمت دوستان

 

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

 

فقط کافیه این ماژول رو از طریق سریال به کامپیوتر وصل کنید و خیلی راه اندازیش کنید.

 

 

فایل پیوستی  UseSM630Finger.zip   7.27K   24 تعداد دریافت ها

 

 

البته این نکته رو هم بگن که این برنامه با VS2012 و به زبان سی شارپ نوشته شده برای اجرا شدنش باید DotNetFramgework 4.5 رو هم نصب داشته باشین . این نرم افزار رو هم با یه سرچ به راحتی می تونید پیداش کنید.


  • hamidhafez این پست را پسندیده است


#106 راه اندازی ماژول فرستنده ، گیرنده رادیویی NRF

ارسال شده توسط hamidhafez در 19 April 2016 - 11:32 AM

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

 

من یه مشکل دیگه هم که قبلنا بهش بر می خوردم این بود که قسمت تغذیه NRF به مشکل می خورد و ماژول کلا خاموش می شد موقع ارسال شما اگه بتونه به منبع تقذیه بزنی که جریان مصرفی رو ببینی موقع ای که به کد ارسال می رسه ببینی جریانش کم می شه یا نه

 

بعد من داخل تابع ارسال یه حلقه بی نهایت دارم که تا زمانی که ارسال قبلی تموم نشه بعدی رو ارسال نمی کنه.شما اگه ببین موقعی که ارسال می کنی داخل اون حلقه می مونه یا نه اگر بمونه احتمالا مشکل SPI یا ماژول داری.


  • chiefer این پست را پسندیده است