ESP32 openPLC IN/OUT 10 , 0-20mA INOUT/ 0-10V INOUT, RTC DS1337, RS485,EEPROM AT24C02

ESP32 openPLC IN/OUT 10 , 0-20mA INOUT/ 0-10V INOUT, RTC DS1337, RS485,EEPROM AT24C02
ESP32 openPLC IN/OUT 10 , 0-20mA INOUT/ 0-10V INOUT, RTC DS1337, RS485,EEPROM AT24C02ESP32 openPLC IN/OUT 10 , 0-20mA INOUT/ 0-10V INOUT, RTC DS1337, RS485,EEPROM AT24C02ESP32 openPLC IN/OUT 10 , 0-20mA INOUT/ 0-10V INOUT, RTC DS1337, RS485,EEPROM AT24C02ESP32 openPLC IN/OUT 10 , 0-20mA INOUT/ 0-10V INOUT, RTC DS1337, RS485,EEPROM AT24C02ESP32 openPLC IN/OUT 10 , 0-20mA INOUT/ 0-10V INOUT, RTC DS1337, RS485,EEPROM AT24C02ESP32 openPLC IN/OUT 10 , 0-20mA INOUT/ 0-10V INOUT, RTC DS1337, RS485,EEPROM AT24C02ESP32 openPLC IN/OUT 10 , 0-20mA INOUT/ 0-10V INOUT, RTC DS1337, RS485,EEPROM AT24C02ESP32 openPLC IN/OUT 10 , 0-20mA INOUT/ 0-10V INOUT, RTC DS1337, RS485,EEPROM AT24C02ESP32 openPLC IN/OUT 10 , 0-20mA INOUT/ 0-10V INOUT, RTC DS1337, RS485,EEPROM AT24C02
รหัสสินค้า M0045-ESP32
หมวดหมู่ ESP32 ESP-32
ราคา 300.00-470.00 บาท
น้ำหนัก 15 กรัม
ลงสินค้า 5 ก.พ. 2568
อัพเดทล่าสุด 5 ก.พ. 2568
กรุณาเลือกชนิดสินค้าด้านล่าง
บัตรประชาชน
บุ๊คแบ๊งค์
คุ้มครองโดย LnwPay
BASE+RS485
BASE+RS485
รหัสสินค้า M0044-485
ราคา 300.00 บาท
น้ำหนัก 100 กรัม
ขออภัย สินค้าหมด
+OLED+RS485
+OLED+RS485
รหัสสินค้า M0045-OLED
ราคา 350.00 บาท
น้ำหนัก 100 กรัม
ขออภัย สินค้าหมด
BASE+OLED+ESP32
BASE+OLED+ESP32
รหัสสินค้า M0046-ESP32
ราคา 470.00 บาท
น้ำหนัก 15 กรัม
ขออภัย สินค้าหมด
แสดงชิ้นที่ 1-3 จากทั้งหมด 3 ชิ้น
*
ESP32 OpenPLC
DIGITAL IN 32, 33, 27, 14, 4  %IX0.0 IX0.5
DIGITAL OU 5,  13, 12, 15, 2, 30 %QX0.0 QX0.6(BUZZER)
Analog In 35, 34, 39, 36 %IW0 – %IW3 
Analog Out 25, 26 ,*19*   %QW0 – %QW2
I2C 22,21 SCL,SDA
UART 1 (RS485) 17,16 TXD1, RXD1
UART 2 (ESP01 ESPNOW) 19,18 TXD2(PWM), RXD2
PWM 19 TXD2(PWM)
UART 0 1,3  

NANO ATMEGA328P/PB
DIGITAL IN D2,D3,D4, D5, D6  %IX0.0 IX0.5
DIGITAL OU A0,  D13, D12, D8,D7, A1 %QX0.0 QX0.6(BUZZER)
Analog In A2, A3, A6, A7 %IW0 – %IW3 
Analog Out D9, D10, D11    %QW0 – %QW2  
I2C A5,A4 SCL,SDA
UART 1 (RS485) D1,D0 TXD, RXD1

 

*
OpenPLC
https://autonomylogic.com/

*










*






