LOGO
Cấu Trúc Máy Tính Song Song
Đại Học Bách Khoa Đà Nẵng- Khoa Điện tử Viễn thông
www.trungtamtinhoc.edu.vn
LOGO
CUỘC THI NHÀ SÁNG TẠO VỚI INTEL GALILEO – 2015
Ổ CẮM THÔNG MINH
www.trungtamtinhoc.edu.vn
Nội Dung Thuyết Trình
LOGO
Giới thiệu chung
www.trungtamtinhoc.edu.vn
Thiết kế
Intel Galileo Gen 2
Ý tưởng sản phẩm
LOGO
Ổ cắm điện thông minh giúp người dùng giữ nguyên hệ thống điện trước đó, nhưng vẫn sử dụng đầy đủ
các tính năng của một hệ thống điều khiển thông minh.
Các Ổ cắm điện thông minh sẽ được gắn tại những điểm cung cấp điện trong nhà ở, cơng ty, qua đó đóng
vai trị như một hệ thống điều khiển thông minh mini, điều khiển một tổ hợp thiết bị trong từng khu vực.
www.trungtamtinhoc.edu.vn
Chức Năng Chính
LOGO
Các chức năng:
Điều khiển các thiết bị điện được cấp nguồn từ ổ cắm điện thông minh bằng điện thoại
CN 1:
smartphone, thông qua internet (Wifi).
Hiển thị nhiệt độ phòng – độ ẩm.
CN 2:
Giám sát và đưa ra cảnh báo cháy.
Cảnh báo khí gas, tự động vơ hiệu hóa hệ thống khi phát hiện gas rị rỉ.
Hiển thị cơng suất từng thiết bị, tính tốn và lưu trữ giá trị điện năng hàng tháng.
CN 3:
CN 4 :
www.trungtamtinhoc.edu.vn
Tự động ngắt nguồn cung cấp cho thiết bị khi có sự cố.
Tự động ngắt sạc khi pin điện thoại đầy (Hướng đến tính thơng minh của sản phẩm).
Use case diagram
LOGO
Use case diagram:
www.trungtamtinhoc.edu.vn
Module cần có
LOGO
Module cho ý tưởng
- Intel Galileo gen 2.
Mạch bảo vệ quá áp, quá dòng.
- Cảm biến nhiệt độ- độ ẩm TMP 36.
- Các linh kiện nhỏ: Điện trở, Tụ điện, Rơ-le, board mạch,
- Cảm biến khí gas MQ2.
-Vỏ nhựa của thiết bị.
- Cảm biến dòng ACS712.
Phần mềm:
- Module điều khiển đóng ngắt.
- Phần mềm điều khiển trên smartphone ( Android).
- Module cảm biến nhiệt và cảnh báo.
- Phần mềm lập trình Android Studio.
- Module cảm biến khí gas.
- Arduino Driver.
- Loa và đèn cảnh báo.
- Arduino IDE.
- Card wifi cho Intel Galieo gen 2 (Full-sized mini PCI card wifi
- Thuật toán kiểm tra nhiệt độ để báo cháy.
driver).
- Thuật tốn so sánh áp, dịng phát hiện sự cố.
www.trungtamtinhoc.edu.vn
Thiết Kế
LOGO
Cảm biến nhiệt độ với
www.trungtamtinhoc.edu.vn
TMP 36
Thiết kế
LOGO
Cảm biến nhiệt độ với TMP 36
const int temperaturePin = 0;
void setup()
Serial.print(" deg F: ");
{
Serial.println(degreesF);
Serial.begin(9600);
}
delay(1000);
}
float getVoltage(int pin)
void loop()
{
{
return (analogRead(pin) * 0.004882814);
float voltage, degreesC, degreesF;
voltage = getVoltage(temperaturePin);
degreesC = (voltage - 0.5) * 100.0;
degreesF = degreesC * (9.0/5.0) + 32.0;
Serial.print("voltage: ");
Serial.print(voltage);
Serial.print(" deg C: ");
Serial.print(degreesC);
www.trungtamtinhoc.edu.vn
}
Thiết kế
LOGO
Báo động bằng đèn LED RBG
www.trungtamtinhoc.edu.vn
Thiết kế
LOGO
Code báo động bằng đèn LED RBG
digitalWrite(RED_PIN, LOW);
const int RED_PIN = 9;
const int GREEN_PIN = 10;
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, LOW);
const int BLUE_PIN = 11;
delay(1000);
int DISPLAY_TIME = 100;
void setup()
// Red (turn just the red LED on):
{
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(BLUE_PIN, OUTPUT);
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, LOW);
}
void loop()
delay(1000);
{
mainColors();
// Green (turn just the green LED on):
showSpectrum();
}
void mainColors()
{
www.trungtamtinhoc.edu.vn
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, LOW);
Thiết kế
LOGO
delay(1000);
void showRGB(int color)
digitalWrite(RED_PIN, LOW);
{
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, HIGH);
int redIntensity;
int greenIntensity;
int blueIntensity;
delay(1000);
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(BLUE_PIN, LOW);
if (color <= 255)
{
redIntensity = 255 - color;
greenIntensity = color;
blueIntensity = 0;
}
delay(1000);
else if (color <= 511)
digitalWrite(RED_PIN, LOW);
{
digitalWrite(GREEN_PIN, HIGH);
redIntensity = 0;
digitalWrite(BLUE_PIN, HIGH);
greenIntensity = 255 - (color - 256);
blueIntensity = (color - 256);
delay(1000);
digitalWrite(RED_PIN, HIGH);
digitalWrite(GREEN_PIN, LOW);
digitalWrite(BLUE_PIN, HIGH);
delay(1000);
}
else
{
redIntensity = (color - 512);
greenIntensity = 0;
blueIntensity = 255 - (color - 512);
}
digitalWrite(RED_PIN, HIGH);
analogWrite(RED_PIN, redIntensity);
digitalWrite(GREEN_PIN, HIGH);
analogWrite(BLUE_PIN, blueIntensity);
digitalWrite(BLUE_PIN, HIGH);
analogWrite(GREEN_PIN, greenIntensity);
delay(1000); }
}
www.trungtamtinhoc.edu.vn
Thiết kế
LOGO
Đóng ngắt thủ cơng khi có sự cố
www.trungtamtinhoc.edu.vn
Thiết kế
LOGO
Đóng ngắt thủ cơng khi có sự cố
const int button1Pin = 2;
if (((button1State == LOW) || (button2State == LOW))
const int button2Pin = 3;
&& !
const int ledPin = 13;
((button1State == LOW) && (button2State == LOW)))
{
void setup()
digitalWrite(ledPin, HIGH);
{
}
pinMode(button1Pin, INPUT);
else
pinMode(button2Pin, INPUT);
{
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
}
}
void loop()
{
int button1State, button2State;
button1State = digitalRead(button1Pin);
button2State = digitalRead(button2Pin);
www.trungtamtinhoc.edu.vn
}
Thiết kế
LOGO
Điều khiển tự động
www.trungtamtinhoc.edu.vn
Thiết kế
LOGO
Cảm khiển
biến nhiệt
độ với TMP 36
Điều
tự động
const int relayPin = 2;
const int timeDelay = 1000;
void setup()
{
pinMode(relayPin, OUTPUT);
}
void loop()
{
digitalWrite(relayPin, HIGH); // turn the relay on
delay(timeDelay);
// wait for one second
digitalWrite(relayPin, LOW); // turn the relay off
delay(timeDelay);
}
www.trungtamtinhoc.edu.vn
// wait for one second
Thiết kế
LOGO
Cảmbáo
biến
nhiệt độ với TMP 36
Còi
động
www.trungtamtinhoc.edu.vn
Thiết kế
LOGO
Còi báo động
const int buzzerPin = 9;
delay(duration);
const int songLength = 18;
}
char notes[] = "cdfda ag cdfdg gf ";
delay(tempo/10);
int beats[] = {1,1,1,1,1,1,4,4,2,1,1,1,1,1,1,4,4,2};
int tempo = 150;
}
void setup()
while(true){}
{
}
pinMode(buzzerPin, OUTPUT);
}
void loop()
int frequency(char note)
{
int i;
{
int i, duration;
const int numNotes = 8; // number of notes we're storing
char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' };
for (i = 0; i < songLength; i++)
{
int frequencies[] = {262, 294, 330, 349, 392, 440, 494, 523};
for (i = 0; i < numNotes; i++)
duration = beats[i] * tempo;
{
if (names[i] == note)
if (notes[i] == ' ')
{
{
return(frequencies[i]);
delay(duration);
}
}
else
{
tone(buzzerPin, frequency(notes[i]), duration);
}
return(0);
}
www.trungtamtinhoc.edu.vn
Thiết kế
LOGO
Hiển thị trên LCD
www.trungtamtinhoc.edu.vn
Thiết kế
LOGO
Hiển thị trên LCD
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);
void setup()
{
lcd.begin(16, 2);
lcd.clear();
lcd.print("hello, world!");
}
void loop()
{
lcd.setCursor(0,1);
lcd.print(millis()/1000);
}
www.trungtamtinhoc.edu.vn
Phần mềm
LOGO
www.trungtamtinhoc.edu.vn
Kết nối wifi cho Intel galileo
Kết nối Wifi
•
•
•
•
Full-sized mini PCI card wifi driver hoặc half-sized mini PCI card wifi driver
Cài đặt Linux Yocto (iot-devkit) lên Intel Galileo
Chạy lệnh: $ lspci -k | grep -A 3 -i "network"
Kiểm tra Card có được nhận hay không
www.trungtamtinhoc.edu.vn
LOGO
Kết nối wifi cho Intel galileo
LOGO
•
Chạy các lệnh sau để tiến hành cài đặt kết nối wifi:
www.trungtamtinhoc.edu.vn
Kết nối wifi cho Intel galileo
•
Chỉnh chế độ auto connect vào mạng wifi
•
Để kết nối với AP (access point - bộ phát wifi) có đặt mật khẩu:
www.trungtamtinhoc.edu.vn
LOGO
Phần mềm trên Android
LOGO
E-Control
www.trungtamtinhoc.edu.vn