1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

DIY smart hút bụi làm sạch sử dụng arduino

110 121 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 110
Dung lượng 1,82 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giá tr đị ược chia cho hai vì ray đi v phía trề ước và phía sau bao ph cùng m t kho ngủ ộ ảcách... digitalWrite12,LOW; delay500;Serial.print"backward"; digitalWrite9,LOW; digitalWrite10,

Trang 1

DIY Smart hút b i làm s ch s  d ng Arduino ụ ạ ử ụ

B iở B.Aswinth Raj 23 Nh n xétậ

Arduino d a trên tr  ng i Tránh máy hút b i làm s ch ự ở ạ ụ ạ

Hi guys, b n là m t newbie cho th  gi i c a Robotics ho c đi n t ?ạ ộ ế ớ ủ ặ ệ ử  Ho c B n đangặ ạtìm ki m m t d  án đ n gi n nh ng m nh m  đ  làm cho b n bè và giáo viên  nế ộ ự ơ ả ư ạ ẽ ể ạ ấ

tượng? Sau đó, đây là n i.ơ

Trong d  án này, chúng tôi s  s  d ng s c m nh c a H  th ng Nhúng và Đi n t  đự ẽ ử ụ ứ ạ ủ ệ ố ệ ử ể

t o ra robot c a riêng chúng tôi có th  giúp chúng tôi gi  n i   ho c n i làm vi c g nạ ủ ể ữ ơ ở ặ ơ ệ ọgàng và g n gàng.ọ  Robot này là máy hút b i có  bánh xe b n bánh đ n gi nố ơ ả  , có thể

thông minh tránh ch ướ ng ng i v t ạ ậ và hút chân không sàn cùng m t lúc.ộ  Ý tưởngnày l y c m h ng t  máy hút b i n i ti ngấ ả ứ ừ ụ ổ ế  Robot Roomba được hi n th  trong hìnhể ị

dưới đây

Trang 2

Ý tưởng c a chúng tôi là làm cho m t robot đ n gi n ngay t  đ u có thủ ộ ơ ả ừ ầ ể t  đ ngự ộ tránh nh ng tr  ng i trong khi d n d p sàn nhà ữ ở ạ ọ ẹ  . Tin tưởng tôi m i ngọ ười th t vuiậ

v !ẻ

 

V t li u và thành ph n b t bu c: ậ ệ ầ ắ ộ

Đượ ồc r i, bây gi  chúng tôi có ý tờ ưởng về Robot Máy hút b i T  đ ng c aụ ự ộ ủ  chúng tôi

và chúng tôi bi t chúng tôi đang làm gì.ế  Vì v y, chúng ta hãy xem xét n i chúng ta nênậ ơ

b t đ u th c hi n c a chúng tôi.ắ ầ ự ệ ủ  Đ  xây d ng m t robot c a ý tể ự ộ ủ ưởng c a chúng tôi,ủ

trước tiên chúng ta c n ph i quy t đ nh nh ng đi u sau:ầ ả ế ị ữ ề

 Lo i vi đi u khi nạ ề ể

 C m bi n yêu c uả ế ầ  

 Yêu c u đ ng cầ ộ ơ

 V t li u khung xeậ ệ

Bây gi , cho phép chúng tôi quy t đ nh v  t ng đi m nêu trên.ờ ế ị ề ừ ể  B ng cách này, s  r tằ ẽ ấ

h u ích n u b n không ch  xây d ng robot làm s ch nhà này mà còn cho b t k  robotữ ế ạ ỉ ự ạ ấ ỳnào khác mà làm n i b t trí tổ ậ ưởng tượng c a b n.ủ ạ

 

Lo i vi đi u khi n: ạ ề ể

Trang 3

Ch n Vi đi u khi n là m t nhi m v  r t quan tr ng, vì b  đi uọ ề ể ộ ệ ụ ấ ọ ộ ề  khi n này s  ho tể ẽ ạ

đ ng nh  b  não ộ ư ộ  robot c a b n.ủ ạ  H u h t các d  án T  làm đầ ế ự ự ược th c hi n xungự ệquanh Arduino và Raspberry   Pi ,   nh ng   không   ph i   là   nh   nhau.ư ả ư  Không   cóMicrocontroller c  th  mà b n có th  làm vi c trên.ụ ể ạ ể ệ  T t cấ ả ph  thu c vào yêu c u vàụ ộ ầ

Gi ng nh  m tố ư ộ Tablet không th  để ược thi t k  trên Microcontroller 8 bit và không cóế ếgiá tr  s  d ng ARM cortex m4 đ  thi t k  m t máy tính đi n t ị ử ụ ể ế ế ộ ệ ử

L a ch n vi đi u khi n hoàn toàn ph  thu c vào các yêu c u c a s n ph m:ự ọ ề ể ụ ộ ầ ủ ả ẩ

1. Trước tiên yêu c u k  thu t đầ ỹ ậ ược xác đ nh nh  s  lị ư ố ượng yêu c u I / O pins, kíchầ

thước flash, s  lố ượng / lo i giao th c truy n thông, b t k  tính năng đ c bi t vvạ ứ ề ấ ỳ ặ ệ

