Mục lục:

Tự làm cảm biến sốc với loa: 5 bước (có hình ảnh)
Tự làm cảm biến sốc với loa: 5 bước (có hình ảnh)

Video: Tự làm cảm biến sốc với loa: 5 bước (có hình ảnh)

Video: Tự làm cảm biến sốc với loa: 5 bước (có hình ảnh)
Video: Cách khiến người cãi cùn im lặng NGAY LẬP TỨC 2024, Tháng mười một
Anonim
Tự làm cảm biến sốc có loa
Tự làm cảm biến sốc có loa

Loa hoạt động bằng cách kích hoạt một nam châm điện gần một nam châm "thông thường". Điều này tạo ra rung động, dẫn đến âm thanh. Vì vậy, nếu thay vì cung cấp dòng điện cho loa, chúng ta có thể tạo ra dòng điện (nếu rất ít) bằng cách tự di chuyển loa. Dòng điện này sau đó có thể được phát hiện và giải thích bởi một bộ vi điều khiển như Arduino.

Bước 1: Tìm loa

Tìm loa
Tìm loa
Tìm loa
Tìm loa
Tìm loa
Tìm loa
Tìm loa
Tìm loa

Bạn sẽ cần tìm một diễn giả mà bạn sẵn sàng hy sinh cho dự án này. Bạn có thể mua một cái tại SparkFun với giá dưới một đô la, nhưng có thể bạn đã có một cái ở đâu đó. Tôi đã sử dụng một chiếc loa nhỏ từ một cặp tai nghe cũ, nhưng bạn có thể tìm thấy một chiếc loa ở hầu hết mọi nơi - chẳng hạn như thiệp chúc mừng âm nhạc hoặc đồng hồ báo thức cũ. Kế tiếp:

  1. Cắt một nửa dây jumper
  2. Tước phần cuối của nó
  3. Hàn nó vào loa (có thể đã có một số dây trên đó - chỉ cần cắt chúng đi)

Ngoài ra, bạn có thể sử dụng kẹp cá sấu nếu có.

Bước 2: Xây dựng mạch

Xây dựng mạch
Xây dựng mạch

Vật liệu cần thiết:

  • Arduino UNO
  • Breadboard
  • Dây nhảy
  • Một đèn led (bất kỳ màu nào)
  • Hai điện trở 220 ohm (đỏ-đỏ-nâu)
  • Người nói

Làm theo sơ đồ trên để kết nối tất cả với Arduino.

Bước 3: Tải lên mã này

Tải lên mã này trong Arduino IDE. Bạn có thể sẽ cần phải hiệu chỉnh nó vì bạn không sử dụng cùng một loa với tôi, vì vậy tôi sẽ giải thích cách thực hiện điều đó trong một vài bước.

int shockMin = 996; // bạn có thể cần thay đổi những điều này

int shockMax = 1010; // bạn có thể cần thay đổi các void setup () {pinMode (11, OUTPUT); // Serial.begin (9600); // bỏ ghi chú điều này để giúp hiệu chỉnh} void loop () {int shock = analogRead (A0); int lightval = map (shock, shockMin, shockMax, 0, 255); if (lightval> 0) {analogWrite (11, lightval); } else {analogWrite (11, 0); } // Serial.println (shock); // bỏ ghi chú điều này để giúp hiệu chỉnh}

Bước 4: Cách sử dụng

Dùng ngón tay ấn vào giữa loa và nó sẽ làm cho đèn led nhấp nháy. Nếu không, bạn sẽ cần phải hiệu chỉnh nó trong bước tiếp theo. Nếu không, bạn có thể thử gắn loa vào thứ gì đó. Có lẽ bạn có thể tạo ra một cái trống bằng cách dán nó vào một chiếc đĩa giấy? - Thử dùng bút chì làm dùi trống.

Bước 5: Hiệu chỉnh

Nếu đèn led của bạn đã nhấp nháy thỏa đáng, bạn có thể bỏ qua bước này. Nếu không, hãy làm theo các bước sau:

  1. Xóa "//" trên các dòng có nội dung "// bỏ ghi chú điều này để giúp hiệu chỉnh"
  2. Tải lên mã và mở màn hình nối tiếp
  3. Nhấn vào giữa loa và xem khi các giá trị thay đổi
  4. Thay đổi các biến shockMin và shockMax thành các giá trị thấp và cao trong màn hình nối tiếp

int shockMin = 996;

int shockMax = 1010;

Ví dụ: nếu màn hình nối tiếp đọc 700 là trạng thái không đẩy của cảm biến của bạn (khi nó chỉ nằm ở đó), và khi bạn đẩy nó lên đến 860, hãy thay đổi shockMax thành khoảng 900 (chỉ cao hơn một chút so với số đọc của cảm biến) và shockMin thành khoảng 680. Tiếp theo:

  1. Đóng màn hình nối tiếp
  2. Tải lên mã mới
  3. Nhấn thêm vào giữa loa

Nếu mọi thứ đều ổn, đèn led sẽ chỉ bật khi bạn nhấn vào cảm biến.

Đề xuất: