Mục lục:
- Bước 1: Đăng ký Thông tin Thiên văn học
- Bước 2: Các thành phần
- Bước 3: Phần mềm máy tính
- Bước 4: Mạch
- Bước 5: Mã
- Bước 6: Lắp ráp cuối cùng
Video: Bộ theo dõi pha mặt trăng không dây: 6 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:35
Máy theo dõi pha Mặt Trăng là một thiết bị nhỏ, bán di động cho phép bạn thu thập thông tin quan trọng về Mặt Trăng. Thiết bị báo cáo lại các thông số như độ chiếu sáng có thể nhìn thấy, pha, mặt trăng mọc và thời gian thiết lập và hơn thế nữa.
Thiết bị này rất cần thiết cho bất kỳ ai quan tâm đến khoa học hoặc thiên văn học và cung cấp một trang trí văn phòng trên máy tính để bàn tuyệt vời và chắc chắn là một người khởi đầu cuộc trò chuyện.
Dự án khá đơn giản và yêu cầu một thiết bị kết nối internet như ESP32, tuy nhiên, bạn luôn có thể điều chỉnh mã để hoạt động với lá chắn WiFi, lá chắn Ethernet hoặc bất kỳ thiết bị kết nối internet nào khác mà bạn có. Lunar Phase Tracker đã được thiết kế để hoạt động nhờ pin Lithium-Polymer và màn hình E-ink rất tiết kiệm điện, không chỉ cung cấp một màn hình tuyệt vời để xem mà còn lưu giữ hình ảnh cuối cùng ngay cả khi tắt nguồn!
Bước 1: Đăng ký Thông tin Thiên văn học
Bước này là hoàn toàn cần thiết (mặc dù nhàm chán) vì chúng tôi đang sử dụng một API trực tuyến để thu thập thông tin của mình. Mặc dù có thể tính toán các tuần trăng, độ chiếu sáng, v.v., nhưng làm như vậy là một công việc tẻ nhạt. API mà chúng tôi đang sử dụng cung cấp thông tin cập nhật từ hệ thống giám sát và trạm thời tiết trực tiếp để dữ liệu chúng tôi nhận được là kết quả thực tế chứ không phải của các giá trị được tính toán.
Đi đến Weather Underground, nhấp vào "đăng ký" và điền vào tất cả thông tin của bạn. Tài khoản hoàn toàn miễn phí và các lệnh gọi API của bạn cũng vậy, miễn là bạn không yêu cầu quá nhiều kết quả mỗi phút hoặc vượt quá 500 yêu cầu mỗi ngày. Đảm bảo rằng bạn đánh dấu trang này, bạn luôn có thể quay lại sau và sử dụng API để thống kê thời tiết và các thông tin tuyệt vời khác. Khi bạn đã tạo tài khoản của mình, hãy truy cập Trang web API, nhấp vào "khóa mua" và chọn gói miễn phí, bạn chỉ cần nhập một vài chi tiết và bạn sẽ gặp sự cố với ID khóa devoloper. ID này là duy nhất cho bạn và nên được giữ kín. Tôi đã cung cấp khóa của mình trong mã Arduino ví dụ mà chúng ta sẽ xem xét một chút sau. Chúng tôi hoan nghênh bạn sử dụng Key ID của tôi cho mục đích thử nghiệm nhưng tôi thực sự khuyên bạn nên đăng ký ID của riêng bạn.
Sau khi bạn có ID duy nhất của mình, bạn có thể truy cập thông tin API Thiên văn học, thông tin này thực sự rất đơn giản. Bạn sẽ tìm thấy một ví dụ đơn giản giống như sau:
api.wunderground.com/api/8c6dc2e5c6f36de9/a…
URL này cực kỳ quan trọng vì đây là thứ cung cấp cho chúng tôi tất cả thông tin cần thiết để thực hiện dự án của mình. Hãy tiếp tục, nhấp vào liên kết, bạn sẽ thấy các kết quả cho Sydney như tuần trăng, sự chiếu sáng và các thông tin tốt khác. Hãy nhìn vào URL, chúng ta sẽ thấy Sydney, Australia và một đoạn mã dài bắt đầu bằng “8c6dcwe…”. Mã đó là ID khóa của bạn mà chúng tôi đã lấy trước đó. Thay đổi mã đó bằng ID duy nhất của bạn và xem cách hoạt động, bạn sẽ nhận được kết quả chính xác. Thử chơi xung quanh các địa điểm. Đối với bản thân tôi ở Nam Phi, tôi sử dụng Johannesburg và ZA.
Bước 2: Các thành phần
Vì vậy, bây giờ cho những thứ thú vị. Chúng tôi sẽ cần một vài thành phần, không nhiều và không có thành phần nào cực kỳ đắt tiền và tôi đã cung cấp liên kết Amazon cho các thành phần mà tôi đã sử dụng. Hãy nhớ rằng, nếu bạn giỏi lập trình, hãy thoải mái sử dụng bất kỳ màn hình hoặc thiết bị internet nào bạn có sẵn. Đối với bản dựng của tôi, tôi đã sử dụng những thứ sau:
Waveshare E-Ink SPI 4.2 "Màn hình SPI
- Bảng nhà phát triển ESP32 (Chung)
- Adafruit Power Boost 500
- Bộ pin 5000mAh Lipo
- Stripboard (Protoboard)
Bạn sẽ cần những công cụ cơ bản như:
- Hàn sắt
- Hàn
- Đồng hồ vạn năng
- Calipers
- Khoan bit để tách các bản nhạc trên protoboard
- Dây điện
- Wire Snips
- Keo (Keo nóng sẽ hoạt động)
- Máy tính xách tay có cài đặt Arduino IDE
Công cụ nâng cao duy nhất bạn có thể cần là một máy in 3D để tạo vỏ bọc. Nếu bạn không có, không sao cả, hãy làm bao vây của bạn bằng gỗ và cưa tay hoặc bất cứ thứ gì bạn có sẵn. Và vâng, máy in 3D của tôi đã cũ và đầy bụi lol.
Bước 3: Phần mềm máy tính
Trước khi chúng ta có thể bắt đầu làm việc trên mạch và lập trình, trước tiên chúng ta sẽ cần phiên bản Arduino IDE mới nhất có thể tìm thấy tại đây.
Vì chúng tôi đang sử dụng ESP32 với lõi Arduino, chúng tôi sẽ cần cài đặt lõi này trên Arduino IDE. Thực hiện theo hướng dẫn đơn giản này từ Github, hướng dẫn này cho bạn biết bạn sẽ cần phần mềm và cấu hình nào để có thể sử dụng bảng nhà phát triển ESP32 của mình trong Arduino IDE.
Chúng tôi cũng sẽ cần thêm hai thư viện để hệ thống của chúng tôi hoạt động. Đầu tiên là thư viện Arduino JSON cho phép chúng ta đọc và phân tích cú pháp các yêu cầu JSON, chính xác là những gì chúng ta nhận được từ Weather Underground. Bạn có thể tải xuống hai thư viện này từ Dropbox cá nhân của tôi hoặc xuống bên dưới. Sau khi bạn có các tệp, hãy giải nén chúng và đặt nó vào thư mục thư viện Arduino của bạn. Nó thường được đặt tại thư viện C: / Users / YOUR_NAME / Documents / Arduino \. Đảm bảo rằng bạn khởi động lại IDE của mình nếu không Arduino sẽ không nhận các bổ sung mới. Mã SRC Arduino chính cũng nằm trong thư mục đó. Thư viện cũng chứa một phiên bản đã sửa đổi của mẫu được cung cấp từ các màn hình Waveshare. Các tệp đã được thay đổi để chạy trên mô-đun ESP32 với GPIO của chúng và tôi đã triển khai một "phông chữ" mới chứa tất cả các hình ảnh cho các giai đoạn khác nhau của mặt trăng.
Bước 4: Mạch
Được rồi vì vậy mạch cho việc này cực kỳ đơn giản và chỉ cần một vài linh kiện và dây dẫn.
Ý tưởng chung là chúng ta có một mạch sạc Lipo, một bộ chuyển đổi tăng cường để cung cấp cho chúng ta 5V và sau đó là Bộ ESP32 Dev làm giảm điện áp xuống 3,3V. 3.3V này cũng được sử dụng cho màn hình Waveshare E-Ink. Vâng, điều này hơi kém hiệu quả do việc tăng cường sau đó giảm bớt bằng bộ điều chỉnh tuyến tính nhưng ESP32 hoạt động trên một dải điện áp rất khủng khiếp. Ở đâu đó khoảng 2,5 - 3,6V. Điều này không phù hợp với các dự án pin, đặc biệt là những dự án sử dụng tế bào polymer lithium.
Hệ thống dây điện cơ bản như sau:
- Bộ chuyển đổi tăng cường đầu ra 5V Vin & GND trên ESP32 Dev Kit
- Màn hình E-Ink ESP32 3.3V 3.3V & GND
- Màn hình E-Ink ESP32 PIN 18 CLK
- Màn hình E-Ink ESP32 PIN 23 DIN / MOSI
- Màn hình mực điện tử ESP32 PIN 5 CS / SS
- Màn hình E-Ink ESP32 PIN 32 DC
- Màn hình E-Ink ESP32 PIN 33 RST
- Màn hình mực điện tử ESP32 PIN34 BUSY
Bạn có thể thấy hệ thống dây điện rất đơn giản và bảng mạch tự làm của tôi chỉ mất khoảng 15 phút để thi công. Hãy đảm bảo kiểm tra đoản mạch bằng đồng hồ vạn năng trước khi cung cấp điện.
Tôi cũng đã loại bỏ đèn LED khỏi bảng tăng cường ESP32 và Lipo của mình để tiết kiệm khoảng 40mA điện năng trong chế độ ngủ. Điều này sẽ giúp pin kéo dài hơn một chút. Bạn có thể thực hiện một công tắc nguồn, mạch tiết kiệm điện, tự động ngắt kết nối, v.v. nếu bạn muốn. Bạn có thể mở rộng dự án này và làm cho nó phức tạp như bạn muốn.
Bước 5: Mã
Bạn có thể tìm thấy mã trong thư mục được cung cấp trong bước 3 hoặc bạn có thể tải xuống tệp.ino từ bên dưới. Bạn sẽ cần cài đặt các thư viện liên quan như đã đề cập trong bước 3 để mọi thứ hoạt động cùng nhau. Không có nhiều điều để nói cho bước này vì mã được cung cấp trong tình trạng hoạt động. Đảm bảo đặt SSID và mật khẩu mạng của bạn trước khi kiểm tra chương trình, bạn luôn có thể chạy quét WiFi ESP32 để phát hiện bất kỳ mạng không dây nào gần đó tuy nhiên trong chương trình của tôi, thông tin mạng chỉ được đặt trong mã và mã. Có lẽ bạn có thể sửa đổi nó để hỏi bạn muốn kết nối mạng nào:)
Mã này khá đơn giản và tôi sẽ dành thời gian bình luận và tinh chỉnh nó trong vài tuần tới. Về cơ bản, chúng tôi kết nối với một mạng, trong trường hợp của tôi là mạng gia đình của tôi. Sau đó, chúng tôi cố gắng kết nối với Weather Underground và nhận văn bản JSON từ trang web. Thư viện ArduinoJSON sau đó được sử dụng để giải nén. hoặc phân tích cú pháp, mã JSON thành các mảng hoặc chuỗi ký tự cho phép chúng tôi thao tác các giá trị trước khi hiển thị nó cho người dùng. Đoạn mã cuối cùng hoàn toàn dành cho việc lập trình GUI và được thực hiện bằng cách thử và sai. Tôi nhìn vào màn hình, tăng hoặc giảm vị trí nội dung và chạy lại mã cho đến khi tôi hài lòng với kích thước phông chữ, bố cục và hình ảnh.
Tôi đã thực hiện thói quen ngủ sâu cho ESP32 để tiết kiệm điện. Mặc định là 60 giây, tuy nhiên, tôi khuyên bạn nên thay đổi giá trị thành một hoặc hai giờ vì các bản cập nhật không xảy ra trong ít nhất một vài giờ. Ví dụ này chấp nhận giây, vì vậy hãy đảm bảo rằng bạn thực hiện các chuyển đổi đúng cách.
Tôi cũng đã sử dụng chương trình The Dot Factory để tạo mảng hex cho một phông chữ mới. Phông chữ này được sử dụng để tạo "hình ảnh" cho các tuần trăng. Nếu bạn muốn chỉnh sửa tệp phông chữ thì hãy đảm bảo rằng bạn sử dụng chương trình được đề cập ở trên để tạo. Có một chút khó hiểu vì thư viện E-Ink không được ghi chép đầy đủ và hầu hết thành công của tôi là nhờ thử và sai. Khi tôi dành nhiều thời gian hơn với mã này, tôi sẽ cập nhật Tài liệu hướng dẫn để cung cấp thêm thông tin về những phát hiện của tôi.
Phông chữ được sử dụng cho các tuần trăng phải được thực hiện theo bố cục ASCII tiêu chuẩn. Nếu bạn mở font24 trong thư mục EPD-master, bạn có thể thấy bố cục trong đó hình ảnh thứ nhất được xác định bằng khoảng trắng, hình thứ hai là dấu "!" (dấu chấm than) và như vậy. Bạn sẽ thấy rằng tôi kéo phông chữ được liên kết bằng cách sử dụng số 3 hoặc ký hiệu hashtag trong bit cuối cùng của mã (hàm getLunarChar). Điều này là do Arduino mong đợi tiêu chuẩn ASCII từ 32 đến 127. Bởi vì chúng tôi đang sử dụng phông chữ không liên quan gì đến phông chữ thực tế và đúng hơn là ma trận đồ họa tuần trăng, chúng tôi cần đảm bảo rằng ký tự ASCII tham chiếu đến hình ảnh tuần trăng đã chọn của chúng tôi. Điều này có nghĩa là sử dụng một! dấu hiệu, phông chữ pha mặt trăng của chúng tôi hiển thị cho chúng ta hình ảnh về giai đoạn mặt trăng thứ hai trong danh sách đó. Nếu bạn nhìn vào phông chữ pha mặt trăng, bạn sẽ thấy toàn bộ các tuần trăng, tất cả đều có mức độ chiếu sáng khác nhau. Trong tương lai, tôi sẽ thêm nhiều mã hơn để sử dụng tất cả các đồ họa mà chúng tôi đã thực hiện. Hiện tại, chúng tôi chỉ đang sử dụng một số ít tuy nhiên đồ họa đã được triển khai bằng phông chữ pha mặt trăng và chỉ cần được triển khai trong mã để sử dụng nó.
Bước 6: Lắp ráp cuối cùng
Phần cuối cùng của bản dựng và làm hài lòng nhất, là quá trình lắp ráp. Tôi đã thiết kế và in 3D một bao vây phù hợp với bảng của tôi. Dự án rất tự làm, không có PCB chuyên nghiệp hoặc một bố cục tiêu chuẩn duy nhất. Đối với hầu hết các phần, hộp tôi đã sử dụng đủ lớn để chứa bất kỳ bộ sạc lipo hoặc bộ chuyển đổi tăng cường nào bạn chọn sử dụng. Miễn là chúng cung cấp cùng một chức năng cơ bản được đề cập trong Có thể hướng dẫn này thì bạn sẽ ổn.
Tôi đã sử dụng 4 con vít để giữ nửa trên và dưới của vỏ với nhau và keo nóng để gắn mạch điện tự làm của mình. Tôi đã sử dụng một số giọt keo rất nhỏ để giữ pin nhưng nếu có thêm thời gian, tôi sẽ làm một giá đỡ tùy chỉnh cho tất cả các thiết bị điện tử.
Tôi cũng đã quyết định tạo một lỗ cho một nút nhấn chốt ở mặt sau. Thao tác này ngắt kết nối pin khỏi bộ chuyển đổi tăng cường, rất hữu ích nếu bạn không có kế hoạch chạy thiết bị 24/7. Thật không may, bộ chuyển đổi tăng cường vẫn sử dụng điện ngay cả khi ESP32 của bạn đang ở chế độ ngủ sâu.
Nói chung tôi rất hài lòng với kết quả. Tôi đã học được rất nhiều điều khi sử dụng ESP32 và có thể thấy bản thân sẽ sử dụng nó cho nhiều dự án khác nhau trong tương lai.
Nếu bạn có bất kỳ câu hỏi nào, hãy hỏi, tôi sẽ rất sẵn lòng giúp đỡ và nếu bạn tìm thấy bất kỳ lỗi nào trong Tài liệu hướng dẫn này, vui lòng cho tôi biết.
CHỈNH SỬA: Tôi thực sự đã làm cho máy CNC một vỏ máy nhỏ thay vì phiên bản in 3D, đó là những gì bạn thấy trong các hình ảnh nổi bật.
CHỈNH SỬA: Trong các hình ảnh nổi bật, chúng tôi thấy mặt trăng tròn với độ chiếu sáng 99%. Do đó, vòng tròn màu trắng, khi mặt trăng trải qua các giai đoạn điển hình của nó, hình ảnh của mặt trăng sẽ thay đổi tương ứng. Các hình ảnh khác sẽ được tải lên khi mặt trăng tiến triển qua các giai đoạn của nó để bạn có thể có được hình ảnh đại diện.
Á quân trong Thử thách không gian
Đề xuất:
MẶT TRỜI MẶT TRỜI LÀM BỘ THEO DÕI TẦM NHÌN: 7 bước (có hình ảnh)
MẶT TRỜI MẶT TRỜI NHƯ MÁY THEO DÕI TẦM NHÌN: Độ lớn cơ bản được sử dụng trong Vật lý và các ngành khoa học khác để mô tả chuyển động cơ học là tốc độ. Đo lường nó đã là một hoạt động thường xuyên trong các lớp thực nghiệm. Tôi thường sử dụng máy quay video và phần mềm TRACKER để nghiên cứu chuyển động của certa
Theo dõi & theo dõi các cửa hàng nhỏ: 9 bước (có hình ảnh)
Theo dõi & theo dõi cho các cửa hàng nhỏ: Đây là một hệ thống dành cho các cửa hàng nhỏ được cho là gắn vào xe đạp điện hoặc xe tay ga điện tử để giao hàng trong phạm vi ngắn, ví dụ như một tiệm bánh muốn giao bánh ngọt. Theo dõi và theo dõi nghĩa là gì? Theo dõi và theo dõi là một hệ thống được sử dụng bởi ca
Bộ dụng cụ theo dõi xe ô tô tự làm bằng rô bốt thông minh Theo dõi ô tô cảm quang: 7 bước
Tự làm bộ dụng cụ theo dõi rô bốt thông minh theo dõi ô tô Theo dõi ô tô cảm quang: Thiết kế bởi SINONING ROBOT Bạn có thể mua từ rô bốt theo dõi ô tô ChipLM393 so sánh hai điện trở quang, khi có một đèn LED cảm quang một bên TRẮNG thì bên của động cơ sẽ dừng ngay lập tức, bên kia của động cơ quay lên, để
Trang sức mặt dây chuyền đèn LED nhấp nháy bằng năng lượng mặt trời: 11 bước (có hình ảnh)
Trang sức mặt dây chuyền đèn LED nhấp nháy bằng năng lượng mặt trời: Hướng dẫn này dành cho trái tim được cung cấp năng lượng mặt trời với đèn LED màu đỏ phát xung. Nó đo lường khoảng 2 " bằng 1,25 ", bao gồm cả tab USB. Nó có một lỗ xuyên qua đầu bảng, giúp bạn dễ dàng treo. Đeo nó như một chiếc vòng cổ, bông tai, gắn vào một chiếc ghim
Theo dõi thời tiết M5Stack M5stick C dựa trên ESP32 với DHT11 - Theo dõi nhiệt độ độ ẩm & chỉ số nhiệt trên M5stick-C với DHT11: 6 bước
Theo dõi thời tiết M5Stack M5stick C dựa trên ESP32 với DHT11 | Theo dõi nhiệt độ độ ẩm và chỉ số nhiệt trên M5stick-C Với DHT11: Xin chào các bạn, trong phần hướng dẫn này, chúng ta sẽ học cách giao tiếp cảm biến nhiệt độ DHT11 với m5stick-C (một bảng phát triển của m5stack) và hiển thị nó trên màn hình của m5stick-C. Vì vậy, trong hướng dẫn này, chúng ta sẽ đọc nhiệt độ, độ ẩm & nhiệt tôi