Với những máy móc hiện đại như ngày nay, trong quá trình sản xuất luôn chạy với nhiều tốc độ khác nhau, tùy theo mỗi giai đoạn làm việc của nó, chính vì thế mà ta cần phải biết tốc độ độ
TỔNG QUAN HỆ THỐNG
Giới thiệu chung
Động cơ luôn là bộ phận cần thiết và quan trọng trong hầu hết các máy móc trong công nghiệp và luôn là bộ phận không thể thiếu của các máy móc trong lĩnh vực cơ khí chế tạo như máy phay, máy tiện,…
Trong quá trình sản xuất, việc đo tốc độ động cơ là việc làm không thể thiếu, nó giúp cho quá trình sản xuất nhanh hơn và chính xác hơn, tốt hơn, cho ra những sản phẩm như ý, chính xác Nếu ta không đo được tốc độ của động cơ thì không thể điều chỉnh được tốc độ chính xác theo nhu cầu Với những máy móc như ngày nay, trong quá trình sản xuất luôn chạy với nhiều tốc độ khác nhau, tùy theo mỗi giai đoạn làm việc của nó, chính vì thế mà ta cần phải biết tốc độ động cơ là bao nhiêu và có thể điều chỉnh cho phù hợp cho mục đích sử dụng của thiết bị.
Vì vậy, Thiết bị đo tốc độ và điều khiển tốc độ thông minh được ra đời với nhiều những phiên bản, những sự kết hợp nhiều thiết bị thông minh hiện đại để cải thiện, giải quyết nhu cầu cần thiết trong việc đo đạc,điều khiển thay đổi tốc độ của động cơ Việc đo tốc độ hiện trạng của động cơ được đo bằng các cảm biến như cảm biến hall, encoder,… Động cơ có thể điều khiển bởi các vi điều khiển được lập trình sẵn, và qua những linh kiện để thay đổi tốc độ động cơ theo nhu cầu của người lập trình, điều khiển Đơn giản nhất như Modul L298, XY-PWM, WBT…Người điều khiển có thể thay đổi tốc độ dựa trên những thiết bị nhập liệu dữ liệu số hoặc biến trở…Hiện nay việc áp dụng những thiết bị vi điều khiển thông minh giúp cho việc điều khiển dễ dàng và đa dụng hơn.
Các yêu cầu cơ bản
Yêu cầu người làm phải nắm vững được các phương pháp đo tốc độ động cơ, từ đó thiết kế và thi công máy đo tốc độ không tiếp xúc và hiện thị được tốc độ đó, từ cơ sở buộc người làm đề tài phải thực hiện đực những công việc sau:
- Áp các phương pháp đo tốc độ động cơ
- Nắm rõ các linh kiện điện tử sử dụng
- Hiểu về cảm biến tốc độ
- Thiết kế và thi công phần cứng
- Xây dựng lưu đồ giải thuật và tiến hành lập trình cho mạch
1.2.2 Với sản phẩm mô hình:
Những yếu tố cần thiết:
- Điều chỉnh giới hạn hoạt động và tốc độ động cơ bằng bàn phím ngoài.
- Đo giới hạn của động cơ hiển thị lên màn hình LCD
- Dựa vào tốc độ động cơ đo được, có khả năng đặt tốc độ cho động cơ theo ý muốn bằng việc thiết lập ngoài bàn phím.
- Đưa ra cảnh báo khi thiết lập quá tốc độ tối đa hoạt động của động cơ.
Phương pháp nghiên cứu, Phạm vi và giới hạn
Phương pháp nghiên cứu lý thuyết:
- Dựa vào kiến thức đã học trong một số môn học như: cơ sở hệ thống tự động, cảm biến và hệ thống đo, tìm hiểu qua Internet, sách vở,…
- Áp dụng những phương pháp thiết kế, phân tích, xử lý số liệu, xây dựng mô hình trên phần mềm mô phỏng.
- Hiểu được nguyên tắc hoạt động của cảm biến, vi điều khiển và các thiết bị, linh kiện cần thiết trong hệ thống Từ đó đặt ra các vấn đề cần giải quyết và xây dựng hệ thống
- Vận dụng ngôn ngữ lập trình C/C++.
- Sử dụng các phần mềm hỗ trợ: Arduino IDE, Proteus,…
Phương pháp nghiên cứu mô phỏng:
- Mô hình hóa thiết kế hệ thống và mô hình hóa thiết kế mạch điện sử dụng các kiến thức lý thuyết để xây dựng mô hình của hệ thống và mạch điện kết nối trên phần mềm Proteus.
- Xây dựng, thiết kế phần điều khiển trên phần mềm arduino IDE để xây dựng code điều khiển cho hệ thống theo đúng yêu cầu bài toán đặt ra
1.3.2 Phạm vi và giới hạn nghiên cứu:
- Nghiên cứu cảm biến khí Hall, Modul điều chỉnh tốc độ động cơ, Arduino thông qua các kiến thức đã học, tìm hiểu qua sách vở, internet,…
- Đo tốc độ động cơ
- Hiển thị tốc độ động cơ lên màn hình LCD
- Điều khiển được tốc độ của động cơ
- Đưa ra cảnh báo khi quá giới hạn đặt
Ý nghĩa thực tiễn
- Việc đo và điều khiển tốc độ của động cơ luôn là vấn đề thiết thực trong bất kỳ một máy móc hay bất cứ hệ thống nào Chúng ta có thể thấy được các hệ thống đo tốc độ như trong: Các phương tiện giao thông như oto xe máy, tốc độ quay của tuabin gió để xác định tốc độ gió…
- Mục đích sử dụng: Đo và kiểm soát được tốc độ giúp con người có thể biết được tốc độ hiện trạng động cơ đang hoạt động và có sự tác động nhằm thay đổi tốc độ sao cho phù hợp với mục đích hoạt động mong muốn thực hiện.
- An toàn: Giảm thiểu trường hợp lựa chọn sai động cơ làm cho có hiện tượng quá tải máy móc khiến việc hỏng hóc máy móc và trang thiết bị.
XÂY DỰNG MÔ HÌNH HỆ THỐNG
Thiết kế sơ đồ khối hệ thống
2.1.1 Sơ đồ khối hệ thống:
Hình 2.1 Sơ đồ khối hệ thống
2.1.2 Nhiệm vụ chức năng của từng khối:
- Bàn phím: Đưa tín hiệu điều khiển hoạt động của động cơ, tốc độ động cơ theo nhu cầu vào Arduino.
- Nguồn 12V: Cấp nguồn cho “Arduino Uno R3” và “Driver điều khiển tốc độ L298”.
+ Nhận tín hiệu thiết lập tốc độ động cơ từ bàn phím và điều khiển động hoạt động trên tốc độ đã được thiết lập từ bàn phím
+ Đưa tốc độ thực tế động cơ hiện thị lên màn LCD
+ Hệ thống sẽ đưa ra cảnh báo khi thiết lập tốc độ quá tốc độ giới hạn của động cơ
- Driver điều khiển tốc độ L298: Có khả năng điều khiển 2 động cơ DC nhờ vào khả năng điều khiển bo mạch vi điều khiển Arduino Từ đó nhằm mục đích thay đổi tốc độ của Động cơ DC Ở đây sử dụng để điều khiển tốc độ cho 1 động cơ DC.
- Động cơ DC: Động cơ điện 1 chiều có gắn encoder tương đối
- Cảm biến Hall: Đưa tín hiệu xung về Arduino
- LCD: Được sử dụng để hiện thị trạng thái hoặc các thông số: Ở đây sử dụng để hiện thị tốc độ động cơ và lời cảnh báo khi tốc độ vượt quá cho phép
- I2C: LCD có quá nhiều chân gây khó khăn trong quá trình đấu nối và chiếm dụng nhiều chân trên vi điều khiển nên sử dụng module I2C và giải quyết vấn đề này Thay vì mất 6 chân vi điều khiển thì module I2C thì chỉ tốn 2 chân để kết nối
Phân tích và lựa chọn cảm biến
- Cảm biến Hall là loại cảm biến dùng để phát hiện từ tính của nam châm
- Cảm biến hiệu ứng Hall được sử dụng cho các ứng dụng phát hiện độ gần, định vị, phát hiện tốc độ và cảm biến hiện tại.
- Ví dụ: Bạn đưa một cục nam châm lại gần cảm biến Hall thì cảm biến sẽ phát ra một tìn hiệu và từ tín hiệu đó bạn có thể thực hiện một hành động mà mình đã cài đặt trước.
Hình 2.2.Hình ảnh cảm biến Hall
Tìm hiểu về hiệu ứng hall:
- Ban đầu ta có 1 thanh kim loại và sau đó ta cấp nguồn điện vào 2 đầu của tấm kim loại khi đó sẽ xuất hiện dòng điện đó là dòng dịch chuyển của các electron chạy từ đầu này sang đầu kia của tấm kim loại.
- Sau đó ta đặt một nam châm điện vuông góc với tấm kim loại có cực S gần với tấm kim loại khi đó sẽ làm lệnh các electron khỏi vị trí ban đầu vì cùng dấu thì đẩy nhau khác dấu là hút nhau Nếu ta coi vị trí ban đầu khi các electron chưa bị dịch chuyển là mức 0, khi đó các electron bị từ trường của nam châm dịch chuyên khỏi vị trí mốc sẽ là âm còn phía trên mức 0 sẽ xuất hiện các điện tích dương và nếu ta đo đồng hồ vào 2 điểm này sẽ xuất hiện 1 điện áp.
Như vậy ta có thể phát biểu hiệu ứng Hall là một hiệu ứng vật lý được thực hiện khi ta áp dụng một từ trường vuông góc lên một 1 bảng làm bằng kim loại hay chất dẫn điện nói chung (thanh Hall) đang có dòng điện chảy qua lúc đó ta nhận được một hiệu điện thế U (hiệu điện thế Hall) sinh ra tại 2 mặt đối diện của thanh Hall.
2.2.2 Cấu tạo của cảm biến Hall
Cảm biến hall có 3 chân là:
- Chân 1: Chân cấp nguồn cho cảm biến hall hoạt động
2.2.3 Nguyên lý hoạt động của cảm biến Hall:
- Cảm biến Hall hoạt động dựa theo nguyên lí của hiệu ứng Hall Hiệu điện thế cảm biến hall rất nhỏ (vài uV) và vì vậy các thiết bị thường được sản xuất tích hợp với bộ khuếch.
Hình 2.5 Sơ đồ mạch của cảm biến Hall
- Có hai loại cảm biến hall Một loại có đầu ra Analog và một loại có đầu ra Digital Cảm biến hall có đầu ra Analog bao gồm bộ điều chỉnh điện áp (Regulator), thành phần hall (Hall Element), bộ khuếch đại (High Gain Amplifer) Từ sơ mạch chúng ta thấy đầu ra cảm biến là Analog và tỉ lệ với đầu ra thanh phần hall hoặc cường độ từ trường Các loại cảm biến này phù hợp và được sử dụng để đo khoảng cách vì đầu ra tuyến tính liên tục của chúng.
Hình 2.6 Dạng tín hiệu Output của cảm biến Hall
- Mặt khác, các cảm biến có đầu ra Digital chỉ cung cấp hai trạng thái đầu ra, hoặc là “ON” hoặc “OFF” Các loại cảm biến này có một phần tử bổ sung, như được minh họa trong sơ đồ mạch Đó là Trigger Schmitt cung cấp độ trễ hoặc hai ngưỡng ngưỡng khác nhau để đầu ra cao hoặc thấp
2.2.4 Tính năng và ví dụ của cảm biến Hall:
- Sử dụng làm công tắc
- Sử dụng đo tốc độ động cơ
- Sử dụng xác định vị trí vật thể…
- Một ví dụ về loại cảm biến này là công tắc hall Chúng thường được sử dụng như công tắc giới hạn, ví dụ trong máy in 3D và Máy CNC, cũng như để phát hiện và định vị trong các hệ thống tự động hóa công nghiệp.
- Các ứng dụng hiện đại khác của cảm biến Hall Effect đang đo tốc độ bánh xe hoặc RPM cũng như xác định vị trí của trục khuỷu hoặc trục cam trong các hệ thống động cơ Những cảm biến này bao gồm thành phần Hall và nam châm vĩnh cửu được đặt gần một đĩa răng gắn trên trục quay.
Hình 2.7 Ví dụ của cảm biến Hall
- Khoảng cách giữa cảm biến và hàm răng của đĩa rất nhỏ nên mỗi lần một chiếc răng vượt qua cảm biến nó sẽ thay đổi từ trường xung quanh sẽ làm cho đầu ra của cảm biến cao hoặc thấp Vì vậy, đầu ra của cảm biến là một tín hiệu sóng vuông có thể dễ dàng được sử dụng để tính toán RPM của trục quay.
- Khi có nam châm quẹt qua rất nhanh thì Trigger Smith sẽ giữ chậm tín hiệu này
1 khoảng thời gian để cho cảm biến có thể xử lý dễ dàng Trong thực tế có nhiều cảm biến hall có Schmitt Trigger bên trong hoặc không có Tín hiệu ra output sẽ qua 1 con transistor để hở cực C Vậy ta có sơ đồ khối hoàn chỉnh của cảm biến Hall như sau
Hình 2.8 Sơ đồ khối mạch cảm biến Hall
- Đầu ra: Digital (mức thấp 0v, mức cao 3v)
- Khoảng cách cảm biến: 0 – 10mm( từ trường của nam châm càng mạnh khoảng cách càng xa)
2.2.6 Cách đấu chân với cảm biến Hall:
Phân tích và lựa chọn bộ điều khiển
- Arduino là một bo mạch vi điều khiển được sử dụng để cảm nhận và điều khiển nhiều đối tượng khác nhau Nó có thể thực hiện nhiều nhiệm vụ lấy tín hiệu từ cảm biến đến điều khiển đèn, động cơ, và nhiều đối tượng khác Ngoài ra mạch còn có khả năng liên kết với nhiều module khác nhau như module đọc thẻ từ, ethernet shield, sim900A,… để tăng khả năng ứng dụng của mạch.
- Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM, Atmel 32-bit,… Hiện phần cứng của Arduino có tất cả 6 phiên bản, Tuy nhiên phiên bản thường được sử dụng nhiều nhất là Arduino Uno và Arduino Mega.
- Phần mềm lập trình cho mạch Arduino là phần mềm IDE
Hình 2.10 Cấu tạo của Arduino
- Đây chính là loại board đơn giản nhất Dữ liệu số bao gồm 14 chân, đầu vào gồm 6 chân 5V, khả năng phân giải là 1024 mức, tốc độ 16MHz, điện áp từ 7V đến 12V Kích thước của Board này là 5,5x7cm.
- Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ có
2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối).
Thông số của Arduino Uno R3:
Bảng thông số của Arduino Uno R3
Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (cấp qua cổng USB)
Tần số hoạt động 16 MHz
Dòng tiêu thụ Khoảng 30 mA Điện áp vào khuyên dùng 7 – 12V DC Điện áp vào giới hạn 6 – 20V DC
Số chân Digital I/O 14 (6 chân hardware PWM)
Số chân Analog 6 (độ phân giải 10 bit)
Dòng tối đa trên mỗi chân I/O 30 mA
Dòng ra tối đa (5V) 500 mA
Dòng ra tối đa (3.3V) 50 mA
Bộ nhớ flash 32 KB (Atmega328)
Bảng 2.1 Bảng thông số của Arduino Uno R3
- Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V Thường thì cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu không có sẵn nguồn từ cổng USB Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, sẽ làm hỏng Arduino UNO.
- GND (Gound): cực âm của nguồn điện cấp cho Arduino UNO Khi dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với nhau.
- 5V: cấp điện áp 5V đầu ra Dòng điện tối đa cho phép ở chân này là 500mA.
- 3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA.
- Vin (voltage input): để cấp nguồn ngoài cho Arduino UNO, nối cực dương của nguồn với chân này và cực âm của nguồn với chân GND.
- IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở chân này Và dĩ nhiên nó luôn là 5V Mặc dù vậy không được lấy nguồn 5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn.
- RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ.
- Arduino UNO không có bảo vệ cắm ngược nguồn vào Do đó phải hết sức cẩn thận, kiểm tra các cực âm – dương của nguồn trước khi cấp cho Arduino UNO. Việc làm chập mạch nguồn vào của Arduino UNO sẽ biến nó thành một miếng nhựa chặn giấy cho nên dùng nguồn từ cổng USB nếu có thể.
- Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra cho các thiết bị khác, không phải là các chân cấp nguồn vào Việc cấp nguồn sai vị trí có thể làm hỏng board Điều này không được nhà sản xuất khuyến khích.
- Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi điều khiển
- Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog của ArduinoUNO nếu vượt quá 200mA sẽ làm hỏng vi điều khiển.
- Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp dưới 6V có thể làm hỏng board
- Module điều khiển động cơ L298 là bộ điều khiển sử dụng mạch cầu H để dễ dàng điều khiển chiều quay và tốc độ của tối đa 2 động cơ DC.
- Module này dễ sử dụng, chi phí thấp, dễ lắp đặt Module L298N được dùng để chế tạo xe điều khiển, xe dò đường, các thiết bị sử dụng động cơ DC hoặc động cơ bước … sử dụng kết hợp với vi điều khiển.
- Dòng tối đa cho mỗi cầu H: 2A
- Điện áp tín hiệu điều khiển: +5 V ~ +7 V
- Dòng tín hiệu điều khiển: 0 ~ 36mA
- Công suất hao phí: 20W (khi nhiệt độ t = 75℃)
Sơ đồ chân của Modul L298
Hình 2.21 Sơ đồ chân của Modul L298
Chức năng của các chân:
- Out 1, Out 2 và Out 3 Out 4: Các chân này sẽ được nối với động cơ DC hoặc động cơ bước.
- Bốn chân Input( Input 1, Input 2, Input 3, Input 4): Các chân nhận tín hiệu điều khiển
- Hai chân cho phép ENA và ENB dùng để điều khiển mạch cầu H trong IC L298N Nếu ở mức logic “1” (nối với nguồn 5V) cho phép mạch cầu H hoạt động, nếu ở mức logic “0” thì mạch cầu H không hoạt động Các chân này cũng được dùng để điều khiển tốc độ của động cơ.
- Khi ENA = 0: Động cơ không quay với mọi đầu vào
+ INT1 = 1, INT2 = 0: Động cơ quay thuận.
+ INT1 = 0, INT2 = 1: Động cơ quay nghịch
+ INT1 = INT2: Động cơ dừng quay ngay lập tức
- Với ENB, INT3, INT4 cũng tương tự quy luật trên.
Hình 2.32 Nguyên tắc hoạt động của L298
Thiết kế mạch đo, mô hình hóa và mô phỏng hệ thống
2.4.1 Mô phỏng bằng phần mềm Proteus:
Sử dụng phần mềm mô phỏng Proteus để vẽ mạch và chạy mô phỏng
Hình 2 4 Mô phỏng mô hình và nối dây trên phần mềm proteus
Nguyên tắc nhập xuất dữ liệu từ bàn phím để điều khiển:
Hình 2 5 Nguyên tắc nhập dữ liệu điều khiển từ bàn phím
Các bước cụ thể để thiết lập tốc độ:
- Bước 1 Nhấn phím * để bật.
- Bước 2 Nhấn * để nhập tốc độ.
- Bước 3 Nhấn # để xoá toàn bộ số vừa nhập( nếu nhập sai).
- Bước 4 Nhấn * để nạp tốc độ.
- Bước 5 Nhấn * để thiết lập tốc độ khác.
Thông số hiện thị trên màn hình LCD:
- INPUT: Thông số tốc độ được thiết lập từ bàn phím
- OUTPUT: Tốc độ thực của động cơ đang hoạt động được đo từ encoder tương đối quang.
Hình 2.65 Ví dụ về thông số hiện thị trên LCDFigure 0-1
2.4.2 Thiết kế mô hình hệ thống bằng phần mềm Solidworks:
Sử dụng phần mềm solidworks để thiết kế khung và bố chí linh kiện hợp lý trước khi thực hiện lắp ráp Được thiết kế dạng hộp chữ nhật để cố định 3 linh kiện: Động cơ DC, Arduino, Modul L298
Hình 2.16 Bố trí các linh kiện trong hộp
Bộ phận Roto của động cơ và các cổng Nguồn ngoài và cổng USB của Arduino được thiết kế hướng ra ngoài hộp thuận tiện cho việc sử dụng:
Hình 2.77 Mô hình phần mạch
Màn LCD và Bàn Phím điều khiển sẽ được thiết kế ở phần nắp hộp để thuận tiện quá trình hiện thị tốc độ và điều khiển tốc độ.
Hình 2.18.Thiết kế LCD và Bàn phím
Mô hình hoàn chỉnh thiết kế trên solidworks
Hình 2.19 Mô hình mô phỏng Solidworks hoàn chỉnh
CHẾ TẠO VÀ THỬ NGHIỆM
Chế tạo các bộ phận cơ khí
3.2 Xây dựng chương trình điều khiển
3.2.1 Thiết kế hệ thống sơ đồ khối sơ đồ khối
3.2.2 Xây dựng chương trình điều khiểns
SimpleKalmanFilter loc(2,2,0.001); const byte sohang = 4; const byte socot = 3; char hexaKeys[sohang][socot] PID controller
}; byte pinhang[sohang] = {7,8,9,10}; byte pincot[socot] = {11,12,13};
Keypad customkeypad = Keypad(makeKeymap(hexaKeys), pinhang, pincot, sohang, socot);
#define enA 6 double T; double xung; double Error, Error1, Error2; double alpha, beta, gamma, Kp, Ki, Kd; double Output, LastOutput; double Speed; int SetSpeed; int Begin1 = 0; char yeucau[3]; void setup()
Serial.begin(9600); pinMode(encoderA,INPUT_PULLUP); pinMode(encoderB,INPUT_PULLUP); pinMode(in1,OUTPUT); pinMode(in2,OUTPUT); pinMode(enA,OUTPUT); lcd.init(); lcd.backlight();
{ if(digitalRead(encoderB) == LOW) xung++; else xung ;
Speed = loc.updateEstimate(Speed); // tang 1 xung = 0;
Error = SetSpeed - Speed; alpha = 2*T*Kp + Ki*T*T + 2*Kd; beta = T*T*Ki - 4*Kd - 2*T*Kp; gamma = 2*Kd;
Output = (alpha*Error + beta*Error1 + gamma*Error2 + 2*T*LastOutput)/(2*T);
{ analogWrite(enA,Output); digitalWrite(in1,HIGH); digitalWrite(in2,LOW);
{ analogWrite(enA,0); digitalWrite(in1,LOW); digitalWrite(in2,LOW);
Start(); char test; test = customkeypad.getKey(); if(test)
Serial.print("PID: "); Serial.println(Speed); lcd.setCursor(0,0); lcd.print("INPUT: "); lcd.print(SetSpeed); lcd.setCursor(0,1); lcd.print("OUTPUT: "); lcd.print(Speed);
{ lcd.setCursor(0,0); lcd.print("INPUT: "); int r = 8; int i = 0; while(i < 4)
{ lcd.setCursor(0,1); lcd.print("OUTPUT: "); lcd.print(Speed); char key = customkeypad.getKey(); if(key)
Del(yeucau); i = 0; r = 8; lcd.clear(); lcd.setCursor(0,0); lcd.print("INPUT: ");
{ lcd.setCursor(r,0); lcd.print(key); yeucau[i] = key; r++; i++;
String e; int x; for(int i=0;i