2. Sau đó li t kê các b  đi u khi n đệ ộ ề ể ượ ực l a ch n theo yêu c u k  thu t.ọ ầ ỹ ậ  Danh sáchnày ch a b  đi u khi n t  các nhà s n xu t khác nhau.ứ ộ ề ể ừ ả ấ  Nhi u b  đi u khi n  ng d ngề ộ ề ể ứ ụ

c  th  có s n.ụ ể ẵ

3. Sau đó b  đi u khi n độ ề ể ược hoàn t t d a trên chi phí, tính kh  d ng và s  h  tr  tấ ự ả ụ ự ỗ ợ ừnhà s n xu t.ả ấ

 

N u b n không mu n làm r t nhi u nâng n ng và ch  mu n tìm hi u nh ng đi u cế ạ ố ấ ề ặ ỉ ố ể ữ ề ơ

b n c a vi đi u khi n và sau đó có đả ủ ề ể ược  sâu vào nó, sau  đó b n có th  ch nạ ể ọArduino. Trong d  án này, chúng tôi s  s  d ngự ẽ ử ụ  Arduino . Trước đây chúng tôi đã t oạ

ra nhi u lo iề ạ Robot s  d ng Arduinoử ụ  :

 Robot ki m soát DTMF s  d ng Arduinoể ử ụ

 Line Follower Robot s  d ng Arduinoử ụ

 Robot đi u khi n b ng máy tính s  d ng Arduinoề ể ằ ử ụ

 Robot đi u khi n b ng WiFi s  d ng Arduinoề ể ằ ử ụ

 Accelerometer D a trên Tay c  ch  Ki m soát Robot s  d ng Arduinoự ử ỉ ể ử ụ

 Xe đ  ch i có đi u khi n Bluetooth b ng Arduinoồ ơ ề ể ằ

Trang 4

B  c m bi n siêu âm ộ ả ế  bao g m hai m t tròn mà trong đó m t cái đồ ắ ộ ược s  d ng đử ụ ểtruy n tín hi u c a Hoa K  và m t tín hi u khác đ  nh n các tia nề ệ ủ ỳ ộ ệ ể ậ ước M ỹ  Th i gianờ

c a các tia đ  nh n đủ ể ậ ược truy n và nh n l i đề ậ ạ ược tính b i vi đi u khi n.ở ề ể  Bây gi , vìờ

th i gian và t c đ  c a âm thanh đờ ố ộ ủ ược bi t, chúng ta có th  tính toán kho ng cáchế ể ảtheo các công th c sau đây.ứ

 Kho ng cách = Th i gian x T c đ  âm thanh chia cho 2ả ờ ố ộ

Trang 5

Giá tr  đị ược chia cho hai vì ray đi v  phía trề ước và phía sau bao ph  cùng m t kho ngủ ộ ảcách. Gi i thích chi ti t v  vi c s  d ngả ế ề ệ ử ụ  c m bi n siêu âm đả ế ược đ a ra   đâyư ở  .

 

Các đ ng c  yêu c u: ộ ơ ầ

Có khá nhi u đ ng c  đề ộ ơ ược s  d ng trong lĩnh v c robot h c nh ng ngử ụ ự ọ ữ ườ ử ụi s  d ng

nh t là đ ng c  bấ ộ ơ ước và servo. Vì d  án này không có b t k  thi t b  truy n đ ngự ấ ỳ ế ị ề ộ

ph c   t p   ho c   b   mã   hoá   quay,   chúng   tôi   s   s   d ng   m tứ ạ ặ ộ ẽ ử ụ ộ PMDC   Motor bình

thường . Nh ng pin c a chúng tôi là m t chút c ng k nh và n ng n  vì v y chúng tôiư ủ ộ ồ ề ặ ề ậ

s  d ng b n đ ng c  đ  lái xe c a chúng tôi t t c  b n robot là cùng m t đ ng cử ụ ố ộ ơ ể ủ ấ ả ố ộ ộ ơPMDC. Nh ng b n nên đ t vào đ ng c  bư ạ ặ ộ ơ ước và đ ng c  servo m t khi b n c mộ ơ ộ ạ ả

th y tho i mái v i đ ng c  PMDC.ấ ả ớ ộ ơ

 

Robot v t li u khung: ậ ệ

Là m t sinh viên hay m t ngộ ộ ười yêu thích ph n khó nh t trong khi làm m t robot làầ ấ ộchu n b  khung g m c a robot c a chúng tôi.ẩ ị ầ ủ ủ  V n đ  là v i s  s n có c a các công cấ ề ớ ự ẵ ủ ụ

và v t li u.ậ ệ  V t li u lý tậ ệ ưởng nh t cho d  án này là Acrylic, nh ng nó đòi h i khoan vàấ ự ư ỏcác công c  khác đ  làm vi c v i nó.ụ ể ệ ớ  Do đó gỗ được ch n đ  m i ngọ ể ọ ười có th  làmể

Dung l ượ ng pin:

L a ch n dung lự ọ ượng pin nên là ph n cu i cùng c a chúng tôi vì nó hoàn toàn phầ ố ủ ụthu c vào khung xe và đ ng c  c a b n.ộ ộ ơ ủ ạ    đây pin c a chúng tôi nên lái m t máy hútỞ ủ ộ

