شبیه سازی های درایو های الکتریکی

شبیه سازی های درایو های الکتریکی

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

شبیه سازی های درایو های الکتریکی

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

56 : شبیه سازی کانتر شمارش پالس توسط آردویینو



در این شبیه سازی از وقفه خارجی INT0  در اردویینو U9 جهت شمارش استفاده شده است

دستور وقفه بفرم زیر است :

attachInterrupt(interrupt, ISR, mode);

 

interrupt : شماره وقفه ای که میخواین ازش استفاده کنید، دو تا وقفه داریم، وقفه ۰ و ۱ (جدول بالا)
mode :
توسط این قسمت نوع تحریک شدن وقفه رو تعیین میکنیم، مثلا به ازای هر تغییر ولتاژی(CHANGE) وقفه رخ بده یا وقتی ولتاژ ۰ منطقی هستش(LOW) یا وقتی که ولتاژ ۱ منطقی هستش(HIGH) یا وقتی که از ۰ منطقی میریم به ۱ منطقی(RISING) و یا برعکس(FALLING)…..این کلمات پر رنگ رو بسته به نیازتون یکیشون و در mode قرار بدید.
ISR :
نام تابع وقفه، این نام اختیاری هستش، فقط شما این نامی که این جا میدید رو باس یه تابع تعریف کنید با این نام و کد هایی که دوس دارید در صورت تحریک شدن وقفه اجرا بشن رو توش قرار بدید.

 

لازم بذکر است که LCD  در این مدار I2C بوده و شکل مداری آن بفرم زیر است :

 


از کد زیر می توان جهت پیدا کردن آدرس تجهیز i2c استفاده کرد :

/*I2C_scanner

  This sketch tests standard 7-bit addresses.

  Devices with higher bit address might not be seen properly.*/

 

#include <Wire.h>

 

void setup() {

  Wire.begin();

 

  Serial.begin(9600);

  while (!Serial);

  Serial.println("\nI2C Scanner");

}

 

void loop() {

  byte error, address;

  int nDevices;

 

  Serial.println("Scanning...");

 

  nDevices = 0;

  for (address = 1; address < 127; address++ ) {

    Wire.beginTransmission(address);

    error = Wire.endTransmission();

 

    if (error == 0) {

      Serial.print("I2C device found at address 0x");

      if (address < 16)

        Serial.print("0");

      Serial.print(address, HEX);

      Serial.println("  !");

 

      nDevices++;

    }

    else if (error == 4) {

      Serial.print("Unknown error at address 0x");

      if (address < 16)

        Serial.print("0");

      Serial.println(address, HEX);

    }

  }

  if (nDevices == 0)

    Serial.println("No I2C devices found\n");

  else

    Serial.println("done\n");

 

  delay(5000);

}



شبیه سازی با نرم افزار PROTEUS & ARDUINO

  قیمت 15000 ت