Tartalomjegyzék:
- Lépés: Anyagok és eszközök
- 2. lépés: Készítse elő az ATTINY85 -öt
- 3. lépés: Szerelje össze az áramkört
- 4. lépés: Tesztelés
- 5. lépés: Következő lépések
Videó: IOT123 - I2C 2CH RELAY BRICK: 5 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Az IOT123 BRICKS DIY moduláris egységek, amelyeket más IOT123 BRICKS -sel lehet összetörni, hogy funkcionalitást adjunk egy csomóponthoz vagy hordhatóhoz. Ezek alapja a hüvelyk négyzet alakú, kétoldalas protoboards, amelyek átmenő lyukakkal vannak összekötve.
Számos ilyen TÉGLY várhatóan több csomóponton (Master MCU -k - ESP8266 vagy ATTINY84) lesz egy webhelyen. Az MCU -nak nincs szüksége előzetes ismeretekre az érzékelők céljáról vagy a szoftver igényeiről. Keresi az I2C csomópontokat, majd minden slave -től tulajdonságkiírást (érzékelőadatokat) kér. Ezek a BRICK -ek 5,0 V -ot, 3,3 V -ot és egy másik személyre szabható AUX -vezetéket szolgáltatnak.
Ez az I2C 2CH RELAY BRICK kiterjeszti az I2C KY019 BRICK funkcióit, és két olvasási/írási tulajdonsággal rendelkezik:
2CH RELÉK [0] (igaz/hamis)
2CH RELÉK [1] (igaz/hamis)
Az ATTINY85 melletti átmenő lyukakat kihasználatlanul hagytuk, hogy lehetővé tegyük a pogo tűs programozást, miközben a DIP8 forrasztva van a NYÁK-hoz. Egy további absztrakció, a BRICKS -ek kis hengerekbe csomagolása, amelyek D1M WIFI BLOCK hubhoz csatlakoznak, és az értékeket egy MQTT szerverre szivattyúzzák.
Lépés: Anyagok és eszközök
Van egy teljes Bill of Material and Sourcing lista.
- 2 csatornás relé (1)
- ATTINY85 20PU (1)
- 1 "kétoldalas protoboard (1)
- Férfi fejléc 90º (3P, 3P)
- Férfi fejléc (2P, 2P)
- Jumper shunt (1)
- Csatlakozó vezeték (~ 7)
- Forrasztás és vas (1)
2. lépés: Készítse elő az ATTINY85 -öt
MEGJEGYZÉS: Ha Crouton integrációt kíván használni, kérjük, használja a könyvtárat innen, és használja a telepített "attiny_2ch_relay" példát.
AttinyCore szükséges a Boards Manager -től. Írjon rendszerbetöltőt "EEPROM Retained", "8mHZ Internal" (az összes konfiguráció fent látható).
A kódtár itt található.
A könyvtár ZIP -címe itt található.
Utasítások a "ZIP könyvtár importálásához" itt.
A könyvtár telepítése után megnyithatja az "attiny_2ch_relay" példát.
A firmware ATTINY85-re való feltöltéséhez további részleteket találhat ezekben az utasításokban:
www.instructables.com/id/How-to-Program-A…
www.instructables.com/id/Programming-the-…
www.instructables.com/id/Programming-the-…
www.instructables.com/id/Programming-the-…
A legjobb, ha a folytatás előtt kipróbálja a kenyérsávot.
Ha rendelkezik ASSIMILATE SENSORS -szal, győződjön meg arról, hogy a slave -cím eltérő az SENSOR/MCU Host kombinációban, azaz minden relé -szereplő azonos címmel rendelkezhet, amíg csak egy relé -szereplő van egy MCU -n/csomóponton.
3. lépés: Szerelje össze az áramkört
- Az elülső oldalon helyezze be az ATTINY85 (1), a 3P 90 fokos hüvelyes fejrészeket (2) (3), a 3P hüvelyes fejrészeket (4) (5) és a forrasztást a hátlapra.
- A hátsó részen nyomon kövessen egy sárga vezetéket a SÁRGA1 -től a SÁRGA2 -ig, és forrasztja.
- A hátoldalon kövessen egy narancssárga vezetéket az ORANGE1 -től az ORANGE2 -ig és forrasztja.
- A hátulján nyomon kell követni egy kék vezetéket a BLUE1 -től a BLUE2 -ig, és forrasztani.
- A hátoldalon nyomjon egy zöld vezetéket a ZÖLD1 -től a ZÖLD2 -ig és forrasztja.
- A hátoldalon nyomjon egy fekete vezetéket a BLACK1 -től a BLACK2 -ig, és forrasztja.
- A hátoldalon nyomjon egy fekete vezetéket a BLACK3 -tól a BLACK4 -ig, és forrasztja.
- A hátoldalon nyomjon egy piros vezetéket a RED1 és a RED2 között, és forrasztjon.
- A hátoldalon nyomon kövesse a csupasz vezetéket a RED3 -tól a RED4 -ig, és forrasztja.
- A hátoldalon kövessen egy csupasz vezetéket az SILVER1 -től az SILVER2 -ig és a forrasztást.
- Adjon hozzá egy jumpert az 5V vagy 3V3 vezetékhez.
A relét most közvetlenül a csapjain keresztül a NYÁK -ra vagy vezetékeken keresztül lehet csatlakoztatni a tűszerződésben szereplő pontokhoz.
4. lépés: Tesztelés
Számos ilyen TÉGLY várhatóan több csomóponton (MCU - ESP8266 vagy ATTINY84) lesz egy környezetben. Ez egy egység teszt: I2C parancsokat küld az UNO -tól az ATTINY -nak, amely megnyitja vagy bezárja a reléket.
Korábban építettünk egy I2C SHIELD -t az Arduino számára.
Ha inkább panírozni szeretne:
- Csatlakoztassa az 5,0 V -ot UNO -n a BRICK VCC -jéhez.
- Csatlakoztassa a GND -t az UNO -n a GND -hez a BRICK -en.
- Csatlakoztassa az UN5 A5 -öt a BRICK SCL -hez.
- Csatlakoztassa az UNO A4 -et a BRICK SDA -hoz.
- Csatlakoztasson egy 4K7 felhúzó ellenállást az SDA-ból a VCC-be.
- Csatlakoztasson egy 4K7 felhúzó ellenállást SCL-ről VCC-re.
A teszt futtatása
- Csatlakoztassa UNO -ját a Dev PC -hez USB -n keresztül.
- Töltse fel a kódot az UNO -ba.
- Nyissa meg az Arduino konzolt.
- Válassza a 9600 baud lehetőséget (indítsa újra az UNO -t, és szükség esetén nyissa meg újra a konzolt).
- A slave címe kinyomtatódik a konzolra.
-
Amikor beírja a küldési mezőbe 2 0: 1 (tehát 15 2 0: 1), és a CH1 relé bekapcsol.
- Amikor beírja a küldési mezőbe 2 0: 0 (tehát 15 2 0: 0), és a CH1 relé kikapcsol.
- Amikor beírja a küldési mezőbe 2 1: 1 (tehát 15 2 1: 1), és a CH2 relé bekapcsol.
- Amikor beírja a küldési mezőbe 2 1: 0 (tehát 15 2 0: 0), és a CH2 relé kikapcsol.
I2C BRICK adhoc parancsok rabszolgákhoz UNO mester
#befoglalni |
const bájt _száma = 32; |
char _fogadott_száma [_száma_száma]; // tömb a fogadott adatok tárolására |
logikai _has_new_data = hamis; |
voidsetup () { |
Sorozat.kezdet (9600); |
Sorozat.println (); |
Serial.println ("ASSIMILATE IOT ACTOR/SENSOR EEPROM EDITOR"); |
Serial.println ("biztosítsa az újsor kiválasztását a konzol ablakában"); |
Sorozat.println (); |
Serial.println ("1. CÍM METADATAVÉTEL MEGFIGYELÉSE N/A (M2M -NEK)"); |
Serial.println ("2. CÍM ACTOR COMMAND"); |
Sorozat.println (); |
Serial.println ("CÍMEK A BUSZON:"); |
scan_i2c_addresses (); |
Sorozat.println (); |
Serial.println (""); |
} |
voidscan_i2c_addresses () { |
int eszköz_szám = 0; |
(bájtcím = 8; cím <127; cím ++) |
{ |
Wire.beginTransmission (cím); |
const bájt hiba = Wire.endTransmission (); |
ha (hiba == 0) |
{ |
Serial.println (cím); |
} |
} |
} |
voidloop () { |
recv_with_end_marker (); |
send_to_i2c (); |
} |
voidrecv_with_end_marker () { |
statikus bájt ndx = 0; |
char end_marker = '\ n'; |
char rc; |
while (Serial.available ()> 0 && _has_new_data == false) { |
rc = Sorozat.olvasás (); |
if (rc! = end_marker) { |
_fogadott_táblák [ndx] = rc; |
ndx ++; |
if (ndx> = _száma_száma) { |
ndx = _száma - 1; |
} |
} |
más { |
_received_chars [ndx] = '\ 0'; // fejezze be a karakterláncot |
ndx = 0; |
_has_new_data = igaz; |
} |
} |
} |
voidsend_to_i2c () { |
char param_buf [16]; |
const Karakterlánc kapott_string = Karakterlánc (_fogadott_karakterek); |
ha (_van_új_adata == igaz) { |
int idx1 = fogadott_string.indexOf (''); |
Karakterlánc cím = kapott_string.substring (0, idx1); |
int address_int = address.toInt (); |
if (cím_int <8 || cím_int> 127) { |
Serial.println ("ÉRVÉNYTLEN CÍM BEMENET:"); |
Serial.println (cím); |
Visszatérés; |
} |
int idx2 = fogadott_string.indexOf ('', idx1+1); |
Karakterlánc kód; |
ha (idx2 == -1) { |
kód = kapott_string.substring (idx1+1); |
}más{ |
kód = kapott_string.substring (idx1+1, idx2+1); |
} |
int code_int = code.toInt (); |
if (code_int <0 || code_int> 5) { |
Serial.println ("ÉRVÉNYTELEN KÓD BEMENET:"); |
Serial.println (kód); |
Visszatérés; |
} |
bool has_parameter = idx2> -1; |
String paraméter; |
if (has_parameter) { |
paraméter = kapott_string.substring (idx2 + 1, idx2 + 17); // max. 16 karakter |
if (paraméter.length () <1) { |
Serial.println ("PARTAMETER MIN. LENGTH 1"); |
_has_new_data = hamis; |
Visszatérés; |
} |
}más{ |
if (code_int> 1) { |
Serial.println ("PARAMÉTER SZÜKSÉGES!"); |
_has_new_data = hamis; |
Visszatérés; |
} |
} |
Sorozat.println (); |
Serial.print ("input orig ="); |
Soros.println (fogadott_string); |
Serial.print ("address ="); |
Serial.println (cím); |
Serial.print ("code ="); |
Serial.println (kód); |
Serial.print ("paraméter ="); |
Serial.println (paraméter); |
// KÜLDÉS I2C |
Wire.beginTransmission (cím_int); |
Wire.write (code_int); |
if (has_parameter) { |
paraméter.trim (); |
strcpy (param_buf, paraméter.c_str ()); |
Wire.write (param_buf); |
} |
Wire.endTransmission (); |
Sorozat.println (); |
Serial.println ("ELKÜLDETT I2C!"); |
Sorozat.println (); |
Serial.println (""); |
_has_new_data = hamis; |
} |
} |
Tekintse meg a rawuno_i2c_command_input.ino webhelyet, amelyet a GitHub ❤ üzemeltet
5. lépés: Következő lépések
Ezt a téglát használó ASSIMILATE ACTOR: 2CH RELAY nyomon követés automatikus konfigurációt biztosít a Crouton számára az ATTINY85-ben már telepített metaadatokon keresztül. A Croutonnak küldött JSON csomag az ICOS10 legújabb firmware -jén keresztül kerül elküldésre. A Proof-of-concept elvégezhető egy közönséges ESP8266-on, ha a konstrukció egyelőre túl sok.
A tesztelés során használt UNO vázlat funkciója egy új slave -cím mentése az EEPROM -ba az ATTINY85 -en, ha ütközik a cél I2C buszon. Néhány vázlat hozzáadásra került, de különböző módokon lehet vezetni a downstream áramkört, attól függően, hogy mit szeretne elérni, ezért ezt meghagyom nektek:)
Ajánlott:
Kattintson a Brick Switch elemre a Makey Makey számára: 4 lépés (képekkel)
Kattintson a Brick Switch for Makey Makey elemre: Ez a 3D nyomtatott kapcsoló lehetővé teszi a felhasználó számára, hogy egy Makey Makey -t "ujjcsúszdá" alakítson. a " kattintáshoz " játékban, vagy jobb/bal nyilak segítségével görgetheti a prezentációkat. Jobb és bal oldali csatlakozók hozzáadása a
IOT123 - D1M BLOCK - 2xAMUX összeszerelés: 7 lépés (képekkel)
IOT123 - D1M BLOCK - 2xAMUX összeszerelés: A D1M BLOCKS tapintható tokokat, címkéket, polaritási útmutatókat és kitöréseket ad a népszerű Wemos D1 Mini SOC/Shields/Clones -hoz. Az ESP8266 chip egyik problémája az, hogy csak egy analóg IO tű áll rendelkezésre. Ez az útmutató bemutatja, hogyan kell összeszerelni a 2xA
IOT123 - D1M BLOCK - ACAM2 kameraszerelés: 8 lépés (képekkel)
IOT123 - D1M BLOCK - ACAM2 kameraszerelés: A D1M BLOCKS tapintható tokokat, címkéket, polaritási útmutatókat és kitöréseket ad hozzá a népszerű Wemos D1 Mini SOC/Shields/Clones készülékhez. Az ArduCam 2MP kamera rugalmas kép/videó rögzítést tesz lehetővé az ESP8266 chipen (amelyen a D1M BLOCKS alapul). Ez az utasítás
IOT123 - 5PIN ATTINY85 NRF24L01 BRICK: 4 lépés
IOT123 - 5PIN ATTINY85 NRF24L01 BRICK: FRISSÍTÉS: Ez a beállítás nagyrészt tudományos vagy a szoftver/tápegység tesztelésének alapja. Még akkor sem, ha a PB5 RESET módban le van tiltva, nem olvassa ki pontosan az értékeket az analogRead használatával: ez az érzékelő leolvasásának fő felhasználási módja. Megvizsgálja az ATTINY84 beállítást
IOT123 - SOLAR TRACKER - TILT/PAN, PANEL FRAME, LDR MOUNTS RIG: 9 lépés (képekkel)
IOT123 - SOLAR TRACKER - TILT/PAN, PANEL FRAME, LDR MOUNTS RIG: A legtöbb DIY tervezés kéttengelyes napelemes nyomkövetőkhöz " odakinn " a 9G Micro Servo-n alapulnak, amelyek valóban alulértékeltek, hogy néhány napelemet, a mikrovezérlőt, az akkumulátort és a házat körbejárják. Körülbelül tervezhet