اینترنت اشیاء ، آردوینو ، رزبری پای ، الکترونیک ، کامپیوتر ، اندروید

آموزش الکترونیک ( مقاومت ها )

مقاومت ها در همه جای الکترونیک دیده میشوند و احتمالا اولین عنصر “واقعی” الکترونیکی است که ما با آن برخورد خواهیم کرد. مقاومت ها قطعات کوچک استوانه ای شکلی هستند که در بیشتر بردهای مدارات الکترونیک دیده می شوند. مقاومت ها به خودی خود هیچ چیز قابل ملاحظه ای پیچیده ای ندارند، اما در طراحی مدارات الکترونیک نقش حیاتی دارند. در طول آموزش الکترونیک درس مقاوت ها، ما به شما می آموزیم که مقاومت ها چی هستن، نحوه خواندن مقدار مقاومت ها، روش های خاص  استفاده از مقاومت ها، و همه چیز در مورد نوع خاصی از مقاومت متغییر که پتانسیومتر گفته میشه.

همه چیز درباره مقاومت ها 

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

نشان و علامت اهم

نشان و علامت اهم

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

ادامه مطلب 

http://electropi.ir/learning-electronics-resistors

۰۱ خرداد ۹۷ ، ۱۵:۳۷ ۰ نظر موافقین ۰ مخالفین ۰
هادی ندائی

آموزش آردوینو - درس اول

آموزش آردوینو

در آموزش آردوینو مقدماتی چه چیزی یاد خواهید گرفت 

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

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

نام آردینو یک تجریه چند لایه را برای شما تعریف میکند  

  • نرم افزار : برای نوشتن و ساختن برنامه خودتون و ارتباط با برد آردوینو استفاده میشه ، نام این نرم افزار آردوینو آی دی ای هست (Arduino IDE)  .
  • سخت افزار : منظورمون خود بردهای آردوئینو هست (مثلا Arduino Uno).
  • برنامه نویسی : زبان برنامه نویسی Arduino بر اساس زبان C است .
  • علامت تجاری : مارک های دیگر می توانند سخت افزار سازگار با Arduino را تولید کنند ، اما فقط برخی از بردها رسمی و معتبر هستند که
    این اجازه را می دهند تا سخت افزار و نرم افزار منبع باز و در دسترس همه باقی بماند.
۱۹ ارديبهشت ۹۷ ، ۱۹:۱۸ ۰ نظر موافقین ۰ مخالفین ۰
هادی ندائی

پروژه تنظیم خودکار ساعت روی ماژول RTC DS3231 با استفاده از ESP32 از سرور NTP

 

قطعات مورد نیاز در این پروژه :

  1. برد توسعه ESP32

  2. ماژول ساعت فوق دقیق DS3231 با رابط I2C

  3. نرم افزار Arduino IDE

  4. بردبرد و سیم های اتصال

ادامه مطلب

۰۱ ارديبهشت ۹۷ ، ۱۱:۲۲ ۰ نظر موافقین ۰ مخالفین ۰
هادی ندائی

۷ قانون در طراحی REST API URI

۷ قانون در طراحی REST API URI

قبل از  اینکه بحث در مورد قوانین را شروع کنیم، بهتر است با بعضی اصطلاحات آشنا شویم.

URI

REST API ها از Uniform Resource Identifiers (URI) یا شناسانهٔ یکنواخت منبع برای آدرس دهی به منابع(resources) استفاده میکنند. امروزه در دنیای وب، طرح های متفاوتی از URI وجود دارد از طرح های بینظیری که به وضوح منابع را دریافت و ارتباط بین اجزای آنها را مشخص میکنند، مثل:

۱. http://api.example.com/louvre/leonardo-da-vinci/mona-lisa

تا آنهایی که به سخت قابل درک هستند مثل این:

۲. http://api.example.com/68dd0-a9d3-11e0-9f1c-0800200c9a66

یک نکته رو اینجا بگم، شاید منظور از واژه منابع یا resources را متوجه نشده باشید. آدرس اولی را در نظر بگیرید. مثلا در این URI همانطور که میبینید موزه louvre شامل بخش های مختلفی می‌شود که یک بخش از آن به هنرمند معروف leonarodo-da-vinci  اختصاص داده شده و همچنین یکی از آثار این هنرمند تابلو نقاشی mona-lisa است. خوب در اینجا louvre یک منبع یا resource به حساب می آید، که ما توانستیم با این URI به این منبع متصل شویم و اطلاعات مربوط به آن را دریافت کنیم. اینطوری 🙂

