Tartalomjegyzék:
- Szerző John Day [email protected].
- Public 2024-01-30 09:43.
- Utoljára módosítva 2025-01-23 14:48.
Az ASSIMILATE SENSORS és ACTORS fejlesztése közben kéznél tartok egy UNO -t, hogy adhoc I2C parancsokat küldjön a fejlesztendő prototípusoknak. Az I2C BRICKS egyik előnye a szabványosított érintkezők. Ahelyett, hogy minden alkalommal kenyérsütő vezetéket használna (lásd a Fritzings-t), erős lo-tech pajzsot használnak.
Lépés: Anyagok és eszközök
- 4 cm x 6 cm Uninersal PCB (1)
- Csatlakozó vezeték (~ 6)
- 4K7 ellenállások (2) 6
- Férfi fejléc (12P, 8P)
- Női fejléc (9P, vagy 3P, 3P)
- Forrasztás és vas (1)
2. lépés: Összeszerelés
Ha 2 db 3P női fejlécet használ az 1 off 9P női fejléc helyett, akkor az ASSIMILATE SENSOR/ACTORS illeszkedik a JIG -hez anélkül, hogy szétszerelné őket.
A kábelezéssel távolítsa el a végét 10 mm -ig, és ónozza a végeit.
- A NYÁK alján helyezze be a dugót (1) (2) és forrasztja le a tetején.
- A NYÁK tetején helyezze be a hüvelyes fejlécet (3) és forrasztja le az alján.
- A tetején egy piros vezetéket kell vezetni a RED1 és RED2-be.
- Alul, átmenő vezeték RED1-től RED3-ig.
- Az alsó részen átvezető lyuk a RED2-től a RED5-ig, és forrasztás.
- A tetején átvezető lyuk a RED3-tól a RED4-ig, és forrasztás.
- A tetején egy piros vezetéket kell vezetni a RED6 és RED7-be.
- Alul, átmenő vezeték RED6-tól RED8-ig.
- Alul, átmenőhuzalos vezeték RED7-ről RED10-re, és forrasztás.
- A tetején átvezető lyuk a RED8-tól a RED9-ig, és a forrasztás.
- A tetején fekete lyukat kell vezetni a FEKETE1 és FEKETE2 csatlakozóba.
- Az alsó, átmenőhuzal a BLACK1-től a BLACK3-ig.
- Alul, átmenő vezeték a BLACK2-től a BLACK5-ig, és forrasztás.
- A tetején átvezető lyuk a BLACK3-tól a BLACK4-ig, és forrasztás.
- A tetején egy kék drótot kell átvezetni a BLUE1 és BLUE2-be.
- Az alsó, átmenőhuzalos vezeték a BLUE1-től a BLUE3-ig.
- Alul, átmenőhuzalos huzal a BLUE2-től a BLUE5-ig, és forrasztás.
- Felül, átmenőhuzal a BLUE3-tól a BLUE4-ig, és forrasztás.
- A tetején zöld furatot kell vezetni a ZÖLD1 és a ZÖLD2-be.
- Az alsó, átmenőhuzalos vezeték a ZÖLD1-től a ZÖLD3-ig.
- Alul GREEN2-ből ZÖLD5-be átvezető lyuk, és forrasztás.
- A tetején átvezető lyuk a GREEN3-tól a GREEN4-ig, és forrasztás.
- Felül, egy 4K7-es ellenálláson keresztül, az SILVER3 és SILVER4-be.
- Az alsó részen átvezető lyuk az SILVER3-ból a ZÖLD5-be, és forrasztás.
- Az alsó részen átvezető lyuk a SILVER4-től a RED10-ig, és forrasztás.
- A tetején egy 4K7-es ellenállást kell átvezetni az SILVER1 és SILVER2-be.
- Az alsó részen átvezető lyuk az SILVER1-től a BLUE5-ig, és forrasztás.
- Az alsó részen átvezető lyuk a SILVER2-ből a RED10-be, és forrasztás.
3. lépés: Az UNO kódja
A vázlat itt kezdetleges. Lehetővé teszi a konzolbemenet használatát, hogy az UNO I2C üzeneteket küldjön az I2C ATTINY85 BRICK -nek.
Minden utasítást a képernyőre nyomtat, a támogatott opciókkal.
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
4. lépés: Következő lépések
A bemutatott konstrukciókból elegendő mozgó alkatrész van ahhoz, hogy saját ASSIMILATE IOT NETWORK -ot építsen.
A csomópontok egyes funkciói (érzékelők és szereplők) decentralizált módon vezérelhetők, nem attól függően, hogy az MCU -mester milyen ismeretekkel rendelkezik a támogatott funkciókról.
Bármely alkalmazás, amely az MQTT brókerhez csatlakozik, ellenőrizheti/megfigyelheti az IOT csomópont minden funkcióját. Ez az M2M, a webalkalmazások, az IFTTT és így tovább. Sokkal egyszerűbb (vagy gazdagabb, ha úgy tetszik) interfészek az IOT világához.
Ajánlott:
DRONE MASTER: 6 lépés
DRONE MASTER: Ez egy mesterséges intelligencia robot 3D -s tervezése. Az összes drón koordinálása és vezérlése programokban vagy nagy funkciókban, vagy akár futballmeccsen is meglehetősen nehéz. Több edzett drónkezelőre van szükségünk ehhez. De ez az AI robot futurisztikus és lesz b
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 - ATTINY85 ONBOARD PROGRAMOZÓ JIG: 3 lépés
IOT123 - ATTINY85 ONBOARD PROGRAMOZÓ JIG: A BRICK kivitelnél megemlítettem, hogy az ATTINY85 melletti átmenő lyukakat kihasználatlanul hagytuk, hogy lehetővé tegyük a pogo pin programozást, miközben a DIP8 forrasztva van a NYÁK -hoz. Ez az a pogo pin programozó. Ez valójában csak egy adapterkábel
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 - ATTINY85 SZOFTVER SERIAL JIG Összeszerelés: 4 lépés
IOT123 - ATTINY85 SZOFTVER SERIAL JIG Összeszerelés: ATTINY85 -t használtam kis teljesítményű szenzoros maszkokhoz. Eredetileg azt hittem, hogy ezekkel a chipekkel nem lehet hibakeresést végezni egy konzol segítségével, és valami szép " odakinn " módszerek arra, hogy megnézzük, mi történik a futási idő alatt. Aztán rábukkantam a SoftwareSeria -ra