*
/***********************
 
// ----- OPENPLC pin
DIGITAL IN  : 32, 33, 27, 14, 4     : %IX0.0 IX0.5
DIGITAL OUT : 5,  13, 12, 15, 2, 30 : %QX0.0 QX0.6
Analog In   : 35, 34, 39, 36        : %IW0 – %IW3 
Analog Out  : 25, 26                : %QW0 – %QW1  
----------------------
I2C pin
SCL : 22
SDA : 21
----------------------
//----------------------------------------------
 
#include <HardwareSerial.h>
#define SerialDebug    Serial
 
#define RS485_TX_PIN   17
#define RS485_RX_PIN   16
#define RS485          Serial1 
 
#define ESP01_TX_PIN  19
#define ESP01_RX_PIN  18
#define ESP01         Serial2 
 
#define SDA_PIN        21
#define SCL_PIN        22
 
void setup(){
   SerialDebug.begin(115200);
   RS485.begin (19200, SERIAL_8N1, RS485_TX_PIN, RS485_RX_PIN);
   ESP01.begin (57600, SERIAL_8N1, ESP01_TX_PIN, ESP01_RX_PIN);
   // https://docs.espressif.com/projects/arduino-esp32/en/latest/api/i2c.html
   Wire.setPins(SDA_PIN, SCL_PIN);     // Set the I2C pins before begin
   Wire.begin();                      // join i2c bus (address optional for master)
}
***********************/
 
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Bonezegei_DS1307.h>
#include <HardwareSerial.h>
Bonezegei_DS1307 rtc(0x68);
 
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
 
// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
// The pins for I2C are defined by the Wire-library. 
// On an arduino UNO:       A4(SDA), A5(SCL)
// On an arduino MEGA 2560: 20(SDA), 21(SCL)
// On an arduino LEONARDO:   2(SDA),  3(SCL), ...
#define OLED_RESET     -1 // Reset pin # (or -1 if sharing Arduino reset pin)
#define SCREEN_ADDRESS 0x3C ///< See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
 
char textBuffer[40];
 
#define INX0       32   // GPIO32 D2
#define INX1       33   // GPIO33 D3
#define INX2       27   // GPIO27 D4 
#define INX3       14   // GPIO14 D5P
#define INX4       4    // GPIO4  D6P    
//
#define OUTY0      5    // GPIO 5  A0
#define OUTY1      13   // GPIO13  D13
#define OUTY2      12   // GPIO12  D12
#define OUTY3      15   // GPIO15  D8
#define OUTY4      2    // GPIO2   D7
#define OUTBUZ     23   // GPIO23  A1    
//
#define DAC_20mA   25    // GPIO25  D9P 
#define DAC_10V    26    // GPIO26  D10P
#define ADC_20mA   35    // GPIO35  A2
#define ADC_10V    34    // GPIO34  A3  
#define ADC_10K1   39    // GPIO39  A6
#define ADC_10K2   36    // GPIO36  A7
//-----------
#define PWM_PIN    19    // GPIO19  D11P
#define TXD1_PIN   19    // GPIO19  D11P
//-----------
#define RXD1_PIN   18    // GPIO18
#define TXD_PIN    17    // GPIO17  TXD
#define RXD_PIN    16    // GPIO16  TXD
//-----------
#define RS485_TX_PIN   17
#define RS485_RX_PIN   16
#define RS485          Serial1 
 
#define ESP01_TX_PIN  19
#define ESP01_RX_PIN  18
#define ESP01         Serial2 
 
 
//--------- ADC in 0-10V ,4-20mA ----------
float Vout0_10V = 0.00;
float Vin0_10V = 0.00;
float R1 = 3000.00;    // resistance of R1 (3K) 
float R2 = 800.00;     // resistance of R2 (1K) // Rin(??)
int   val0_10V = 0;
//
float I_420mA = 0.00;     // I mA
float R_420mA = 150.00;   // R ImA
 
//------------------------------------
 
void setup() {
  Serial.begin(115200);
  RS485.begin(19200, SERIAL_8N1, RS485_TX_PIN, RS485_RX_PIN);
  ESP01.begin(57600, SERIAL_8N1, ESP01_TX_PIN, ESP01_RX_PIN);
 
  pinMode(INX0,INPUT);
  pinMode(INX1,INPUT);
  pinMode(INX2,INPUT);
  pinMode(INX3,INPUT);
  pinMode(INX4,INPUT); 
  //
  pinMode(OUTY0,OUTPUT);  digitalWrite(OUTY0,LOW);
  pinMode(OUTY1,OUTPUT);  digitalWrite(OUTY1,LOW);
  pinMode(OUTY2,OUTPUT);  digitalWrite(OUTY2,LOW);  
  pinMode(OUTY3,OUTPUT);  digitalWrite(OUTY3,LOW);  
  pinMode(OUTY4,OUTPUT);  digitalWrite(OUTY4,LOW);  
  //
  pinMode(OUTBUZ,OUTPUT); 
  digitalWrite(OUTYBUZ,HIGH); delay(100); 
  digitalWrite(OUTYBUZ,LOW);  delay(100); 
  digitalWrite(OUTYBUZ,HIGH); delay(100); 
  digitalWrite(OUTYBUZ,LOW);
  //
  //
  dacWrite(DAC_20mA, 0);     //0-255
  //delay(100);
  //dacWrite(DAC_20mA, 0x3F);  //0-255
  // 
  dacWrite(DAC_10V,  0);     //0-255
  //delay(100);
  //dacWrite(DAC_10V,  0x3F);  //0-255
  //
  rtc.begin();    // DS1337
  display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS);
  display.clearDisplay();
  display.display();
  delay(500); // Pause for 2 seconds
 
  // text display tests
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(0,0);
  display.println("TEST_ESP32_openPLC");
  display.display();
  delay(500);
}
 