b i mà rút ra kho ng 3­5A và b n đ ng c  PMDC.ụ ả ố ộ ơ  Do đó chúng tôi s  yêu c u m t pinẽ ầ ộ

n ng.ặ  Tôi đã ch nọ  12V 20Ah SLAB (Pin axit chì k tế dính ) và chi c c ng k nh c a nóế ồ ề ủlàm cho robot c a chúng tôi có đủ ược b n đ ng c  PMDC đ  kéo gã kh ng l  này.ố ộ ơ ể ổ ồ 

Bây gi  chúng ta đã ch n t t c  các thành ph nờ ọ ấ ả ầ  b t bu cắ ộ  c a chúng taủ  đ  li t kêể ệchúng

Trang 6

Trình đi u khi n mô t  (L293D): ề ể ơ

M t trình đi u khi n đ ng c  là m t mô­đun trung gian gi a Arduino và Motor.ộ ề ể ộ ơ ộ ữ  Đi uềnày là do microcontroller Arduino s  không th  cung c p cho các yêu c u hi n t i choẽ ể ấ ầ ệ ạ

đ ng c  đ  làm vi c nó và ch  có th  cung c p 40mA, do đó v  thêm hi n nay s  làmộ ơ ể ệ ỉ ể ấ ẽ ệ ẽ

h ng b  đi u khi n vĩnh vi n.ỏ ộ ề ể ễ  Vì v y, chúng tôi kích ho t các trình đi u khi n đ ng cậ ạ ề ể ộ ơ

mà l n lầ ượt ki m soát đ ng c ể ộ ơ

Trang 7

Chúng tôi s  s  d ngẽ ử ụ  đ ng c  L293D Motor Driver ICộ ơ  mà có th  cung c p đ n 1A,ể ấ ế

do đó người lái xe này s  nh n đẽ ậ ược thông tin t  Arduino và làm cho đ ng c  ho từ ộ ơ ạ

đ ng nh  mong mu n.ộ ư ố

 

Đó là nó!! Tôi đã đ a ra h u h t các thông tin quan tr ng nh ng trư ầ ế ọ ư ước khi chúng tôi

b t   đ u   xây   d ng   robot,   b n   nên   đi   qua   các   thông   s   k   thu t   c a   L293D   vàắ ầ ự ạ ố ỹ ậ ủArduino. N u b n có b t k  nghi ng  ho c v n đ  nào b n có th  liên h  v i chúng tôiế ạ ấ ỳ ờ ặ ấ ề ạ ể ệ ớqua ph n nh n xét.ầ ậ

 

Xây d ng và th  nghi m Robot: ự ử ệ

Máy hút b i là ph n quan tr ng nh t trong vi c đ t Robot.ụ ầ ọ ấ ệ ặ  Nó ph i đả ược đ t   gócặ ở nghiêng nh  th  hi n trong hình  nh, đ  nó có th  cung c p ho t đ ng chân khôngư ể ệ ả ể ể ấ ạ ộthích h p.ợ  Máy hút b i không đụ ược ki m soát b iể ở Arduino . M t khi b n b t robot,ộ ạ ậchân không cũng được b t lên.ậ

M t quá trình m t m i c a vi c xây d ng Robot c a chúng tôi là các công trình b ngộ ệ ỏ ủ ệ ự ủ ằ

g ỗ Chúng tôi ph i kh c g  c a chúng tôi và khoan m t s  l  đ  đ t các b  c m bi nả ắ ỗ ủ ộ ố ỗ ể ặ ộ ả ế

và máy hút b i.ụ

B n nênạ  ki m tra Ride Robot  b ng mã sau đây khi b n s p x p Motor và Motorằ ạ ắ ế

trước khi k t n i Sensors.ế ố

Trang 8

PinMode (12, OUTPUT); }

Serial.print ("lùi");

DigitalWrite (9, LOW); DigitalWrite (10, CAO); DigitalWrite (11, LOW); DigitalWrite (12, CAO); }

((((void setup()

{

Serial.begin(9600);

pinMode(9,OUTPUT); pinMode(10,OUTPUT); pinMode(11,OUTPUT); pinMode(12,OUTPUT); }

void loop()

{

delay(1000);

Serial.print("forward"); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,HIGH);

Trang 9

digitalWrite(12,LOW); delay(500);

Serial.print("backward"); digitalWrite(9,LOW); digitalWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(12,HIGH); }

))))

 

Trang 10

N u t t c  m i th  ho t đ ng t t thì b n có th  k t n i các c m bi n v iế ấ ả ọ ứ ạ ộ ố ạ ể ế ố ả ế ớ Arduino nhưtrong S  đ  m ch và s  d ngơ ồ ạ ử ụ  Mã s  đ y đố ầ ủ   cu i.ở ố  Nh  b n th y, tôi đã l p m t c mư ạ ấ ắ ộ ả

bi n   siêu   âm   lên   phía   trế ước   và  hai   b   c m   bi n   h ng   ngo i     c   hai   bên   c aộ ả ế ồ ạ ở ả ủrobot. T n nhi t đả ệ ượ ắc l p vào L293D ch  trong trỉ ường h p vi m ch nóng lên nhanh.ợ ạ 

