Lightning! Lightning detektorn för Raspberry Pi väderstation (uppdaterad) (1 / 6 steg)
Steg 1: Anslut Lightning detektorn till WeatherPi
Den kompletta Instructable för att bygga WeatherPi, en solar powered Raspberry Pi baserade väderstation, inklusive delar och full ledningar lista här.
Sedan vi lämnade vårt andra MOD-1016 AS3935 breakout styrelsen i WeatherPiArduino styrelsen för närvarande, beslutat vi att lägga till en ytterligare MOD-1016 AS3935.
Eftersom den MOD-1016 har en fast I2C adress (0x03), kunde inte vi ansluter den till samma I2C bussen som WeatherPiArduino styrelsen är på. Så, använda I2C Multiplexer ombord, vi sätta den andra MO-1016 på buss 2.
Vi kör alltid in i konflikter med adressering på I2C enheten. Eftersom det finns några normer, flera enheter har ibland samma adress, till exempel 0x03, och är det bara kört i köra dem båda på samma I2C bussen utan en massa jimmy rigg.
4 kanal multiplexade I2C Breakout styrelse
För att komma runt problemet adressering (särskilt konflikten mellan en INA3221 och luftfuktighetsgivare inuti samt ha två identiska lightning sensorer - se nedan) lagt vi en I2C bussen Multiplexer till den design som tillåter oss att ha många fler I2C enheter på bussen, oberoende av adresskonflikter. Nedan är vår nuvarande lista över I2C enheter i WeatherPi.
Module | Adress | I2C Mux buss # |
---|---|---|
BMP180 Lufttryck | 0x77 | Buss 0 |
Realtidsklocka DS3231 | 0x68 | Buss 0 |
ATC EEPROM | 0x56 (eller 0x57) | Buss 0 |
ADS1015 Analog till Digital omvandlare | 0x49 | Buss 0 |
FRAM icke-flyktig lagring | 0x50 | Buss 0 |
ADS1015 på SunAirPlus | 0x48 | Buss 1 |
INA3221 3 kanal spänning/ström monitorn på SunAirPlus | 0x40 | Buss 1 |
Inbäddade Adventures blixten detektor | 0x03 | Buss 0 |
Inbäddade Adventures blixten detektor | 0x03 | Buss 2 |
AM2315 Utomhus Temp/luftfuktighet | 0x5C | Buss 1 |
Grove I2C 4-kanals I2C bussen Mux | 0x73 | På alla bussar |
HTU21D-F Fuktsensor | 0x40 | Buss 0 |
Observera att ett antal enheter har samma adress. Detta fixas med Grove I2C Mux Breakout styrelse.
Wiring lista
Detta är bara tillägg till listan ledningar för AS3935 Breakout styrelsen ansluten till Bus2 av I2C Mux och placeras i 3D tryckt Pylon. Listan full ledningar för WeatherPi är i Instructable.
Grove I2C Mux Board (GI2CM) | ||
---|---|---|
JP5 - I2C Bus2 | Externa AS3935 Breakout Board (ASBB) | |
GI2CM JP5 Pin 3: VDU2 | 3.3V från Pi/skruvgängning | 3.3V från Pi/skruvgängning |
GI2CM JP5/stift 2: GND | ASBB: GND | GND för ASBB styrelse |
GI2CM JP5/stift 5: SC2 | ASBB: SCL | SCL-värdet för ASBB styrelse |
GI2CM JP5/stift 4: SD2 | ASBB: SDA | SDA för ASBB styrelse |
Externa AS3935 Breakout Board (ASBB) | ||
---|---|---|
Externa AS3935 Breakout Board (ASBB) | JP5 - I2C Bus2 | |
ASBB: VCC | 3.3V från Pi/skruvgängning | 3.3V från Pi/skruvgängning |
ASBB: GND | GI2CM JP5/stift 2: GND | GND för ASBB styrelse |
ASBB: SCL | GI2CM JP5/stift 5: SC2 | SCL-värdet för ASBB styrelse |
ASBB: SDA | GI2CM JP5/stift 4: SD2 | SDA för ASBB styrelse |
ASBB: IRQ | PiA + Pin-GPIO 15: GPIO 22 | IRQ-kanalen till Raspberry Pi |
Här är vad I2C bussen ser ut på Raspberry Pi. Detta är utdata från exempelkod med I2C 4 kanal Mux (därav det finns 4 oberoende bussar visas för I2C bussen).
Observera att WeatherPi använder buss 0, buss 1 och buss 2.
Buss 2 används endast för att ansluta till externa MOD-1016 AS9535 Lightning detektorn. Kör test programvara för I2C Mux Breakout styrelsen ger följande resultat:
Testa SDL_Pi_TCA9545 Version 1.0 - SwitchDoc Labs
Provet används 0x73
Programmet startade: 2015-05-19 02:45:59
-----------BUS 0-------------------
addr = 0x73 returndata = 0x81
tca9545 kontroll registrera B3-B0 = 0x1
Ignorera avbrott om INT3 "-INT0" inte ansluten
tca9545 kontroll registrera avbryter = 0x8
0 1 2 3 4 5 6 7 8 9 en b c d e f
00: 03 -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: 40 -- -- -- -- -- -- -- -- 49 -- -- -- -- -- --
50: 50 -- -- -- -- -- 56 -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70:------73------77
-----------------------------------
-----------BUS 1-------------------
addr = 0x73 returndata = 0xa2
tca9545 kontroll registrera B3-B0 = 0x2
Ignorera avbrott om INT3 "-INT0" inte ansluten
tca9545 kontroll registrera avbryter = 0xa
0 1 2 3 4 5 6 7 8 9 en b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: 40 -- -- -- -- -- -- -- 48 -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- 73 -- -- -- --
-----------------------------------
-----------BUS 2-------------------
addr = 0x73 returndata = 0x84
tca9545 kontroll registrera B3-B0 = 0x4
Ignorera avbrott om INT3 "-INT0" inte ansluten
tca9545 kontroll registrera avbryter = 0x8
0 1 2 3 4 5 6 7 8 9 en b c d e f
00: 03 -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- 73 -- -- -- --
-----------------------------------