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: Az indikátorok összeszerelése
- 4. lépés: A főáramkör összeszerelése
- 5. lépés: Tesztelés
- 6. lépés: Következő lépések
Videó: IOT123 - I2C HEARTBEAT BRICK: 6 lépés
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 HEARTBEAT BRICK jelzi, hogy az ATTINY slave él -e, az I2C forgalom is, és rendelkezik egy tulajdonsággal:
STATUS ("ÉLŐ")
A PB1 (fehér) ATTINY egészséget jelez.
A PB3 (sárga) átvált a mester I2C kéréseire.
A PB4 (narancssárga) átvált az I2C vétellel a mestertől.
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.
- Papír NYÁK (7 x 7 lyuk)
- LED -ek (piros, zöld, kék)
- Ellenállások (3 off 1K)
- 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 szeretne, használja a könyvtárat innen, és használja az "attiny_heartbeat" telepített 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_heartbeat" példát.
A firmware ATTINY85 -re történő feltöltéséhez további részleteket találhat az alábbi utasításokban:
www.instructables.com/id/Programming-the-….
www.instructables.com/id/How-to-Program-A…
www.instructables.com/id/Programming-the-…
www.instructables.com/id/How-to-Program-A…
www.instructables.com/id/Programming-the-…
A legjobb, ha a folytatás előtt kipróbálja a kenyérsávot.
Ha van ASSIMILATE SENSORS, győződjön meg arról, hogy a slave cím eltér az SENSOR/MCU Host kombinációról, pl. az összes közvetítő szereplő ugyanazzal a címmel rendelkezhet, amíg csak egy relé szereplője van egy MCU/csomóponton.
3. lépés: Az indikátorok összeszerelése
A mutatók teljes mértékben személyre szabhatók. A főáramkör eseményjeleit szívverésnek tekintik. Ehhez a felépítéshez LED -es kijelzőket fogunk használni; a build használhat reléket (igen, a VCC ki van törve) vagy más vizuális/jel alapú jelzőt. Az ellenállás értékei a személyes preferenciáktól függenek, attól függően, hogy milyen fényesre szeretné őket.
- A tetején helyezzen be egy kék LED -et a PIROS1 (+) és a FEKETE1 (G) közé, és forrasztjon alul.
- Az alsó részen hajlítsa meg a vezetéket a RED1 -től, hogy érintse az SILVER8 rézpárnáját, és vágja le.
- Alul, a forrasztás feletti BLACK1 vágókábel.
- A tetején helyezzen be egy zöld LED -et a RED2 (+) és BLACK2 (G) közé, és forrasztjon alul.
- Az alsó részen hajlítsa meg a vezetéket a RED2 -ből, hogy érintse az SILVER9 rézpárnáját, és vágja le.
- Az alsó részen, a BLACK2 vágóvezetéke a forrasztás felett.
- A tetején helyezzen be egy piros LED -et a RED3 (+) és BLACK3 (G) közé, és forrasztjon alul.
- Az alsó részen hajlítsa meg a vezetéket a RED3 -ból, hogy hozzáérjen az SILVER10 rézpárnájához és díszítse.
- Az alsó részen, a BLACK3 vágóvezetéke a forrasztás felett.
- A tetején helyezzen be 1K ellenállást az SILVER1 és SILVER4 átmenő lyukakba.
- Alul nyomon követheti, vághatja és forraszthatja az SILVER1 -et a FEKETE1 -re.
- A tetején helyezzen be 1K ellenállást az SILVER2 és SILVER4 átmenő lyukakba.
- Alul nyomon követheti, vághatja és forraszthatja az SILVER2 -t a FEKETE2 -re.
- A tetején helyezzen be 1K ellenállást a SILVER3 és SILVER4 átmenő lyukakba.
- Alul nyomon követheti, vághatja és forraszthatja a SILVER3 -ból a BLACK3 -ba.
- Alul forrasztja el a SILVER4 huzalokat, és vágja le kb. 5 mm -rel.
- Alul forrasztjon egy fekete vezetéket az SILVER4 -re.
- Alul forrasztjon egy fehér huzalt az SILVER5 -be, biztosítva a folytonosságot a RED1 -ből.
- Alul forrasztjon egy sárga vezetéket az SILVER6 -ba, biztosítva ezzel a folytonosságot a RED2 -ből.
- Alul forrasztjon egy narancssárga vezetéket az SILVER7 -be, biztosítva a RED3 -ból való vezetés folytonosságát.
4. lépés: A főáramkör összeszerelése
Összeszerelés:
- 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.
- Hátsó részén nyomjon egy fehér vezetéket a FEHÉR1 -től a FEHÉR2 -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.
Ha a fenti indikátorokat használja (lásd a pinout diagramot):
- Hátul forrasztja a fehér vezetéket a PB1 -be.
- Hátul forrasztja a sárga vezetéket a PB3 -ba.
- Hátul forrasztja a narancssárga vezetéket a PB4 -be.
- A hátoldalon forrasztja a fekete vezetéket a GND -be.
5. 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 átkapcsolja a Fogadás LED -et. Az ATTINY ALIVE LED világít.
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 1 (tehát 16 2 1), és a Fogadás LED kigyullad.
- Amikor beírja a küldési mezőbe 2 0 (tehát 16 2 0), és a Fogadás LED kialszik.
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
6. lépés: Következő lépések
A következő ASSIMILATE ACTOR: HEARTBEAT, amely ezt a téglát használja, automatikusan konfigurálja a Crouton-t 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.
Ajánlott:
Heartbeat Game-Projekt: 4 lépés
Heartbeat Game-Project: Ma május 20-a van, mint mindannyian tudjuk. Már hagyományos kínai Valentin -nap lett. (520 kínaiul azt jelenti, hogy szeretlek). Most egy interaktív eszközt készítünk, amelyet szívverés -labornak hívunk, hogy teszteljük a pár hallgatólagos megértését. Ez egy teszt
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 - RFTXRX Összeszerelés: 8 lépés
IOT123 - D1M BLOCK - RFTXRX ö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 RF adók/vevők lehetővé teszik az ESP8266 számára a meglévő otthoni/ipari automatizálás elérését. Ez a burkolat 433
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