B n cũng có th  thêm vài ph n ph  nh  th  nàyạ ể ầ ụ ư ế

 

Đây là m tộ s p x p Sweepingắ ế  có th  để ược đ t trên c  hai đ u c a ph n phía trặ ả ầ ủ ầ ước

đó s  đ y b i d c theo các m t vào khu v c hút.ẽ ẩ ụ ọ ặ ự

 

H n n a, b n cũng có m t l a ch n đ  làm m tơ ữ ạ ộ ự ọ ể ộ phiên b n nh  h n c a máy hútả ỏ ơ ủ

b i ụ   này nh  th  nàyư ế

Trang 11

Robot   nh   h n   này   đỏ ơ ược   làm   b ng   các   tông   và   ch y   trên   b ng   phát   tri nằ ạ ả ểATMega16. Ph n hút b i đầ ụ ược th c hi n b ng cách s  d ng qu t BLDC và kèm theoự ệ ằ ử ụ ạ

m t h p.ộ ộ  B n có th  áp d ng đi u này n u b n mu n gi  ngân sách th p.ạ ể ụ ề ế ạ ố ữ ấ  Ý tưởngnày cũng ho t đ ng nh ng nó không hi u qu ạ ộ ư ệ ả

 

S  đ  m ch: ơ ồ ạ

Trang 13

Mã cho Máy hút b i này  có th  tìm th y trong ph n Mã dể ấ ầ ưới đây. M t khi k t n iộ ế ố

được hoàn thành và chương trình được đ  vào Arduino, robot c a b n đã s n sàngổ ủ ạ ẵ

đ  b t đ u hành đ ng.ể ắ ầ ộ  Vi c làm vi c c a mã đệ ệ ủ ược gi i thích b ng cách s  d ng cácả ằ ử ụ

nh n xét.ậ  N u b n mu n xem robot này đang ho t đ ng, hãy xemế ạ ố ạ ộ  Video bên dưới. 

H n n a, tôi cũng có k  ho ch đ  hoàn toàn 3D In các ph n trong phiên b n ti p theoơ ữ ế ạ ể ầ ả ế

c a nó.ủ  Tôi cũng s  đẽ ược thêm vài tính năng mát m  và các thu t toán ph c t p đẻ ậ ứ ạ ể

nó bao g m toàn b  di n tích th m và d  dàng đ  x  lý và kích thồ ộ ệ ả ễ ể ử ước nh  g n.ỏ ọ  Vì

v y, hãy theo dõi đ  c p nh t trong tậ ể ậ ậ ương lai

Trang 14

    DigitalWrite (10, LOW);      DigitalWrite (11, HIGH); 

    Ch m tr  (1000);  ậ ễ  

    Serial.print ("rearranged left");      DigitalWrite (8, LOW); 

    DigitalWrite (9, LOW); 

    DigitalWrite (10, CAO);      DigitalWrite (11, LOW); 

   DigitalWrite (9, LOW); 

   DigitalWrite (10, LOW);     DigitalWrite (11, LOW); 

