Mục lục:
Video: EnergyChain: 4 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:36
/ * Công việc vẫn đang được tiến hành * /
Chuỗi năng lượng là một POC kết hợp IOT và Blockchain.
Những gì chúng tôi tạo ra cho phép mọi người bán năng lượng họ sản xuất cho bất kỳ ai mà không cần bất kỳ cấp bậc nào. Để đảm bảo an toàn giữa người sản xuất và người tiêu dùng, người tiêu dùng có thể kết nối bất cứ thứ gì họ muốn trên đó và nhận năng lượng. Hộp đo lượng dòng điện tiêu thụ và ghi giá trị tương đương
Bước 1: Vật liệu
Để tạo ra projet này, chúng tôi sẽ sử dụng:
- 1 Raspberry Pi Zero
- 1 cảm biến dòng AS712 (20A)
- 1 ADC 16bit I2C ADS1555
- 1 cảm biến RFID RC522
- 1 rơ le 5V
- Bộ chuyển đổi 1AC / DC 5V / 2A ECL10US05-E từ Farnell
- 1 ổ cắm điện
Bước 2: Đấu dây
Chúng ta cần kết nối mọi thứ lại với nhau như trong hình, hãy cẩn thận với dòng điện được cung cấp bởi Raspberry Pi.
Hệ thống dây lệnh:
- Nguồn 3v3 - Rơ le 5V Vcc / Cảm biến dòng điện Vcc / RFID Vcc / ADC Vcc
- Nguồn 5v - Bộ chuyển đổi AC / DC 5v
- Tiếp đất - Rơ le 5V GND / Cảm biến dòng điện GND / Bộ chuyển đổi AC / DC GND / RFID GND / Đầu vào và đầu ra ADC GND
- BCM 2 - ADC SDA
- BCM 3 - ADC SCL
- BCM 4 - ADC CLK
- BCM 6 - RFID SDA
- BCM 9 - RFID MISO
- BCM 10 - RFID MOSI
- BCM 11 - RFID SCK
- BCM 17 - Rơ le 5V IN
- BCM 24 - Đặt lại RFID
- BCM 25 - RFID RST
Bước 3: Mã
Mã này hoạt động như sau:
Cảm biến RFID sẽ đợi một thẻ và ghi nó vào Terminal. Nhờ đó, chúng ta có thể nhận được lượng kWh.
ổ cắm nhập khẩu, json
nhập hệ thống từ nhập phân luồng Luồng từ pirc522 nhập RFID nhập RPi. GPIO dưới dạng GPIO ## Nhập thời gian nhập tín hiệu nhập thư viện GPIO Adafruit_ADS1x15 GPIO.setmode (GPIO. BOARD) GPIO.setup (11, GPIO. OUT) GPIO.output (11, True) rdr = RFID () use = rdr.util () use.debug = True TCP_IP = '172.31.29.215' TCP_PORT = 5000 BUFFER_SIZE = 1024 adc = Adafruit_ADS1x15. ADS1115 () def end_read (signal, frame): chạy toàn cầu print ("\ nCtrl + C được chụp, kết thúc đọc.") run = False rdr.cleanup () sys.exit () signal.signal (signal. SIGINT, end_read) def loopRead (s): DemandeTag = 1 DemandeMesure = 0 bol = True while (bol): if DemandeTag == 1: tag () DemandeTag = 0 DemandeMesure = 1 if DemandeMesure == 1: Mesure2 () try: data = s.recv (BUFFER_SIZE) if not data: break in data dataJSON = json.loads (data) if "message" in dataJSON: print dataJSON ['message'] if dataJSON ['message'] == "exit": print ('Exit demande') GPIO.output (11, GPIO. HIGH) DemandeTag = 0 DemandeMesure = 0 bol = False if dataJSON ['message'] == "on": GPIO.output (11, GPIO. LOW) DemandeMesure = 1 DemandeTag = 1 if dataJSON ['message'] == "off": GPIO.output (11, GPIO. HIGH) DemandeTag = 1 message = '' ngoại trừ Exception as e: continue s.close () thẻ def (): rdr.wait_for_tag () (lỗi, dữ liệu) = rdr.request () time.sleep (0,25) (lỗi, uid) = rdr.anticoll () ID = str (uid [0]) + '. '+ str (uid [1]) +'. '+ str (uid [2]) +'. '+ str (uid [3]) print ("Thẻ đọc UID:" + ID) GPIO.output (11, GPIO. LOW) def Mesure (): mesure_voltage = 0 Nbre_mesure = 100 i = 0 while i def Mesure2 (): mesure_voltage = 0 Nbre_mesure = 200 max_voltage = 0 min_voltage = 32768 mVparAmp = 100 Puissance = 0 i = 0 readValue = 0 while imax_voltage: max_voltage = readValue if readValue def Mesure3 (): print (str (adc.read_adc (0, gain = 1))) if _name_ == "_main_": s = socket.socket (socket. AF_INET, socket. SOCK_STREAM) # s.connect ((TCP_IP, TCP_PORT)) # s.setblocking (0) loopRead (s)
Bước 4: Hộp
Để làm cho tất cả các thiết bị điện tử nhỏ gọn hơn, chúng tôi đã thiết kế một chiếc hộp chứa mọi thứ bên trong. Để vặn mọi thứ chúng ta sẽ sử dụng vít M3.
Đề xuất:
Động cơ bước Điều khiển động cơ bước Không cần vi điều khiển !: 6 bước
Động cơ bước Điều khiển động cơ bước Không cần vi điều khiển !: Trong phần Hướng dẫn nhanh này, chúng tôi sẽ tạo một bộ điều khiển động cơ bước đơn giản bằng cách sử dụng động cơ bước. Dự án này không yêu cầu mạch phức tạp hoặc vi điều khiển. Vì vậy, không cần thêm ado, chúng ta hãy bắt đầu
Động cơ bước được điều khiển Động cơ bước không có vi điều khiển (V2): 9 bước (có hình ảnh)
Động cơ bước được điều khiển bằng động cơ bước Không cần vi điều khiển (V2): Trong một trong những Hướng dẫn trước đây của tôi, tôi đã chỉ cho bạn cách điều khiển động cơ bước bằng cách sử dụng động cơ bước mà không cần vi điều khiển. Đó là một dự án nhanh chóng và thú vị nhưng nó đi kèm với hai vấn đề sẽ được giải quyết trong Có thể hướng dẫn này. Vì vậy, hóm hỉnh
Đầu máy mô hình điều khiển động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Đầu máy mô hình điều khiển động cơ bước | Động cơ bước làm bộ mã hóa quay: Trong một trong những phần Hướng dẫn trước, chúng ta đã học cách sử dụng động cơ bước làm bộ mã hóa quay. Trong dự án này, bây giờ chúng ta sẽ sử dụng bộ mã hóa quay động cơ bước đó để điều khiển đầu máy mô hình bằng vi điều khiển Arduino. Vì vậy, không có fu
Âm thanh bay bổng với Arduino Uno Từng bước (8 bước): 8 bước
Acoustic Levitation With Arduino Uno Step-by-by-by (8 bước): bộ chuyển đổi âm thanh siêu âm L298N Dc cấp nguồn cho bộ chuyển đổi âm thanh nữ với chân cắm một chiều nam Arduino UNOBreadboard Cách hoạt động: Đầu tiên, bạn tải mã lên Arduino Uno (nó là một vi điều khiển được trang bị kỹ thuật số và các cổng tương tự để chuyển đổi mã (C ++)
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy