Trên thực tế, Achim đã làm cho một điểm rất tốt ở đây.
Có một sự khác biệt lớn giữa rơle (công tắc) (công tắc) và cảm biến hiệu ứng Hall.
Về cơ bản, rơle Sậy sẽ kết nối một công tắc bất cứ khi nào có đủ lực từ tác dụng lên nó, cho bạn tín hiệu bật / tắt. Một cảm biến hiệu ứng Hall cung cấp một mức điện áp cho biết có bao nhiêu lực từ được tác dụng lên nó.
Mã được hiển thị ở trên sẽ chỉ 'trực tiếp' hoạt động với rơle Sậy, điều đó không có nghĩa là nó hoàn toàn không hoạt động đối với cảm biến hiệu ứng hội trường, nhưng nó sẽ cung cấp thêm các thách thức khi sử dụng cảm biến hiệu ứng hội trường.
Thách thức chính sẽ là bạn đang coi một thiết bị tương tự như một thiết bị kỹ thuật số - hy vọng sẽ kích hoạt sự gia tăng của xung. Bây giờ, tín hiệu sẽ không được phát xung - nó thường sẽ giống như một đường cong hình chuông, với đủ loại dao động. Bạn có thể vượt qua điện áp tối thiểu để có tín hiệu cao (khoảng 3,5v, IIRC?) Nhiều lần khi nam châm vượt qua cảm biến hiệu ứng hội trường.
Tất nhiên, bản năng đầu tiên của chúng ta khi sử dụng thứ gì đó như cảm biến hiệu ứng hội trường là sử dụng ADC và đọc mức điện áp trên một chân tương tự. Tuy nhiên, bạn bị giới hạn ở 10.000 lần đọc, khoảng, mỗi giây trên một pin tương tự (mỗi lần đọc mất 100uS). Điều đó cũng giả sử rằng tất cả những gì bạn làm là lặp và đọc các giá trị - không khiến bạn mất nhiều thời gian để cập nhật màn hình, tính toán, v.v. Chưa kể, nếu bạn đọc không đúng lúc, bạn đã bỏ lỡ tín hiệu của mình!
Tôi chắc chắn có thể sử dụng các ngắt bằng cách nào đó được liên kết với ADC, nhưng tôi không có kiến thức như vậy tiện dụng.
Thay vào đó, nếu bạn muốn sử dụng một thực tế cảm biến Hiệu ứng Hall , tôi khuyên bạn nên đưa nó vào bộ kích hoạt Schmitt để chuyển đổi thành tín hiệu số (bật / tắt) ở mức hiệu chỉnh cho biết "ngay dưới nam châm". Ngoài ra, tùy thuộc vào mức độ trễ được triển khai trong trình kích hoạt Schmitt, bạn có thể cần thực hiện một số thao tác nảy để thay đổi tốc độ thoát dựa trên tốc độ hiện tại. Sau đó, bạn có thể coi nó như một rơle thông thường.
! c