Showing posts with label Sensor. Show all posts
Showing posts with label Sensor. Show all posts

Saturday, November 29, 2014

using pic 16f887 to program and display temperature from lm35 sensor on led 7 segment

Posted by dientudieukhien at 11:50 PM 0 Comments
Trong các bài trước mình đã chia sẽ cùng các bạn những project về lm35 với pic 16f877A. Hôm nay, mình chia sẽ tiếp project tương tự nhưng được lập trình trên pic 16f887, có thêm ký tự "C".

Xem video của project:



Read More »

Saturday, November 22, 2014

LM35 Sensor with pic 16f887 and LCD 16x2

Posted by dientudieukhien at 5:10 PM 0 Comments

Project đo và hiển thị nhiệt độ lên LCD 16x2, sử dụng cảm biến LM35 và vi điều khiển Pic 16f887.

Cách chuyển đổi giá trị Adc đọc từ cảm biến nhiệt LM35 sang độ C.
  • Ở đây ta sử dụng 1.5V làm Vref (ngõ ra cảm  biến LM35 tăng 10mv/1 độ C, nhiệt độ max 150 độ = 1500mv=1.5V)
  • ADCres = 1.5/1024 = 0.0014648 (do ADC 10bit nên 2^10=1024)
  • Tempc = value_adc*ADCres/0.01 = value_adc*0.14648
Sơ đồ nguyên lý khá đơn giản như sau:
Cảm biến nhiệt độ LM35 và LCD 16x2
LM35 with pic 16f887 and LCD 16x2
Code:
/*Project covert adc from sensor LM35, processing and display value on lcd.
 Author: Minh Trung
 Site: http://dientudieukhien.net
 */
//CONFIG LCD
sbit LCD_RS at RD4_bit;
sbit LCD_EN at RD5_bit;
sbit LCD_D7 at RD0_bit;
sbit LCD_D6 at RD1_bit;
sbit LCD_D5 at RD2_bit;
sbit LCD_D4 at RD3_bit;

sbit LCD_RS_Direction at TRISD4_bit;
sbit LCD_EN_Direction at TRISD5_bit;
sbit LCD_D7_Direction at TRISD0_bit;
sbit LCD_D6_Direction at TRISD1_bit;
sbit LCD_D5_Direction at TRISD2_bit;
sbit LCD_D4_Direction at TRISD3_bit;
//END CONFIG LCD
unsigned int value_adc=0;
unsigned float tempc;
char tex1[]="TEMPERATURE:";
char *tex2[15];

void main() {
Adc_Init();
Lcd_Init();
ANSEL=0b00001001;   //Config porta.b0, porta.b3 as analog
ANSELH=0x00;
ADCON1=0x30;        //Config porta.B3 as Vref+
TRISA.b0=1;         //porta.b0, porta.b3 as input
TRISA.b3=1;
C1ON_bit=0;         //disable compare
C2ON_bit=0;
TRISD=0x00;         //Portd as output
Lcd_out(1,1,tex1);
delay_ms(100);
while(1){
value_adc=Adc_read(0); //Get Adc value
delay_ms(100);
tempc=(float)(value_adc*0.14648); //Vref is 1.5V
floattostr(tempc,tex2);
Lcd_cmd(_LCD_CURSOR_OFF);
Lcd_chr(2,9,223);    // Display symbol "o" C
Lcd_out(2,10,"C");
Lcd_out(2,1,tex2);
delay_ms(100);
}
}

|| Download project in Miklroc and Proteus 
Read More »

Saturday, November 8, 2014

RTC DS1307 and pic 16f887

Posted by dientudieukhien at 9:24 PM 0 Comments

Read/write DS1307 sử dụng vi điều khiển Pic16f887

Ở các bài viết trước mình cũng đã chia sẽ với các bạn nhiều project về chủ đề này, tuy nhiên sử dụng các vi điều khiển khác như 18F252, 16f876A, ATMEGA16. Hôm nay, mình chia sẽ với các bạn project read dữ liệu trên DS1307 hiển thị ra LCD sử dụng pic 16f887. Ở đây bạn sẽ học cụ thể cách read dữ liệu từ DS1307 bằng ngôn ngữ Mikroc.

Sẽ cập nhật sau.

Read More »

Saturday, October 18, 2014

Real Time Clock [DS1307 with Set Functions] & DS18B20

Posted by dientudieukhien at 10:11 PM 2 Comments

Features:
  • Real-Time Clock (RTC) Counts Seconds, Minutes, Hours, Date of the Month, Month, Day of the week, and Year with Leap-Year Compensation Valid Up to 2100.
  • 56-Byte, Battery-Backed, General-Purpose RAM with Unlimited Writes.
  •  I2C Serial Interface.
  • Programmable Square-Wave Output Signal.
  •  Automatic Power-Fail Detect and Switch Circuitry.
  • Consumes Less than 500nA in Battery-Backup Mode with Oscillator Running.
  •  Operating temperature range for commercial use only: 0°C to +70°C.
  • Optional Industrial Temperature Range: -40°C to +85°C.
  • Available in 8-Pin Plastic DIP or SO.


  • Diagram:
    Real time clock
    Read More »

    Friday, September 12, 2014

    Simple Laser security system

    Posted by dientudieukhien at 5:34 PM 0 Comments

    Simple Laser security system

    Đây là một project đơn giản về hệ thống báo trộm bằng laser, sau đây là sơ đồ nguyên lý:
    Laser security system
    Ở sơ đồ trên vị trí S1 trên thực tế là một quang trở, ở đây mình sử dụng button để mô phỏng sự hoạt động của code. Khi S1 bị tác động thì chân RB0 xuống mức logic thấp (tương ứng khi có tia laser chiếu vào quang trở) thì led không cháy và loa không báo động. Khi S1 được nhả ra (giống như tia laser bị che khuất bởi ột vật gì đó) thì led phát sáng và loa hú báo động, khi ta nhấn nút Reset và button S1 nhấn xuống thì hệ thống trở lại sự hoạt động bình thường.

    Vị trí lắp đặt quang trở và tia laser (ở đây bạn có thể sử dụng laser trong các thiết bị đồ chơi nha) đối diện nhau như hình sau:
    lăp đặt laser và quang trở
    Read More »

    Sunday, May 25, 2014

    Đồng hồ thời gian thực dùng DS1307 (có các nút set) + đo nhiệt độ 18B20

    Posted by dientudieukhien at 7:25 AM 0 Comments
    Một trong những bài thực hành lí thú nhất trong học lập trình vi điều khiển là tạo một project Đồng hồ thời gian thực. Thông qua bài thực hành này bạn sẽ nắm được nhiều thuật toán cũng như nhiều modun của vi điều khiển. Sau đây là video sản phẩm và sơ đồ nguyên lý.
    * Video project:


    *Sơ đồ nguyên lý:

    || Tải toàn bộ project
    source: http://electronicexperiments.blogspot.it/
    Read More »

    Line Following robot using Atmega8

    Posted by dientudieukhien at 6:52 AM 0 Comments
    * Hình project

    * Sơ đồ nguyên lý:



    source: http://extremeelectronics.co.in

    Read More »

    Đo khoảng cách dung Atmega8 và cảm biến âm thanh. Ultrasonic Rangefinder HC-SR04 Interfacing with ATmega8

    Posted by dientudieukhien at 6:27 AM 0 Comments
    * Hình project
    * Sơ đồ nguyên lý:

    * Danh sách linh kiện:
    S. No.ReferenceValuePartQty
    1R1100 OhmsResistor 1/4 watt1
    2R2330 OhmsResistor 1/4 watt1
    3R34.7K OhmsResistor 1/4 watt1
    4C1470uFElectrolytic Capacitor 25V1
    5
    C2,C5,C6,C7
    0.1uF(100nF)Ceramic disk type capacitor4
    6C3,C422pFCeramic disk type capacitor2
    7D11N4007Diode1
    8D2-5mm LED - Round - RED1
    9U1ATmega8ATmega8 MCU1
    10U278055V Voltage Regulator1
    11L110uHInductor1
    12RV110K OhmsPreset (Variable Resistor)1
    13SW1-On/Off Switch1
    14X1-DC Socket1
    15X316MHzCrystal1
    16X4HC-SR04 Sensor1
    17--28 PIN IC Socket1
    18--16 PIN Female Connecter1
    19--4 PIN Female Connecter1
    20--16 PIN Male Connecter1
    21DISP1-LCD Module 16x2 GREEN B/L1

    * Tải chương trình (atmel studio 6 project + Hex)

    Source: http://extremeelectronics.co.in
    Read More »

    Friday, March 28, 2014

    pic 16f887 base ds1820 digital thermometer - Cảm biến nhiệt ds1820 với pic16f887

    Posted by dientudieukhien at 5:34 AM 0 Comments
    * Project: dùng vi điều khiển pic16f887 lấy tín hiệu từ cảm biến nhiệt ds1820, xử lí, xuất kết quả ra màng hình LCD.

    * Ảnh của project:

    * Video:


    || Tải project tại đây (ISIS + Mikroc source)
    Read More »

    Sunday, December 8, 2013

    Điều khiển nhiệt độ phòng với Pic 16f873 - Room temperature controller

    Posted by dientudieukhien at 2:09 PM 0 Comments
    Ở đây chúng ta sử dụng Pic 16f873 và các sensor LM35 để kiểm tra nhiệt độ bên trong và bên ngoài từ đó điều khiển thiết bị ngoại vi. Trong project này có sử dụng các led 7 đoạn để hiển thị nhiệt độ.
    Sơ đồ nguyên lý:
    Lưu đồ lập trình:


    || Tất cả project, code, giải thích tại đây
    Read More »

    Tuesday, November 27, 2012

    Đo nhiệt độ bằng cảm biến nhiệt Lm35, hiển thị lên 7 seg có phần thập phân

    Posted by dientudieukhien at 12:48 PM 0 Comments
    Trên internet hiện nay có rất nhiều bài hướng dẫn bạn lập trình để xử lí và hiển thị nhiệt độ lên màng hình LCD, hay 7Seg. Hôm nay, dientudieukhien.net chia sẽ cùng bạn một project, lập trình lấy dữ liệu từ cảm biến nhiệt LM35, hiển thị lên led 7 Đoạn, điều đặc biệt ở đây là có hiển cả dấu thập phân.
    CMU: 16f877A
    Ngôn ngữ: Mikroc pro
    Mô phỏng: ISIS
    Đã test trên thực tế:

    Video:




    Read More »

    Saturday, November 10, 2012

    Project đếm sản phẩm, hiển thị kết quả lên lcd

    Posted by dientudieukhien at 11:56 PM 0 Comments
    Mô tả: Project sử dụng cmu 16f877a, lcd 16x2, mạch mô phỏng đếm sản phẩm. Mỗi khi có một sản phẩm đi qua cảm biến kết thúc  (có thể sử dụng cảm biến hồng ngoại) giá trị số đếm sẽ tăng thêm 1. Khi nhấn Reset thì bộ đếm trở về 0.

    Sau đây là hình ảnh mô phỏng bằng protues:
    Mạch sử dụng vi điều khiển pic 16f877A

    Mạch đếm sản phẩm sẽ tăng 1 đơn vị khi có một sản phẩm chạy qua mắt đọc

    Read More »

    Wednesday, November 7, 2012

    Đo khoảng cách dùng sóng siêu âm

    Posted by dientudieukhien at 9:57 PM 0 Comments
    Nhờ bộ cảm biến siêu âm mà ta có thể sử dụng vi điều khiển xử lí, tính toán, xác định khoảng cách từ bộ siêu âm đến vật thể phía trước, sau đây là project đo khoảng cách sử dụng pic 16f873cảm biến siêu âm:
    Read More »

    Thursday, October 25, 2012

    Đo khoảng cách với cảm biến Sharp 2YOA21 & LCD

    Posted by dientudieukhien at 6:03 AM 0 Comments

    1/ Đặc điểm cảm biến Sharp 2YOA21
        - Khoảng cách tối thiểu: 10cm
        - Khoản cách đo tối đa: 80cm
        - Mức tín hiệu ra tỉ lệ nghịch với khoảng cách
        - Điện áp hoạt động: 4.5v đến 5.5v
        - Dòng cung cấp: 30mA
        - Thời gian đáp ứng: 30 +/- 10ms

    Read More »

    Saturday, October 20, 2012

    Line Following Robot - robot di theo vạch đen

    Posted by dientudieukhien at 11:47 AM 0 Comments
    Danh sách linh kiện:
    1× 28-pin socket (for ATMEGA8)
    1× 14-pin socket (for L293)
    1x ATMEGA8 – You can also use an ATMEGA 168 or 328. The program is made in Arduino , so if you have an arduino, you can program the microcontroller on it, then remove it from arduino and insert it in this PCB. Also you can program this microcontroller via the 6 pins with an ISP
    1x L293D
    1× 16MHz Crystal
    2× 22pF (10-28pF)
    1x LM7805 
    1x Push Button 
    1× 100nF
    1× 100uF
    1× 4.7 uF
    6x LEDs
    1× 1K resistor
    1× 33R resistor
    1x Break Away Header 
    1x Straight Female Header 
    1x SwitchWires

    Sơ đồ nguyên lý:
    Read More »

    Wednesday, October 17, 2012

    Đo nhiệt độ với cảm biến nhiệt LM35, hiển thị lên led 7 đoạn

    Posted by dientudieukhien at 12:24 PM 1 Comment
    A Digital temperature with LM35 temperature sensor and display on le 7segment.
    Một trong những bài học thú vị trong lập trình vi điều khiển là: giao tiếp và đọc tín hiệu từ một sensor nào đó, và LM35 là một cảm biến nhiệt đề bạn thực hành điều đó. Qua đây bạn sẽ học được cách đọc tín hiệu analog là như thế nào? Học được cách chuyển tín hiệu từ analog sang digital, đồng thời chuyển thành BCD để xuất ra led 7 đoạn.
    Sau đây là hình ảnh mô phỏng.
    Mạch hiển thị nhiệt độ từ cảm biến nhiệt LM35 lên led 7 đoạn sử dụng pic 16f877a


    Read More »

    Monday, October 15, 2012

    ATMEGA16+DS1307+LCD+7SEG

    Posted by dientudieukhien at 12:41 AM 0 Comments
    Đây là một mạch thời gian thực  + đo nhiệt độ rất hay mình tìm thấy trên mạng . Chức năng của mạch hiển thị thời gian nhiệt độ trên led 7 , thông điệp trên LCD  chức năng hẹn giờ , báo chuông . Nói chung nó khá thú vị cho các bạn .


    Đồng hồ thời gian thực


    Read More »

      tab

    back to top