Trang 15

  if (distance >= 200 || distance <= 0){     Serial.println("Out of range");

Trang 16

   digitalWrite(10,LOW);

   digitalWrite(11,LOW);

Trang 17

Đi n tho i di đ ng ki m soát xe Robot b ng G­Sensor và Arduino ệ ạ ộ ể ằ

Trong bài báo này, chúng tôi sẽ đi u khi n chi c xe robot thông qua c m bi nề ể ế ả ế

G c a đi n tho i di đ ng c a chúng tôi và b n s  có th  di chuy n Robot ch  b ngủ ệ ạ ộ ủ ạ ẽ ể ể ỉ ằcách   nghiêng   Đi n   tho i.ệ ạ  Chúng   tôi   cũng   s   s   d ng   ng   d ngẽ ử ụ ứ ụ  Arduino   và

RemoteXY cho Robot Đi u khi n G­Sensor này.ề ể   ng d ng RemoteXY đỨ ụ ược s  d ngử ụ

đ  t o giao di n trong Đi n tho i thông minh đ  ki m soát Robot.ể ạ ệ ệ ạ ể ể  Chúng tôi s  thêmẽthanh đi u khi n trong giao di n đ  Robot có th  đề ể ệ ể ể ược đi u khi n b ng Joystick cũngề ể ằ

nh  nghiêng đi n tho i.ư ệ ạ

Trang 18

G­Sensor ho c c m bi n tr ng l c ặ ả ế ọ ự  c  b n làơ ả  gia t c kố ế trong đi n tho i thông minhệ ạ

được s  d ng đ  đi u khi n hử ụ ể ề ể ướng màn hình c a đi n tho i.ủ ệ ạ  Accelerometer c mả

nh n hậ ướng X, Y, Z c a l c h p d n và xoay màn hình theo s  s p x p c a Đi nủ ự ấ ẫ ự ắ ế ủ ệtho i.ạ  Ngày nay, c m bi n Gyroscope nh y c mả ế ạ ả  và chính xác h nơ  được s  d ngử ụtrong đi n tho i di đ ng đ  quy t đ nh hệ ạ ộ ể ế ị ướng c a màn hình.ủ  Trong d  án c a chúngự ủtôi, xe Robot s  di chuy n, theo hẽ ể ướng xoay đi n tho i, nh  khi chúng tôi nghiêngệ ạ ư

đi n tho i v  phía trệ ạ ề ước, sau đó xe s  di chuy n v  phía trẽ ể ề ước và chúng tôi nghiêng

nó xu ng sau đó xe s  di chuy n ngố ẽ ể ược tr  l i.ở ạ  Đi u này cũng gi ng nh  khi chúng tôiề ố ư

ch i m t s  trò ch i ô tô trong Đi n tho i di đ ng, h  cũng s  d ng c m bi n G đ  diơ ộ ố ơ ệ ạ ộ ọ ử ụ ả ế ểchuy n xe cho phù h p.ể ợ  Ki m tra Video   cu i,ể ở ố  

T o giao di n cho Robot b ng  ng d ng RemoteXY: ạ ệ ằ ứ ụ

Đ  t o giao di n đ  đi u khi n xe Robot b ng  ng d ng RemoteXY, b n s  ph i vàoể ạ ệ ể ề ể ằ ứ ụ ạ ẽ ảliên k t sauế

Http://remotexy.com/en/editor/ Trang web s  gi ng nh  th  nàyẽ ố ư ế

Trang 19

Sau đó t  phía bên trái c a màn hình,ừ ủ  nh t nút chuy n đ i và phím đi u khi n vàặ ể ổ ề ể

đ t nó trong giao di n di đ ng ặ ệ ộ  . Nút s  b t đèn   chân 13 đẽ ậ ở ược k t n i n i b  trongế ố ộ ộArduino và c n đi u khi n s  di chuy n chi c xe robot.ầ ề ể ẽ ể ế  Trang web sau khi đ t công t cặ ắ

và phím đi u khi n s  trông nh  th  này.ề ể ẽ ư ế

Sau đó, chúng ta s  ph iẽ ả đ t nút kích ho t / vô hi u hóa Gặ ạ ệ  cùng v i c n đi u khi n,ớ ầ ề ể

đ  chúng ta có th  di chuy n xe Robot b ng cách nghiêng đi n tho i theo hể ể ể ằ ệ ạ ướng trái,

ph i, lên và xu ng.ả ố  S  d ng nút đó chúng tôi có th  b t và t t c m bi n G, khi c mử ụ ể ậ ắ ả ế ả

bi n G b  t t Xe có th  đế ị ắ ể ược đi u khi n b ng cách di chuy n c n đi u khi n.ề ể ằ ể ầ ề ể  Đ  đ tể ặnút kích ho t / vô hi u hoá G, nh n vào c n đi u khi n mà b n đã đ t trong giao di nạ ệ ấ ầ ề ể ạ ặ ệ

và   phía bên trái s  có m t ph n thu c tính, s  có m t tùy ch n đ  đ t nút c m bi nở ẽ ộ ầ ộ ẽ ộ ọ ể ặ ả ế

Trang 20

G g n thanh đi u khi n, Vì v y hãy đ t nút c m bi n G   b t c  đâu b n mu n.ầ ề ể ậ ặ ả ế ở ấ ứ ạ ố  Trangweb sau đây s  gi ng nh  th  này.ẽ ố ư ế

 

Sau đó, nh p vào nútấ  "Nh n mã ngu n" và l u nó vào máy tính c a b nậ ồ ư ủ ạ  . T i thả ư

vi n tệ ừ đây và l u nó vào th  m c th  vi n Arduino.ư ư ụ ư ệ  Biên d ch mã đã t i xu ng đị ả ố ể

ki m tra xem có l i không.ể ỗ  Đây không ph i là mã mà s  ch y Robot nh ng nó s  giúpả ẽ ạ ư ẽ

đ  trong vi c s  d ng App v i Arduino.ỡ ệ ử ụ ớ  T i xu ng  ng d ng tả ố ứ ụ ừ đây ho c truy c p C aặ ậ ửhàng Play và t i xu ng  ng d ng RemoteXY t  đó cho b n Android Smart Phone.ả ố ứ ụ ừ ạ 

S  đ  m ch và Gi i thích: ơ ồ ạ ả

Trước tiên, chúng ta s  giao ti p b  đi u khi n đ ng c  L298N v i Arduino.ẽ ế ộ ề ể ộ ơ ớ  K t n iế ốENA và ENB pin c a b  đi u khi n đ ng c  v i các pin Arduino 12 và 11 tủ ộ ề ể ộ ơ ớ ươngng

ứ  Hai chân này dành cho đi u khi n PWM c a đ ng c ề ể ủ ộ ơ B ng cách s  d ng cácằ ử ụtheses pins, chúng ta có th  tăng ho c gi m t c đ  c a xe.ể ặ ả ố ộ ủ  Sau đó k t n i IN1, IN2,ế ốIN3 và IN4 v i chân Erduino 10, 9, 8 và 7 tớ ương  ng.ứ  Nh ng chân này s  xoay đ ngữ ẽ ộ

c    c  hai hơ ở ả ướng (theo chi u kim đ ng h  và ngề ồ ồ ược chi u kim đ ng h ).ề ồ ồ

Trang 21

Đ  c p ngu n cho đ ng c , n i đi n c c và âm c a pin vào 12V và m t đ t c a bể ấ ồ ộ ơ ố ệ ự ủ ặ ấ ủ ộ

đi u khi n mô t ề ể ơ Sau đó k t n i 5V và m t đ t t  ế ố ặ ấ ừ b  đi u khi n đ ng c  đ n Arduinoộ ề ể ộ ơ ếVin và m t đ t.ặ ấ

Sau đó, chúng ta s  k t n i mô­đun Bluetooth HC­06 v i arduino.ẽ ế ố ớ  N u b n có HC­05,ế ạthì nó cũng s  làm vi c.ẽ ệ  K t n i VCC và m t đ t c a mô đun Bluetooth v i 5V và m tế ố ặ ấ ủ ớ ặ

đ t c a Arduino.ấ ủ  Sau đó, k t n i pin TX c a Bluetooth Module v i pin 2 c a Arduinoế ố ủ ớ ủ

và pin RX đ n pin 3 c a Arduino.ế ủ  Cũng ki m traể  chi c  xe  đ  ch i có đi u khi nế ồ ơ ề ểBluetooth b ng Arduinoằ  đ  tìm hi u thêm v  cách s  d ng Bluetooth v i Arduino.ể ể ề ử ụ ớ

Trang 22

 

Mã gi i thích: ả

Trang 23

Mã Arduino đ y đầ ủ cho chi c xe Robot đi u khi n b ng Đi n tho i di đ ngế ề ể ằ ệ ạ ộ  này

được đ a ra dư ưới đây trong ph n Mã,   đây chúng tôi s  hi u mã này đang ho t đ ngầ ở ẽ ể ạ ộ

nh  th  nào.ư ế

Trước   h t,   chúng   tôi   đã   bao   g m   các   th   vi n   cho   ph n   m m   Serial   vàế ồ ư ệ ầ ềRemoteXY. Th  vi n RemoteXY s  giúp chúng tôi thi t l p  ng d ng b ng Arduino,ư ệ ẽ ế ậ ứ ụ ằthông qua đó chúng tôi s  đi u khi n chi c xe robot.ẽ ề ể ế  Sau đó, chúng tôi đã xác đ nhịcác chân cho mô đun Bluetooth, TX t  module Bluetooth đừ ược k t n i v i pin 2 c aế ố ớ ủArduino đó là pin RX c a Arduino và RX t  mô đun Bluetooth đủ ừ ược k t n i v i pin 3ế ố ớ

c a Arduino Là pin TX c a Arduino và đ t t c đ  truy n c a mô­đun Bluetooth   9600.ủ ủ ặ ố ộ ề ủ ở

# Xác định REMOTEXY_MODE SOFTWARESERIAL

#include <SoftwareSerial.h> // Bao gồm thư viện nối tiếp phần mềm

# Include <RemoteXY.h> // Bao gồm thư viện từ xa

/ * Cài đặt kết nối RemoteXY * /

# Xác định REMOTEXY_SERIAL_RX 2 // xác định pin 2 như RX pin

# Xác định REMOTEXY_SERIAL_TX 3 // xác định pin 3 là chân TX

# Xác định REMOTEXY_SERIAL_SPEED 9600 // đặt tốc độ truyền tại 9600

 

Đo n mã sau s  tăng ho c gi m t c đ  đ ng c ạ ẽ ặ ả ố ộ ộ ơ Khi phím đi u khi n s    gi a, t cề ể ẽ ở ữ ố

đ  s  b ng không và khi nó   hộ ẽ ằ ở ướng v  phía trề ước thì t c đ  s  tăng t  0 đ n 100.ố ộ ẽ ừ ế

T c đ  s  gi m t  0 t i ­100 khi xe s  di chuy n trong hố ộ ẽ ả ừ ớ ẽ ể ướng ngượ ạc l i. Xe cũng có

th  để ược di chuy n t c đ  c  th , đi u này có th  để ố ộ ụ ể ề ể ược th c hi n b ng cách đ a raự ệ ằ ưtín hi u PWM.ệ  Tín hi u PWM s  đệ ẽ ược trao cho các đ ng c  theo vòng xoay c a c nộ ơ ủ ầ

đi u khi n.ề ể

If (motor_speed> 100) motor_speed = 100;

Nếu (motor_speed <-100) motor_speed = -100;

If (motor_speed> 0) {

DigitalWrite (con trỏ [0], CAO);

DigitalWrite (con trỏ [1], LOW);

AnalogWrite (con trỏ [2], motor_speed * 2,55);

}

Else if (motor_speed <0) {

DigitalWrite (con trỏ [0], LOW);

DigitalWrite (con trỏ [1], CAO);

AnalogWrite (con trỏ [2], (-motor_speed) * 2,55);

}

Else {

Trang 24

DigitalWrite (con trỏ [0], LOW);

DigitalWrite (con trỏ [1], LOW);

AnalogWrite (con trỏ [2], 0);

}

 

Trong đo n mã sau, chúng ta đã đ nh nghĩa hàm s  đạ ị ẽ ược g i b t c  khi nào chúng taọ ấ ứ

s  di chuy n c n đi u khi n trong  ng d ng.ẽ ể ầ ề ể ứ ụ  Khi chúng tôi s  b t chuy n đ i trong cácẽ ậ ể ổ

ng d ng sau đó logic 1 s  đ c trao cho pin 13 c a Arduino mà b t Trên pin

DigitalWrite (ledpin, (RemoteXY.switch_1 == 0)? LOW: CAO);

Tốc độ (first_motor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x);

Tốc độ (second_motor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x);

Trang 26

Đây là cách chúng tôi có th  s  d ngể ử ụ  c m bi n tr ng l c bên trong Đi n tho i diả ế ọ ự ệ ạ

đ ng c a chúng tôi ộ ủ  đ  di chuy n Robot.ể ể  B n có th  ti p t c th  nghi m và tìm raạ ể ế ụ ử ệcách s  d ngử ụ  c m bi n G đ  ki m soát nh ng th  bên ngoài b ng cách liên k tả ế ể ể ữ ứ ằ ế

m t Microcontorller ộ    gi a (nh  Arduino).ở ữ ư

#define REMOTEXY_SERIAL_TX 3 // xác đ nh pin 3 nh  pin TX ị ư  

#define REMOTEXY_SERIAL_SPEED 9600 // đ t t c đ  truy n t i 9600 ặ ố ộ ề ạ

Unsigned char RemoteXY_CONF [] = // c u hình t  xa ấ ừ  

  đ ượ c ký k t char joystick_1_x; ế  / / Phím đi u khi n x­tr c ề ể ụ   

  ký char joystick_1_y; // thanh đi u khi n tr c y ề ể ụ  

Trang 27

(((( #define REMOTEXY_MODE SOFTWARESERIAL

#include <SoftwareSerial.h> //Including the software serial library

#include <RemoteXY.h> //Including the remotexy library

/* RemoteXY connection settings */

#define REMOTEXY_SERIAL_RX 2 //defining the pin 2 as RX pin

Trang 28

#define REMOTEXY_SERIAL_TX 3 //defining the pin 3 as TX pin

#define REMOTEXY_SERIAL_SPEED 9600 //setting baudrate at 9600

digitalWrite (ledpin, (RemoteXY.switch_1==0)?LOW:HIGH);

Speed (first_motor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); Speed (second_motor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x); }

Trang 29

unsigned char RemoteXY_CONF[] =       //remotexy configuration   { 3,0,23,0,1,5,5,15,41,11 

  ,43,43,1,2,0,6,5,27,11,5 

  ,79,78,0,79,70,70,0 };  

    

struct {      //Function for declaring the variables   signed char joystick_1_x;         //joystick x­axis 

Trang 30

Hi n th  m t hình  nh trên màn hình LCD đ  h a b ng cách s  d ng 8.051 Vi đi u khi n ể ị ộ ả ồ ọ ằ ử ụ ề ể

Trong cu c s ng hàng ngày c a chúng tôi, chúng ta th y nhi u lo i thi t b  đ  hi n thộ ố ủ ấ ề ạ ế ị ể ể ịvăn b n, hình  nh và đ  h a.ả ả ồ ọ  LCD là m t trong nh ng thi t b  hi n th  đi n t  ph  bi nộ ữ ế ị ể ị ệ ử ổ ế

nh t và đấ ược s  d ng trong h u h t t t c  các d  án hi n th  m t s  lo i thông tin.ử ụ ầ ế ấ ả ự ể ị ộ ố ạ  Cónhi u lo i màn hình LCD đề ạ ược s  d ng trong các D  án Đi n t ử ụ ự ệ ử Chúng tôi đã sử

d ng LCD 16X2 trong nhi u d  án c a chúng tôi và cũng s  d ngụ ề ự ủ ử ụ  TFT LCD v iớArduino . B n có th  tìm th y t t c  các d  án 16X2 LCD liên quan c a chúng tôi b ngạ ể ấ ấ ả ự ủ ằcách làm theo liên k t nàyế  , bao g m interfacing v i 8051, AVR, Arduinoồ ớ  và nhi uề

h n n a.ơ ữ

Trang 31

Trong   hướng   d n   này,   chúng   ta   s   làmẫ ẽ   Graphic   LCD   interfacing   v i   8.051ớ microcontroller . Trong d  án này, chúng tôi s  gi i thi u cáchự ẽ ớ ệ  hi n th  hình  nhể ị ả trên màn hình LCD đ  ho ồ ạ (GLCD).

Trang 32

M t   màn   hình   16x2   đ n   gi n   có   16   chân   nh ngộ ơ ả ư  hình  LCD có   20   chân. Pin  mô

tả được đ a ra dư ưới đây theo datasheet c a nó:ủ

Trang 33

14 DB7

15 CS1 Chọn Chip CS1 = 1, Chip Chọn tín hiệu cho IC1

16 CS2 Chọn Chip CS2 = 1, Chip Chọn tín hiệu cho IC2

17 RST Đặt lại Đặt lại GLCD

18 VEE Điện áp âm cho điều khiển LCD

19 A Đèn LED trở lại 5 volt

20 K Đèn LED trở lại Đất

 

Hi n th  m t hình  nh trên màn hình LCD đ  h a s  d ng ể ị ộ ả ồ ọ ử ụ 8.051:

Đ  hi n th  hình  nh trên màn hình LCD đ  h a, đ u tiên chúng ta c n ph i chuy nể ể ị ả ồ ọ ầ ầ ả ể

đ i hình  nh đó thành Mã h i, đ  Vi đi u khi n 8051 có th  hi u và đ c nó.ổ ả ộ ể ề ể ể ể ọ  Vì v y,ậchúng ta c n làm theo cácầ  bướ c dưới đây đ  chuy n hình  nh thành mã HEX:ể ể ả

 

B ướ c 1: Đ u tiên chúng ta c n ph i t i xu ng m t  ng d ng chuy n đ i hình  nhầ ầ ả ả ố ộ ứ ụ ể ổ ả(đ nh   d ng   BMP)   thành   Mã   h i.ị ạ ộ  Vì   v y,   t i   vậ ả ề BMP2ASM   Image   Conversion

Application từ liên k t nàyế  , ch  c n Nh p chu t ph i vào liên k t và sau đó nh p vàoỉ ầ ấ ộ ả ế ấ

L u liên k t dư ế ướ ại d ng 

B ướ c   2: Sau   đó,   ch n   hình   nh   b n   mu n   hi n   th   trênọ ả ạ ố ể ị  màn   hình   LCD   đồ

hoạ và chuy n nó sang BMP ể  , (n u nó ch a có đ nh d ng BMP) b ng b t k   ngế ư ị ạ ằ ấ ỳ ứ

d ng nào nh  MS Paint, Photoshop   Ho c b n có th  tìm th y nhi u trang web tr cụ ư ặ ạ ể ấ ề ựtuy n Đ  chuy n đ i đ nh d ng hình  nh.ế ể ể ổ ị ạ ả  Chúng tôi có hình  nh BMP dả ưới đây, v iớkích thước 128x64:

 

B ướ c 3: Bây gi  gi i nén t p BMP2ASM.zip, chúng tôi đã t i v  trong Bờ ả ệ ả ề ước 1 và mởBmp2asm.exe bên trong nó và ch n hình  nh BMPọ ả  

Trang 34

 

B ướ c 4: Bây gi  nh n "Convert" trong c a s   ng d ng BMP2ASM.ờ ấ ử ổ ứ ụ

Trang 36

Gi i thích vi m ch: ả ạ

Trang 37

 

Trang 39

K t n i m ch, choế ố ạ  Interfacing đ  h a LCD đ  8051 Microcontrollerồ ọ ể  , r t d  dàng vàấ ễ

g n gi ng nh  k tầ ố ư ế n i LCD 16x2 đ n 8051ố ế  . Nh ng màn hình LCD 16x2 có 16 chânư

và GLCD có 20 chân

M t n i 10K độ ồ ược s  d ng đ  thi t l p đ  tử ụ ể ế ậ ộ ương ph n cho GLCD.ả  Các khe đi u khi nề ể

c a GLCD RS, R / W và E đủ ược k t n i tr c ti p t iế ố ự ế ớ  s  chânố  89C52 P1.0, P1.1 vàP1.2. Chip ch n pins CS1 và CS2 c a LCD đọ ủ ược k t n i v i pin P1.3 và P1.4 tế ố ớ ươngng

ứ  Chân d  li u DB0­DB7 đữ ệ ược k t n i tr c ti p t i PORT P2.ế ố ự ế ạ  A 7805 Đi u ch nhề ỉ

đi n áp đệ ược s  d ng đ  cung c p 5 volt thử ụ ể ấ ường xuyên. Trong Video trình di n, tôi đãễ

s  d ng ngu n cung c p Arduino.ử ụ ồ ấ

Sau đó, chúng ta đã t o ra m t ch c năng tr ạ ộ ứ ễ

Void delay (int itime)

Ch c năngứ  void lcd_disp_on () được s  d ng đ  B t B t màn hình.ử ụ ể ậ ậ

Ch c năngứ  void setCursorY (int y) được t o ra đ  thi t l p c t trong GLCD vàạ ể ế ậ ộ  t oạ

ra void setCursorX (int x) đ  thi t l p trang trên GLCD.ể ế ậ  T p mã hoàn ch nh đệ ỉ ược đ aư

ra trong Ph n mã dầ ưới đây

 

Trang 40

Sau khi đ t C t và Trang, chúng ta đã vi t m t ch c năng đ  g i l nh và d  li u đ nặ ộ ế ộ ứ ể ử ệ ữ ệ ếGLCD.

Void lcdprint (char dat, kích thước int)

Trong void main () , chúng ta đã xóa GLCD r i đ t Column và Page.ồ ặ  Sau đó, g i dử ữ

li u t i LCD b ng cách s  d ng ch c năngệ ớ ằ ử ụ ứ  void lcdprint (char dat, int size) .

Ngày đăng: 13/12/2019, 14:26

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w