void loop() {
    if (rtc.getTime()) {
 
      sprintf(textBuffer,"Time %02d:%02d:%02d ", rtc.getHour(), rtc.getMinute(), rtc.getSeconds());
      Serial.println(textBuffer);
      //
      display.clearDisplay();
      display.setCursor(0,0);      
      display.print(textBuffer);
      //---- ADC in Read VR ---
      display.setCursor(0,12);     
      display.printf("ADCVR1 = %d",analogRead(ADC_10K1) );
      display.setCursor(0,24);     
      display.printf("ADCVR2 = %d",analogRead(ADC_10K2) );
      //------ ADC in 0-10V ---
      display.setCursor(0,36);     
      val0_10V  = analogRead(ADC_10V);    //reads the analog input ADC0-10V
      Vout0_10V = (val0_10V * 3.30) / 4095.00; // formula for calculating voltage out i.e. V+, here 3.3V
      Vin0_10V = Vout0_10V / (R2/(R1+R2));
      display.printf("ADC 0-10V = %0.2f V",Vin0_10V);
      //------ ADC in 0-20mA ---------   
      display.setCursor(0,48);  
      val0_10V  = analogRead(ADC_20mA);         //reads the analog input ADC 0-20mA
      Vout0_10V = (val0_10V * 3.30) / 4095.00; // formula for calculating voltage out i.e. V+, here 3.3V
      I_420mA = (Vout0_10V/R_420mA) * 1000;
      display.printf("ADC 0-20mA = %0.2f mA",I_420mA );
      //
      display.display();
  }
  
  if(digitalRead(INX0) == 1) digitalWrite(OUTY0,HIGH); else digitalWrite(OUTY0,LOW);
  if(digitalRead(INX1) == 1) digitalWrite(OUTY1,HIGH); else digitalWrite(OUTY1,LOW);
  if(digitalRead(INX2) == 1) digitalWrite(OUTY2,HIGH); else digitalWrite(OUTY2,LOW);
  if(digitalRead(INX3) == 1) digitalWrite(OUTY3,HIGH); else digitalWrite(OUTY3,LOW);
  if(digitalRead(INX4) == 1) digitalWrite(OUTY4,HIGH); else digitalWrite(OUTY4,LOW);
 
  delay(100);
}

วิธีการชำระเงิน

ธนาคารกรุงเทพ จำกัด (มหาชน) สาขาบิ๊กซี รามคำแหง สะสมทรัพย์
ธนาคารไทยพาณิชย์ จำกัด (มหาชน) สาขาคลองจั่น ออมทรัพย์
บมจ. ธนาคารกรุงไทย สาขาเดอะมอลล์บางกะปิ ออมทรัพย์
บมจ. ธนาคารกสิกรไทย สาขาโลตัส บางกะปิ ออมทรัพย์
พร้อมเพย์ สาขา- mobile
Scan this!
กิตติ แซ่เอี้ยว
096-xxxxxx-3
Accept All Banks | รับเงินได้จากทุกธนาคาร
  • ค่าธรรมเนียม 3.9% + 11 THB
  • การชำระผ่าน PayPal คุณไม่จำเป็นต้องแจ้งชำระเงิน เนื่องจากระบบจะจัดการให้คุณทันที ที่คุณชำระเงินเสร็จสมบูรณ์

CATEGORY

TRACKCODE

  • ค้นหา
*ใส่ เบอร์มือถือ หรือ email ที่ใช้ในการสั่งซื้อ

CONTACT US

096-898-2243

STATISTICS

หน้าที่เข้าชม5,167,898 ครั้ง
ผู้ชมทั้งหมด1,567,238 ครั้ง
ร้านค้าอัพเดท8 ก.ย. 2568

MEMBER

Join เป็นสมาชิกร้านค้า

ร้านmcucity
ร้านmcucity
/www.mcucity.com/
Join เป็นสมาชิกร้าน
805
สมัครสมาชิกร้านนี้ เพื่อรับสิทธิพิเศษ
ติดตามร้านของเราผ่านแอพได้แล้ววันนี้
  • พิมพ์ “mcucity” ในช่อง Search
  • หรือเข้าจากรายการร้านค้าโปรดของฉัน
พูดคุย-สอบถาม