Sóng vô tuyến là gì và những sức mạnh của nó khi kết hợp với Arduino

Giới thiệu

Bạn đã từng chơi những chiếc xe điều khiển từ xa và rất muốn tạo ra một chiếc xe như vậy? Với tôi, đó đã từng là động lực thúc đẩy tôi nghiên cứu Arduino, vậy còn bạn thì sao?

Định nghĩa về sóng đã được giải thích rất kĩ trong sách giáo khoa Vật lí lớp 12. Tuy nhiên, những kiến thức này chứa đựng khá nhiều kiến thức hàn lâm (kiến thức dùng trong nghiên cứu vật lý). Vì vậy, để bạn dễ dàng tiếp cận được khái niệm sóng một cách đơn giản nhất có thể, nhưng vẫn nắm được hết các nguyên lý của nó, tôi sẽ đi theo một hướng khác thiên về ứng dụng sóng và liên hệ thực tế để các bạn mong chóng nắm được bản chất vấn đề. Cuối cùng, điều quan trọng nhất mà tôi đặt ra ở bài này là tầm quan trọng của sóng trong Arduino.

Sóng vô tuyến là gì ?

Khi mới nghiên cứu về sóng vô tuyến (lúc ấy tôi học lớp 11), tôi thấy khái niệm này rất là lạ nhưng cũng lại rất là quen. Cái thân quen ở đây đó là việc tôi nghe rất nhiều về sóng vô tuyến, và cái lạ là tôi chẳng biết nó là gì ngoài sóng truyền tín hiệu cho xe điều khiển từ xa và ti vi.

Ban đầu, tôi tự hỏi: "Tại sao lại sóng vô tuyến" mà không phải là một thứ gì đấy vô tuyến, vì tôi nghĩ, sóng (biển) nó chả liên quan gì đến vật lý cả.

Chữ "" thì tôi có thể hiểu được ý nó là không, nghĩa là sóng vô tuyến không thể nhìn thấy (bằng mắt thường) được. Còn chữ "tuyến" thì tôi hiểu là "hướng". Và nếu ghép hai chữ "vô tuyến" lại thì ta sẽ hiểu ý nghĩa là "không có hướng nào" ?!?. "Vô lý, vì có truyền từ điều khiển của tôi đến chiếc xe đồ chơi mà?". Và ngẫm một lúc, tôi hiểu rằng, chữ "" không chỉ có nghĩa là "không" mà còn có nghĩa là "mọi". Vì vậy, khái niệm "vô tuyến" sẽ có nghĩa là mọi hướng.

Vậy còn từ "sóng" nó thì liên quan gì đến vật lý chứ? Sau một hồi tìm kiếm trên Google, suy nghĩ của tôi đã dần dần được khai sáng:

  1. Sóng không tương đương với sóng biển (Có nghĩa là từ sóng biển ta sẽ suy ra bản chất nó là sóng, còn "sóng" không thể suy ra ngay là sóng biển được, vì có rất nhiều loại sóng).
  2. Sóng, bản chất của nó chính là những dao động. Ví dụ: Khi bạn cột 2 đầu của một dây chun (dây xu) vào 2 cây gỗ và "búng", nạn xem hình sau để hiểu được sóng là gì, chính những gì bạn rút ra sẽ dễ nhớ và giúp bạn nhớ lâu hơn.

"

Kết luận: Kết hợp lại những khái niệm trên, tôi nghĩ rằng, sóng vô tuyến là một dạng dao động sóng, không nhìn thấy được và được lan tỏa theo mọi hướng. Tiếng Việt thật hay, rất ngắn nhưng hàm chứa nhiều điều, đến nỗi nó bao hàm cả một định nghĩa, đúng không nào?

Sóng vô tuyến hoạt động như thế nào ?

Như đã tiềm hiểu ở trên, bạn đã nắm được sóng vô tuyến là gì. "À, mà nó hoạt động ra sao?", bạn đang nghĩ như vậy phải không? Đừng lo, tôi sẽ giúp bạn. Để hiểu kĩ càng và nắm hết được mọi "kiến thức" về sóng, tôi khuyên bạn nên đọc hết chương "Sóng" trong sách Vật lý 12. Nhưng cái quan trong ở bài này, như đã nói ở trên, chúng ta không đi sâu vào các định nghĩa, phép tính mà là cách dùng của nó. Vì vậy, tôi sẽ trả lời câu hỏi này bằng cách đơn giản nhất, ai đọc vào cũng có thể hiểu ngay được nguyên lý của nó.

"Khi bạn cột 2 đầu của một dây chun (dây xu) vào 2 cây gỗ và búng", bạn sẽ tạo ra sóng

Trong điện tử, một môi trường con người không tiếp xúc trực tiếp được mà phải tiếp xúc với nó thông qua dòng diện, vì vậy, bạn sẽ tạo sóng bằng điện.

