ChipiUno
Từ ChipFC Wiki
Bài viết này đang được phát triển hoặc chỉnh sửa lớn. |
Giới thiệu
ChipiUno trên trang chủ
- ChipiUno là một loại mạch Arduino, một loại mạch giúp cho người lập trình phần cứng bớt mệt nhọc hơn, người mới học dễ tiếp cận với lập trình hơn, người làm đồ chơi mau chóng có đồ chơi hơn, người làm dự án nhanh chóng có sản phẩm mẫu hơn ...
- Mạch ChipiUno là phiên bản Arduino do ChipFC sản xuất, tương thích với mạch Arduino Uno R3. Sử dụng chíp ATmega16U2 để giao tiếp USB và nạp cho chíp chính ATmega328P, độ ổn định cao và cho phép viết lại các ứng dụng dùng đến USB Device như bàn phím, chuột... Driver cho Windows được cung cấp đi kèm với phần mềm Arduino, tương thích với WinXP, Vista, Win7, Win8 & Win8.1.
- Theo thiết kế của Uno R3, ChipiUno có sẵn các chân SDA, SCL, IOREF. Ngoài ra, ChipiUno cũng đưa ra thêm 2 chân ADC là A6 và A7 cho các ứng dụng cần nhiều tín hiệu Analog. Đặc biệt, ChipiUno có khả năng chọn điện áp hoạt động giữa 3V3 hoặc 5V, thay đổi bằng jumper "VCC Select" ngay trên mạch.
- Arduino cung cấp nền tảng phần cứng đơn giản, thiết kế mở để dễ phát triển ứng dụng với nhiều loại shield đặc thù được cung cấp sẵn trên thị trường hoặc do người sử dụng tự hiện thực. IDE Arduino 1.x mã nguồn mở (tương thích Windows, Linux, Mac), có thể tải miễn phí trên trang chủ www.arduino.cc và được hỗ trợ mạnh bởi cộng đồng Arduino trên toàn thể giới.
Đặc điểm
Chức năng | Thông số |
---|---|
MCU | ATmega328P |
Chíp nạp | ATmega16U2 |
Điện áp hoạt động | 3.3V/5V |
Điện áp nguồn cấp | 7-12V |
Số chân I/O | 20 (6 PWM & 6 Analog) |
Dòng điện tối đa trên I/O | 40mA |
Bộ nhớ Flash | 32KB (với 2KB được dùng cho bootloader) |
Bộ nhớ SRAM | 2KB |
Bộ nhớ EEPROM | 1KB |
Tốc độ (Clock Speed) | 16MHz |
Mô tả các chân kết nối
Thứ tự chân | Tên gọi | Loại | Mô tả |
---|---|---|---|
0 | D0 | IO | UART_RX |
1 | D1 | IO | Chân Digital 1 / UART_TX |
2 | D2 | IO | Chân Digital 2 Interrupt 0 |
3 | D3 | IO | Chân Digital 3 / Interrupt 1 / PWM |
4 | D4 | IO | Chân Digital 4 |
5 | D5 | IO | Chân Digital 5 / PWM |
6 | D6 | IO | Chân Digital 6 / PWM |
7 | D7 | IO | Chân Digital 7 |
8 | D8 | IO | Chân Digital 8 |
9 | D9 | IO | Chân Digital 9 / PWM |
10 | D10 | IO | Chân Digital 10 / SPI_CS / PWM |
11 | D11 | IO | Chân Digital 11 / SPI_MOSI / PWM |
12 | D12 | IO | Chân Digital 12 / SPI_MISO |
13 | D13 | IO | Chân Digital 13 / SPI_SCK |
14 | A0 | IO | Chân Analog 0 |
15 | A1 | IO | Chân Analog 1 |
16 | A2 | IO | Chân Analog 2 |
17 | A3 | IO | Chân Analog 3 |
18 | A4 | IO | Chân Analog 4 / I2C_SDA |
19 | A5 | IO | Chân Analog 5 / I2C_SCL |
20 | A6 | IO | Chân Analog 6 / Chỉ có ở những phiên bản chip dán |
21 | A7 | IO | Chân Analog 7 / Chỉ có ở những phiên bản chip dán |
22 | Vin | Power | Chân Vin, điện áp chưa qua IC chỉnh áp |
23 | GND | Power | có 3 chân GND(1 phía trên chân D13, 2 phía trên chân Vin) |
24 | 5V | Power | Nguồn 5V |
25 | 3V3 | Power | Nguồn 3V3 |
26 | Reset | Reset | Chân reset |
Sử dụng
Dưới đây là một ví dụ mẫu để tắt/mở relay.
/**
* Tự động bật relay
* Sử dụng kết hợp với Chipiuno và Shield Base của chipfc
*
* Viết bởi: Thophi
* Tham khảo tại http://chipfc.com/
*/
byte relayPin = 2; //Mô đun relay nối với chân 2 của Arduino
boolean state = true; //Biến trạng thái cho relay
void setup(){
pinMode(relayPin,OUTPUT); //Relay là output
}
void loop(){
digitalWrite(relayPin,LOW);
delay(1000);
digitalWrite(relayPin,HIGH);
delay(1000);
} |
Dưới đây là một ví dụ mẫu bật đèn tự động khi trời tối
/**
* Tự động bật đèn
* Sensor là module Chipi-Light Sensor, bộ điều khiển đèn là mô đun ChipI-Relay của chipfc
* Sử dụng kết hợp với Chipiuno và Shield Base của chipfc
* Sử dụng mô đun ChipI-relay như một cộng tắc, sử dụng 2 chân COM và NO
* Viết bởi: Thophi
* Tham khảo tại http://chipfc.com/
*/
byte sensorPin = A0; //Cảm biến gắn với chân A0 của Arduino
byte relayPin = 2; //relay nối với chân 2 của Arduino
int edge = 500; //Độ nhạy này do bạn tùy chỉnh
void setup(){
pinMode(sensorPin,INPUT); //Nút nhấn là input
pinMode(relayPin,OUTPUT); //Loa bíp là output
digitalWrite(relayPin,LOW); //Mặc định là tắt đèn
}
void loop(){
if(analogRead(sensorPin) < edge) digitalWrite(relayPin, HIGH); //Nếu cảm biến đọc về thấp hơn giá trị định trước thì bật đèn
else digitalWrite(relayPin,LOW); //Không thì tắt đèn
delay(3000); //Dừng xử lí trong 3s hoặc hơn
} |