خوب است با فرمت URI و نام بخش های مختلف آن آشنا شوید. این یک سینتکس کلیست که RFC 3986  تعریف کرده:  

ادامه مطلب 

۰۱ ارديبهشت ۹۷ ، ۱۱:۱۵ ۰ نظر موافقین ۰ مخالفین ۰
هادی ندائی

پروژه ساخت مدار اندازه گیری ضربان قلب با سنسور تشخیص ضربان قلب KY-039

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


این سنسور در واقع شدت نور مادون قرمز رو به صورت آنالوگ برای ما تعیین میکنه . با استفاده از ورودی ADC اعدادی از 0 تا 1024  رو به ما میده .

با قرار گرفتن انگشت بین LED مادون قرمز و گیرنده مادون قرمز با کم و زیاد شدن جریان خون در انگشت مقدار نور عبوری از انگشت هم تغییر میکنه . ما با اندازه گیری تعداد این تغیرات در واحد زمان ضربان قلب رو محاسبه میکنیم . :)


ادامه مطلب...
۱۴ فروردين ۹۷ ، ۱۲:۴۷ ۰ نظر موافقین ۱ مخالفین ۰
هادی ندائی

چگونه اپلیکیشن چت real-time بسازیم



در اینجا قصد داریم یک وب اپلیکیشن چت بسیار ساده بسازیماین اپلیکیشن جنبه کاربردی نداره و بیشتر قصد داره شما رو با نحوه کار اپلیکیشن های real-time آشنا کنهبرای این کار از کتابخانه socket.io استفاده کردیم که امکان یک ارتباط آنی و دو‌طرفه بین کلاینت(کاربرو سرور را فراهم میکند.

پس از تکمیل مراحل پروژه در نهایت ما یک وب اپلیکیشن بسیار ساده داریم که داخل مرورگر بازش میکنیم یک فیلد ورود متن داره که میتونیم پیام مورد نظر رو داخلش بنویسیم و پس از اینکه برروی send کلیک میکنیم پیام ارسال میشه که در بالای همون صفحه پیام‌های ارسالی قابل مشاهده هستاگه وب اپلیکیشن رو در چندین تب باز کنیم پیام‌های ارسالی از یک تب در تمامی دیگر تب ها قابل مشاهده است که این امر نشان میدهد socket.io چگونه پیام‌ها رو به صورت آنی به تمامی کلاینت های متصل ارسال میکند.


ادامه مطلب...
۰۷ فروردين ۹۷ ، ۱۳:۰۶ ۱ نظر موافقین ۱ مخالفین ۰
حسین ندائی

ساخت تراز دیجیتالی با آردوینو - اندازه گیر زاویه


در این پروژه، نگاهی دقیق تر به IC های شتاب سنج خواهیم داشت و نحوه استفاده از آنها را با آردوینو می آموزیم.

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


تراز دیجیتال


ادامه مطلب...
۲۹ اسفند ۹۶ ، ۱۸:۲۵ ۲ نظر موافقین ۲ مخالفین ۰
هادی ندائی

آموزش ساخت مدار کنترل یک دستگاه توسط وای فای با ماژول ESP8266 و برد آردوینو

آموزش گام به گام ساخت مدار کنترل وسایل با WIFI 


من در این آموزش میخوام نحوه کنترل ، روشن و خاموش کردن یک LED ( یا هر دستگاه دیگه ای ) توسط ماژول  وای فای ESP8266 و برد Arduino رو به شما آموزش بدم . 


دقیقا چکار قرار انجام بدیم ؟!!


الان میگم ، ما با یه موبایل میخوایم توسط شبکه وای فای داخلی یک LED یا با کمی تغییر یک دستگاه رو کنترل کنیم  کنیم . 


برای اینکار از یک ماژول ESP8266 که با ارتیاط سریال به برد آردوینو وصل هست استفاده میکنیم . برد آردوینو از طریق  ESP8266 به شبکه وای فای متصل میشه تا دیتا رو از کلاینت ( در این جا موبایل ) دریافت و یا به کلایت ارسال کنه .


نقشه مدار :


شکل زیر نقشه مدار کنترل LED توسط وای فای به وسیله برد آردینو و ماژول ESP8266 نشون میده .


کنترل led توسط آردینو



قطعات مورد نیاز :


  1. برد Arduino UNO
  2. ماژول ESP-01S دارای هسته وایفای ESP8266 

  3. LED
  4. مقاومت 330 اهم 1/4 وات
  5. مقاومت 1 کیلو اهم 1/4 وات
  6. مقاومت 2.2 کیلو اهم 1/4 وات
  7. کلید فشاری
  8. سیم های اتصال 
  9. مینی بردبرد
اینم شکل GPIO های ESP-01S

ESP8266

طراحی مدار

من از ارتباط سریال نرم افزاری برد آردینو استفاده کردم . برای این ارتباط سریالی از پایه 2 و3 برد آردینو به عنوان RX و TX استفاده کردم . پایه 2 به TX و پایه 3  توسط مقاومت 1 کیلو به RX ماژول ESP8266 متصل شوند . 
یه LED هم به GPIO 11 آردوینو متصل کردیم . 

تغذیه ماژول ESP8266 هم از خروجی ولتاژ 3.3 ولت برد آردینو گرفته شده .
کلید فشارد هم بین پایه RESET ماژول  وای فای و GND مدار قرار میگیره .

کدهای برنامه آردینو :

#include <SoftwareSerial.h>
SoftwareSerial esp8266(2,3); //Pin 2 & 3 of Arduino as RX and TX. Connect TX and RX of ESP8266 respectively.
#define DEBUG true
#define led_pin 11 //LED is connected to Pin 11 of Arduino


void setup()
  {
    pinMode(led_pin, OUTPUT);
    digitalWrite(led_pin, LOW);
    Serial.begin(9600);
    esp8266.begin(115200); //Baud rate for communicating with ESP8266. Your's might be different.
    esp8266Serial("AT+RST\r\n", 5000, DEBUG); // Reset the ESP8266
    esp8266Serial("AT+CWMODE=1\r\n", 5000, DEBUG); //Set station mode Operation
    esp8266Serial("AT+CWJAP=\"SSID\",\"Password\"\r\n", 5000, DEBUG);//Enter your WiFi network's SSID and Password.
                                   
    while(!esp8266.find("OK")) 
    {
      }
    esp8266Serial("AT+CIFSR\r\n", 5000, DEBUG);//You will get the IP Address of the ESP8266 from this command. 
    esp8266Serial("AT+CIPMUX=1\r\n", 5000, DEBUG);
    esp8266Serial("AT+CIPSERVER=1,80\r\n", 5000, DEBUG);
  }

void loop()
  {
    if (esp8266.available())
      {
        if (esp8266.find("+IPD,"))
          {
            String msg;
            esp8266.find("?");
            msg = esp8266.readStringUntil(' ');
            String command1 = msg.substring(0, 3);
            String command2 = msg.substring(4);
                        
            if (DEBUG) 
              {
                Serial.println(command1);//Must print "led"
                Serial.println(command2);//Must print "ON" or "OFF"
              }
            delay(100);

              if (command2 == "ON") 
                    {
                      digitalWrite(led_pin, HIGH);
                    }
                   else 
                     {
                       digitalWrite(led_pin, LOW);
                     }
          }
      }
  }
   
String esp8266Serial(String command, const int timeout, boolean debug)
  {
    String response = "";
    esp8266.print(command);
    long int time = millis();
    while ( (time + timeout) > millis())
      {
        while (esp8266.available())
          {
            char c = esp8266.read();
            response += c;
          }
      }
    if (debug)
      {
        Serial.print(response);
      }
    return response;
  }
 

کدهای HTML برای فرستادن فرمان به ماژول WIFI و مدار :

کدهای زیر رو در یک فایل با پسوند html ذخیره کنید .

<!DOCTYPE html >
<html>
<head>
<title>WiFi controlled LED</title>
<script src="jquery.js"></script>

</head>
<body>
<h2> <i> WiFi Controlled LED using Arduino and ESP8266 </i> </h2>
<h4> <i> Enter the IP address of ESP8266 </i> </h4>
<div style="margin: 0; width:400px; height:30px;">
<FORM NAME="form" ACTION="" METHOD="GET">
ESP8266 IP Address:
<INPUT TYPE="text" NAME="inputbox" VALUE="" />
</FORM>
</div>
<h3> Click to toggle LED! </h3>
<input type="button" NAME="butname" value="Turn ON LED" />
<p>STATUS: LED is OFF!</p>
</body>
<script>
$.ajaxSetup({timeout:1000});
btn = document.querySelector('input[name="butname"]');
txt = document.querySelector('p');
btn.addEventListener('click', led1);

function led1()
{
	var val1 = 'OFF';
	if (btn.value === 'Turn OFF LED') 
	{
	btn.value = 'Turn ON LED';
	val1 = 'OFF';
	txt.textContent = 'STATUS: LED is OFF!';
	} 
	else 
	{
    	btn.value = 'Turn OFF LED';
	val1 = 'ON';
    	txt.textContent = 'STATUS: LED is ON!';
	}
	TextVar = form.inputbox.value;
	ArduinoVar = "http://" + TextVar + ":80/";
	$.get( ArduinoVar, {led: val1})	;
	{Connection: close};
}
</script>
</html>
در کد های html بالا از کتابخانه  
“jQuery.js” استفاده شده . این کتابخانه رو از لینک زیر دانلود کنید و به همان مسیری و محلی که فایل html قرار داره اتقال بدید . 


خب حالا فایل html رو با یک Browser باز کنید . باید صفحه شما مثل عکس زیر باشه :

کنترل led با وای فای

حالا کد آردینو را روی برد آردینو آپلود کنید . وقتی کد آپلود شد سریال مانیتور Arduino IDE رو باز کنید تا مراحل ارتباط با ماژول WIFI ESP8266 رو ببینید .



ممکنه بعضی قسمت ها به صورت درهم و نامفهم نشون داده بشه ، اما نگران نباشید همه چیر درسته :)