Vậy, nó gửi tín hiệu như thế nào? Đơn giản thôi, bạn hãy xem rằng, khi sử dụng module phát sóng thì mọi dữ liệu của bạn sẽ được chuyển thành tín hiệu điện và sẽ được gửi đi trong không trung thông qua ănten.

Vậy làm sao, tôi thu được tín hiệu sóng vô tuyến. Sóng vô tuyến được truyền vào không trung, và càng đi xa nó càng rộng, vì vậy nó sẽ càng yếu đi. Để thu được sóng vô tuyến, bạn cần phải có một mạch thu sóng. Ăn ten của mạch thu sẽ dựa vào những dao động của sóng vô tuyến để tạo thành tín hiệu điện mà điện tử có thể hiểu được rồi từ đó dịch mã ra các giá trị.

Nếu như vậy lỡ có nhiều mạch phát và nhiều mạch thu thì sao, lúc này sẽ có chuyện gì xảy ra? Sóng có nhiều đại lượng đặc trưng cơ bản, trong đó có một đại lượng và bạn đã từng rất nhiều lần nghe qua, đó là tần số. Tần số nghĩa là số lần dao động trong 1 giây. Đại lượng này đặc trưng duy nhất cho mỗi mạch thu / phát sóng, nghĩa là mỗi mạch chỉ có thể truyền phát lẫn nhau khi nó cũng tần số. Ví dụ như xe điều khiển từ xa có tần số mạch phát = tần số mạch thu = 27MHz. Tần số trong truyền sóng thường rất lớn (từ 27Mhz - 5GHz) nên có rất nhiều tần số thoải mái cho bạn lựa chọn. Quay lại trọng tâm câu hỏi, nếu bạn sử dụng nhiều mạch phát và nhiều mạch thu thì có thể xảy ra 1 trong 2 trường hợp sau:

  • Nhiều mạch thu/phát khác tần số:
    • Lúc này thì bạn không cần lo lắng vì chỉ khi mạch thu đúng tần số của mạch phát thì mới truyền tin được. Nếu bạn có nhiều cặp thu phát vơi tần số khác nhau thì chẳng bao giờ bạn truyền tin sai lệch cả.
  • Nhiều mạch thu/phát cùng tần số: lúc này thì lại có 2 vấn đề con nảy sinh, nhưng không phải là khó để khắc phục
    • Nếu tôi gửi tín hiệu cho mạch A và mạch B cùng tần số, nhưng lúc thì mạch A, lúc thì mạch B, vậy có lỗi hay không? Trong truyền sóng, bạn có thể phát từ một module phát đến nhiều mạch thu. Thông thường, các module phát sẽ được kết nối với Arduino thông qua một thư viện, còn các module thu có thể dùng mạch thu có IC (không cần dùng Arduino, tự hoạt động độc lập), hoặc dùng mạch thu không IC (phải dùng thông qua thư viện của Arduino). Với loại thu có IC thì bạn có thể làm điều tôi vừa nói nhưng hơi phức tạp một tí, tôi sẽ nói ở bài sau, còn với loại thu không IC bạn sẽ sử dụng thư viện của Arduino với cấu trúc rẻ nhán để thực hiện các lệnh. Ví dụ: tôi sẽ gửi một dữ liệu là một số nguyên kiểu byte và...
      • mạch thu A sẽ làm đèn LED 13 của Arduino sáng nếu nó nhận giá trị <=100, ngược lại là tắt
      • mạch thu B sẽ làm đèn LED 13 của Arduino sáng nếu nó nhận giá trị > 100, ngược lại là tắt.
      • Như vậy, nếu tôi gửi giá trị 69 từ mạch thu thì đèn LED 13 của mạch A sẽ sáng còn mạch B sẽ tắt. Còn nếu tôi gửi giá trị 169 thì mạch A tắt còn mạch B tắt,...
    • Nếu tôi gửi từ 2 mạch phát đến 1 mạch thu thì như thế nào? Bạn KHÔNG THỂ gửi CÙNG MỘT LÚC từ 2 mạch phát đến một mạch thu được, vì lúc này, nó sẽ gây ra hiện tượng nhiễu, chẳng hạn mạch phát A gửi dữ liệu là 69 còn mạch phát B gửi dữ liệu là 169, như vậy mạch thu hoặc sẽ nhận được 69 hoặc sẽ nhận được 169 => nhiễu. Vì vậy, bạn cần phải canh thời gian sao cho khi mạch A gửi, bạn mạch B không gửi và ngược lại, nghĩa là chúng ta phải gửi tuần tự, KHÔNG ĐƯỢC GỬI MỘT LÚC.

Kết luận: Để truyền phát thông tin qua sóng vô tuyến chúng ta cần 2 module: 1 là thu, và 2 là phát. Tuỳ thuộc vào ứng dụng của ta mà ta lựa chọn tần số cho phù hợp. Những module có tần số cao thường truyền rất xa nhưng không "xuyên tường" được, trong khi đó các loại có tần số thấp hơn thì lại xuyên tường tốt. Cao và thấp ở đây, mình không dám định nghĩa, vì đó chỉ là suy nghĩ của mình, vì vậy mình xin đưa ra một ví dụ: bộ phát sóng Wifi mới nhất ở tần số 5GHZ truyền rất là xa (vài km) nhưng lại xuyên tường cực yếu, còn bộ phát Wifi ở tấn số 2.4GHz thì lại có khoảng cách thu sóng ổn định gần hơn nhưng được cái xuyên tường tốt,...

Có thể bạn sẽ đặt câu hỏi, nếu sóng Wifi (bản chất nó là sóng vô tuyến cả thôi) có tần số 2.4GHz thì sao điện thoại / máy tính lại bắt được nhiều sóng thế. Vâng, câu hỏi này rất hay, bởi vì, sóng Wifi có nhiều tần số khác nhau, và điểm chung của nó là gần bằng 2.4GHz (ví dụ: 2.39 GHz, 2.411 GHz,..) và bộ phận thu sóng Wifi có một chức năng khá hay là điều chỉnh, tìm và kết nối  (tiếng Anh là pair), vì vậy, nó sẽ quét hết các sóng có thể có của Wifi rồi chính bạn sẽ lựa chọn bộ phát để kết nối.

Ứng dụng của sóng vô tuyến trong thực tế

Nói đến sóng vô tuyến, tôi có thể kể cho các bạn nghe rất nhiều ứng dụng thực tế hay và thiết thực trong cuộc sống hàng ngày, đặc biệt trong lĩnh vực giải trí. Chẳng hạn như:

Xe điều khiển từ xa, tôi mê món này

Truyền hình ảnh vô tuyến

.... và còn rất nhiều ứng dụng khác nữa, trong đó đang chờ đợi ứng dụng của bạn

Sức mạnh của nó trong Arduino

Với Arduino, về căn bản, bạn có thể truyền mọi loại dữ liệu, từ số, chữ cho đến hình ảnh, âm thanh, video. Tất nhiên, mức độ khó sẽ tăng dần lên, và càng khó thì nó lại cần những bộ phận phức tạp. Thường thường, tôi hay sử dụng sóng vô tuyến để truyền tin điều khiển và dùng sóng wifi (bản chất nó là sóng vô tuyến) để truyền hình ảnh, âm thanh, video.

Nếu chỉ dựng lại ở việc truyền dữ liệu để điều khiển, thì mạch của tôi rất đơn giản, bạn chỉ cần một mạch thu, một mạch phát, 2 con Arduino, các linh kiện cần cho dự án của bạn và cuối cùng là tư duy lập trình thì đã có thể xây dựng cho mình một dự án truyền tin bá đạo rồi.

Mạch thu (trên) và mạch phát (dưới)

Còn nếu bạn muốn xây dựng một sản phẩm truyền tin có thể truyền được nhiều loại dữ liệu thì bạn phải xây dựng một mô hình bá đạo hơn trong đó phải xử dụng thêm các module wifi cho đến các máy tính mini-linux. Ví dụ, trong dự án mới nhất của mình (đến thời điểm hiện tại). Mình đã xây dựng một mô hình truyền tin qua Internet (tất nhiên trước đó phải liên lạc từ thu wifi đến phát wifi) và truyền tin qua sóng vô tuyến 2.4GHz. Và đây là mô hình của mình.

Kết luận: Về cơ bản, các sản phẩm của bạn sẽ CỰC KÌ bá đạo nếu sử dụng các công cụ truyền tin, hãy nghĩ đến một tương lai dây điện là một thứ gì đấy rất kém thẩm mĩ và trong tương lai mọi đồ dùng đều dùng sóng vô tuyến để giao tiếp với nhau. Theo mình, một thế giới điện tử thông minh, là thế giới không dây điện "ra ngoài"!

Kết luận

Qua bài viết này, bạn đã tự trả lời được câu hỏi sóng vô tuyến là gì, cách thức truyền tin và khả năng của nó. Câu hỏi cuối cùng, theo tôi nghĩ bạn muốn biết, đó là cách sử dụng mạch vô tuyến và Arduino như thế nào? Phần này liên quan đến lập trình nhiều hơn nên hẹn các bạn ở bài sau nhé.

 

lên
29 thành viên đã đánh giá bài viết này hữu ích.
Chuyên mục: 
Các dự án được truyền cảm hứng

Bộ điều khiển PID - ứng dụng phần 2 - xe dò line dùng thuật toán PID

Tiép nối bài viết về xe dò line cảm ơn Đỗ Hữu Toàn đã viết hộ mình phần 4. hôm nay mình sẽ làm cho chiếc xe dò line đi mượt và có hồn hơn 

lên
34 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Phạm vi biến

Ngôn ngữ Arduino được xây dựng trên ngôn ngữ lập trình C. Các biến của Arduino, cũng như C, có một phạm trù được gọi là phạm vi biến. Điều này trái ngược với ngôn ngữ BASIC, ở ngôn ngữ BASIC này, mọi biến đều là biến toàn cục.

lên
3 thành viên đã đánh giá bài viết này hữu ích.