CONTROLLINO是一個工業用、完備的、可自由編程而且免費的PLC。 它基於Arduino開源軟件技術。 可以虛擬的提供任何控制,自動化和數據記錄。 近年來,CONTROLLINO成為Arduino首選的PLC,不僅適用於一般開發者,也適用於專業人士。
CONTROLLINO目前提供三種規格:MINI、MAXI(標準和自動化)和MEGA。 此外,也將提供(Q3-2017)自由定制的版本,稱為CONTROLLINO myPLC。
- Microcontroller: ATmega2560
- RTC
- Ethernet Connector (網路port)
- 2x serial Interface (上面有5V GND Ai 和 Dio pin)
- 1x RS485 Interface
- 1x I2C Interface
- 1x SPI Interface
- 10x Relays Outputs – 230V AC or 30V DC
- 12x Analog/Digital Inputs
- 12x Digital Outputs – 2A 12V or 24V[color=rgba(0, 0, 0, 0)]
電源輸入可以用 12 / 24 V ,Controllino 會依據不同的電源輸出亮不同的燈號
輸入12V時 12V亮綠燈 24V亮橘燈 ; 輸入24V時 24亮綠燈12亮橘燈
環境設定
Step1: 先下載並安裝Arduino開發環境
Step2: 打開Arduino開發環境 點選上方工具列 草稿碼 > 匯入函式庫 -> 管理程式庫
然後在篩選那輸入 Controllino 安裝函式庫
Step3: 上方工具列 點選檔案 -> 偏好設定 -> 額外開發版管理網址輸入框內輸入
輸入完後按確定進入下一步
Step4: 上方工具列 點選 開發版 XXX(你的板子類型) -> 開發版管理員
然後在篩選那輸入 Controllino 安裝相對應工具與套件
完成以上步驟及完成設定,可以對Controllino進行各項操作
測試程式
以下程式會讓Controllino D0~D7的LED燈循環發亮
- #include <Controllino.h>
- void setup() {
- pinMode(CONTROLLINO_D0, OUTPUT);
- pinMode(CONTROLLINO_D1, OUTPUT);
- pinMode(CONTROLLINO_D2, OUTPUT);
- pinMode(CONTROLLINO_D3, OUTPUT);
- pinMode(CONTROLLINO_D4, OUTPUT);
- pinMode(CONTROLLINO_D5, OUTPUT);
- pinMode(CONTROLLINO_D6, OUTPUT);
- pinMode(CONTROLLINO_D7, OUTPUT);
- }
-
- void loop() {
- digitalWrite(CONTROLLINO_D0, HIGH);
- delay(100);
- digitalWrite(CONTROLLINO_D0, LOW);
- delay(100);
- digitalWrite(CONTROLLINO_D1, HIGH);
- delay(100);
- digitalWrite(CONTROLLINO_D1, LOW);
- delay(100);
- digitalWrite(CONTROLLINO_D2, HIGH);
- delay(100);
- digitalWrite(CONTROLLINO_D2, LOW);
- delay(100);
- digitalWrite(CONTROLLINO_D3, HIGH);
- delay(100);
- digitalWrite(CONTROLLINO_D3, LOW);
- delay(100);
- digitalWrite(CONTROLLINO_D4, HIGH);
- delay(100);
- digitalWrite(CONTROLLINO_D4, LOW);
- delay(100);
- digitalWrite(CONTROLLINO_D5, HIGH);
- delay(100);
- digitalWrite(CONTROLLINO_D5, LOW);
- delay(100);
- digitalWrite(CONTROLLINO_D6, HIGH);
- delay(100);
- digitalWrite(CONTROLLINO_D6, LOW);
- delay(100);
- digitalWrite(CONTROLLINO_D7, HIGH);
- delay(100);
- digitalWrite(CONTROLLINO_D7, LOW);
- delay(100);
- }
測試2 讀取 每秒 讀取溫溼度Sensor Analog 輸入訊號並 控制Relay開關切替電磁閥動作
- #include <Controllino.h>
-
- void setup() {
- pinMode(CONTROLLINO_A1, INPUT);
- Serial.begin(9600);
- }
-
- void loop() {
- int sensorValue = analogRead(CONTROLLINO_A1);
- float voltage = sensorValue * (5.0 / 1023.0);
- float T;
- T = voltage*20;
- Serial.println(T);
- digitalWrite(CONTROLLINO_R0, HIGH);
- delay(1000);
- digitalWrite(CONTROLLINO_R0, LOW);
- }