اگر در اطلاعات نشون داده شده در سریال مانیتور IP ماژول رو پیدا نکردید از نرم افزار Advanced IP Scanner استفاده کنید .


حالا وب پیجی که ساختیم رو باز کنید و IP که نشون میده رو توی کادر خالی وارد کنید .
بعد از اینکار میتونید روی دکمه  turn ON و OFF the LED کلیک کنید یا ضربه بزنید . 

نتیجه گیری :

یک پروژه ساده با نام WiFi Controlled LED با استفاده از ESP8266 و Arduino در اینجا طراحی شد ، 
که در آن LED متصل به Arduino توسط WiFi (در همان شبکه) کنترل می شود.
اگر به جای LED و مقاومت 330 مدار زیر یعنی یک رله با درایور ترانزیستور جایگزین کنید ، میتونید به جای LED هر دستگاه یا وسیله ای رو کنترل کنید .

درایور رله
هر دستگاهی که توی یک شبکه  WIFI باشه و این Web Page  رو باز کنه و اجرا کنه میکنه کنترل رو انجام بده :)




۲۶ اسفند ۹۶ ، ۱۷:۲۵ ۳ نظر موافقین ۱ مخالفین ۰
هادی ندائی

ساخت پاور بانک ساده - شارژ گوشی با باتری 9 ولت


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

شکل زیر مدار ساده ی این پاور بانک رو نشون میده ،

شارژر موبایل





قطعات مورد نیاز پاور بانک ساده :

  1. یک رگولاتور 5 ولت ، 7805 
  2. کابل شارژ موبایل 
  3. سر باطری 9 ولت 
  4. باطری 9 ولت ( هرچه آمپر باتری بیشتر باشه بهتره )
  5. هویه و سیم لحیم :)

رگولاتور 5 ولت ، 7805 سه تا پایه داره که شکل و ورودی و خروجی اون رو در شکل زیر میبینید :
رگولاتور 7805

پایه وسط مشترگ یا همون گراند ، پایه سمت چپ ورودی و پایه سمت راست خروجی رگولاتور هست 



خب حالا کابل USB رو بررسی میکینم . هر کابل USB چهار تا سیم داره به رنگ های مشکی ، سفید ، سبز و قرمز 

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

در شکل زیر کابل USB و سیم های اون رو میبینید :


حالا ، پایه ورودی 7805 IC را به قطب مثبت باتری 9 ولت وصل کنید و منفی باتری باید به زمین IC 7805 متصل شود.

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

اتصالات رو لحیم کنید و با چسب برق عایق کنید تا به هم اتصال نکنند .

خب ، نوبت به تست پاور بانک میرسه . 

پس از تمام اتصالات ، باتری 9 ولت رو به مدار وصل کنید و با یه مولتی متر ولتاژ خروجی 7805 رو اندازه بگیرید باید حتما 5 ولت باشه و بیشتر نباشه .

خب کار تمومه و شما یک پاوربانک اضطراری ساده دم دست دارید و در مواقع ضروری میتونید گوشی خودتون رو باهاش شارژ کنید .




۲۶ اسفند ۹۶ ، ۱۱:۴۶ ۲ نظر موافقین ۰ مخالفین ۰
هادی ندائی

چگونه فایل ها را بین اکانت های گوگل درایو انتقال دهیم ؟

روش انتقال فایل بین حساب های گوگل درایو !



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

ادامه مطلب...
۲۴ اسفند ۹۶ ، ۲۲:۱۹ ۰ نظر موافقین ۰ مخالفین ۰
هادی ندائی