INHOUDSOPGAWE:

Signal Code Communicators (RFM69): 7 stappe (met prente)
Signal Code Communicators (RFM69): 7 stappe (met prente)

Video: Signal Code Communicators (RFM69): 7 stappe (met prente)

Video: Signal Code Communicators (RFM69): 7 stappe (met prente)
Video: Lagoon 52 - 2000nm, Amsterdam to Mediterranean, ex Great Circle 2024, Julie
Anonim
Signal Code Communicators (RFM69)
Signal Code Communicators (RFM69)
Signal Code Communicators (RFM69)
Signal Code Communicators (RFM69)

Hierdie "2-bis" (digitale) radiokommunikators bied 'n manier om vir mekaar te wys (waar hulle is; as hulle klaar is …) wanneer hulle aan die teenoorgestelde ente van 'n groot bokswinkel koop; selfs waar selfone geen diens of selfoonlading het nie.

RFM69 915MHz radiomodules word gebruik. Dit is baie effektiewe radio's met 'n lae krag, wat digitale pakkie -kommunikasie gebruik. Hulle kan meer as 100 meter kommunikeer met behulp van lae krag, op slegs 10s van milliamps, en tot 1/2 kilometer of selfs 1/2 myl met ongeveer 120 ma.

Die RFM69 -radiomodules is baie meer doeltreffend en effektief oor groter afstande dan 'n NRF24L01 of 'n RFM12.

Vir nog meer betroubare verbindings op 'n afstand, kan hierdie projek net so ook op gebruikte LoRa -radiomodules gemaak word. Daar is 'n paar LoRa -toestelle (soos 'n RFM95) wat dieselfde grootte en koppelvlak het. Maar dit kos baie meer, wat vir my ongegrond was.

Die eenhede ondersteun 'n stel digitale, 10-20 (plek?) Stylvraag- en antwoordkodes (verwys na wiki/tien-kode https://en.wikipedia.org/wiki/Ten-code); sowel as opsionele Morse -kode. Die eenhede ondersteun geen stem (analoog) kommunikasie nie.

Hulle kan ook gebruik word as 'n persoon met 3 vlakke van aandagversoeke, as iemand herstel of onder die huis werk.

Verder kan dit baie pret wees, veral vir kinders of studente.

Stap 1: Versamel komponente

Aangesien die radiomodule nie 'n 5V -toevoer of seinspanning kan hanteer nie, moet u 3.3V MCU's gebruik. Let ook daarop dat ek die 'H' hoë -krag weergawe van die radiomodules gebruik.

Hierdie lys is om 2 eenhede te bou.

  • aantal. 2 Pro Mini 3.3v Arduino MCU
  • aantal. 2 RFM-69HCW 915MHz-modules
  • aantal. 2 omhulsel (sou 'n batterykompartement wees)
  • aantal. 2 Li-ion 3.7v 200+mah batterye https://www.ebay.com/itm/311682151405 (7x20x30mm, ~ Maksimum grootte bruikbaar 9x24x36mm)
  • aantal. 4 rooi-groen 5 mm algemene katode tweekleur-LED's https://www.ebay.com/itm//112318970450 (bedrading en afbreekspanning is belangrik)
  • aantal. 4 knoppies skakelaars van 6 x 6 x 7.5 mm
  • aantal. 2 Piezo -aktiewe zoemer
  • aantal. 2 elk teenstanders … 270 Olm, 1.5kOlm, ~ 5k
  • aantal. 2 0.1 uf monolitiese kap

Opsioneel

  • aantal. 2 3 mm wit (of blou) LED's
  • aantal. 2 3,5 mm Phono -aansluitings
  • aantal. 2 220uf kragfilter kapasitor
  • Popsicle stok

Ander benodigdhede wat u moontlik benodig

30ga draad soliede https://www.ebay.com/itm/142255037176, 26ga draad solied of 24ga gestrand, vir gronde en +V

22ga draad soliede, vir antenna

Diverse: soldeervoorrade, band, warm gom, prototiperingsgereedskap.

USB na TTL -omskakelaar

Opsie hardeware:

'N Stereo -aansluiting om 'n oorstuk aan te sluit, om seker te maak dat u nie inkomende kommunikasie misloop nie. Daar kan ook 'n draagbare luidsprekerversterker daaraan gekoppel word.

Die klein (3 mm) wit LED is opsioneel. Ek het dit bygevoeg om as 'n AAN -aanwyser te dien. Dit was eenvoudig om by te voeg, aangesien ek dit oor Btn1 gekoppel het, wat 'n mate van dryfstroom van 'n interne weerstand (~ 37k) kry. Met so min dryfkrag moet hierdie LED 'n baie doeltreffende een wees. 'N Groen of miskien 'n blou LED kan gebruik word, maar nie geel of rooi nie, aangesien die spanningsval te laag is en dit laat lyk asof die knoppie ingedruk word. Ek sou nie groen gebruik nie, aangesien die kleur andersins vir seininligting gebruik word.

Die phono -aansluiting kan ook weggelaat word. Hierdie toestel maak nie veel geraas nie, maar as u bekommerd is om die aandag van ander te trek, bied dit die opsie om 'n koptelefoon te gebruik. Afwisselend is 'n stuk plakband oor die gat vir klank effektief.

Om al die metings maklik en akkuraat te maak, hou ek baie van hierdie goedkoop remklauw.

Stap 2: Bou MCU-radio-subsisteem

Bou MCU-radio-substelsel
Bou MCU-radio-substelsel
Bou MCU-radio-substelsel
Bou MCU-radio-substelsel
Bou MCU-radio-substelsel
Bou MCU-radio-substelsel

Koppel kort drade aan MCU -penne: 10, 11, 12, 13; 'n medium lengte draad tot pin2.

Voeg lang (4-5 duim) by die I/O-penne van die MCU wat gebruik moet word (penne: 3-9). Ek het 30 AWG -meters en verskillende kleure vir perifere tipes gebruik. Hierdie draad met 'n klein deursnee kan die seine van minder as 100 milliampies hanteer, maar dit is baie klein en buigbaar genoeg (en word sterk aanbeveel) om die montering te vergemaklik.

Koppel ook 'n terrein en 'n Vcc -drade (ek het 26ga gebruik, dit is die blou op die foto's). Hierdie draad dra meer stroom, dus gebruik 'n groot meter om die spanningsval (en moontlike geraasseinstraling) te verminder.

Koppel die MCU met die RFM-69-bord. Almal behalwe die lang drade gaan daarnatoe.

Vou die radiobord oor die MCU -bord. Daar moet geen kortbroek tussen die planke wees nie. As daar 'n werklike potensiaal van 'n kort tydjie blyk te wees, gebruik 'n tussenliggende band of plastiekvel.

Voeg die antennekabel (22-24ga. 80mm) op die radiobord, soos op die foto gesien.

Stap 3: Ontwikkelingstoetsing

Ontwikkelingstoets
Ontwikkelingstoets
Ontwikkelingstoets
Ontwikkelingstoets

Vir die implementering van hierdie eenhede, kan u hierdie afdeling oorslaan. Vir diegene wat belangstel, gee dit 'n bietjie meer inligting oor hoe ek daar gekom het.

'N ¼ golflengte vir 915MHz is 82mm. Die handleiding van Sparkfun.com stel voor dat u 78 mm gebruik. Ek verstaan dat antennetegnologie sê dat as die antenna binne 'n ½ golflengte van die aarde is, u antenna ongeveer 5% langer sal wees as wat dit is. Wat 915Mhz betref, wat minder as 'n voet sou wees, en gewoonlik gebruik u hierdie eenheid baie hoër van die grond af as dit, verwerp ek hierdie lengte van 78 mm. Daar is egter ander faktore wat soortgelyke effekte kan veroorsaak, wat dit raadsaam ag om minder as presies ¼ golflengte te gebruik. Ek het 'n kompromie aangegaan en my antennekabels tot 'n totaal van 80 mm gesny (insluitend die gedeelte wat deur die PCB gaan). Met die regte toetsapparaat kan u die lengte van u antenna vir u eenheid beter optimaliseer, maar ek verwag slegs geringe verbeterings.

Na aanpassings het ek 'n maksimum bereik van ongeveer 250 m gekry met 'n paar hindernisse. Buiten 150 m, word die oriëntasie en posisie van die antenna al hoe belangriker.

Toe ek wel 'n volledige dipool tipe antennekonfigurasie gebruik het ('n vertikale 80mm aktiewe element teenoor 'n 80 mm gronddraadelement) vir een eenheid wat ek gekry het, met probeer en fout posisioneer, tot 400 meter met verskeie bome en 'n huis tussenin, en soliede tweerigtingkommissie op ½ daardie afstand, ongeag die posisie of oriëntasie van die afgeleë eenhede.

Stap 4: Berei die projekboks voor

Berei die projekkas voor
Berei die projekkas voor
Berei die projekkas voor
Berei die projekkas voor
Berei die projekkas voor
Berei die projekkas voor
Berei die projekkas voor
Berei die projekkas voor

Die konstruksie van hierdie projek met 'n klein boks is nogal uitdagend. Ek het die ervaring om baie persoonlike elektroniese gizmo vir huis-, nywerheids- en lugvaartprojekte te bou. Beginner kan eerder 'n groter houerhouer gebruik, wat die bou baie makliker maak. Dit is immers genot wat ons soek, nie frustrasie nie. BTW, u sien miskien klein verskille in die foto's van die eenhede wat ek gebou het.

Maak baie van die binnekant van die boks skoon. Gebruik 'n beitel- of X-acto-mes om twee ribbes aan die regterkant en een aan die linkerkant af te sny. (sien die foto van die binnekant van die boks voor en na)

Verhit die einde van 'n X-acto of knipmes (vir ongeveer 15 sekondes met 'n aansteker) en sny die een groot paal binne-in die omhulsel af en laat die ander twee tot ongeveer 1/8 duim sak. Toe ek die skakelaar gemonteer het, smelt ek die twee paaltjies genoeg om die skakelaar vas te hou.

Ek het maskeerband op die boks gebruik om gate te merk. Sien foto's hierbo.

Om die boor van die gate op die merk te hou, het ek die plekke eers met 'n punt van 'n pyl gemerk, daarna alle plekke met 'n 1/16 -bits geboor, en uiteindelik elke gat tot die gewenste grootte geboor.

Boor die gate vir die knoppies, klank en LED's in die tas. Die twee gate vir die hoof -LED's bo -op is 13/64”(5 mm) en is 10 mm van die rand af. Die gate vir die klank (piepgeluid) en die opsionele "Aan" -lamp is 3 mm (1/8 "). Hulle is 10 mm van bo af. Die klein ledetjie is 7 mm van die kant af. Die klankgat is van kant tot kant gesentreer. Die gate vir die knoppies aan die kant is 3,5 mm. Die een knoppie is 10 mm van bo af, die ander 20 mm. Ek het die binnekant van die knoopsgate met die hand afgeskuif met 'n 1/4 "boorpunt om te verseker dat die knoppies nie vassteek as dit ingedruk word nie.

As u 'n phono-aansluiting vir eksterne koptelefoon of luidspreker gebruik, moet u die bestaande gat aan die onderkant oopmaak tot 15/64 ". Die materiaal hier is taamlik dik, en as u dit net probeer uitboor, kan dit 'n gat te naby aan die rand veroorsaak. Boor dus eers 'n 1/16 gat, met die middel ongeveer 'n 16 duim van die rand van die bestaande gat af. Vergroot dan die gaatjie met 'n 7/16 "-boretjie. Sny materiaal met 'n skerp klein lem (~ Xacto) weg sodat die twee aangrensende gate ongeveer een is. Gebruik 'n Dremel -spiraalrasp of 'n rotstertlêer sodat die gate 'n goed ronde gat vorm wat 'n boorpunt maklik kan sentreer. Die gat moet op hierdie punt amper 15/64ste wees. (Daar is 'n foto van die gat op hierdie punt) Boor dit nou uit met 'n 15/64 "bietjie. Dit sou nie 'aaklig' wees as u 'n ¼ bietjie gebruik nie.

Stap 5: Bevestiging van perifere I/O -komponente

Bevestiging van perifere I/O -komponente
Bevestiging van perifere I/O -komponente
Bevestiging van perifere I/O -komponente
Bevestiging van perifere I/O -komponente
Bevestiging van perifere I/O -komponente
Bevestiging van perifere I/O -komponente

By die soldering binne die omhulsel moet u seker maak dat u nie per ongeluk enige deel van die yster aanraak nie en sodoende 'n gedeelte van die boks smelt, veral langs die buitekant.

Die knoppies

Druk die knoppies met 'n klein hoeveelheid gom vas terwyl u dit plaas. Warm gom is goed, dun gom (soos supergom) kan die knoppie binnedring, wat dit onbruikbaar maak. Let daarop dat ek een been op elk van die knoppies verwyder het (oortollige, waarmee ek nie gekoppel het nie); buig hulle sodat hulle nie te veel uitsteek nie; en verbind die twee onderste pen tussen die knoppies. Die knoppies is so geleë dat die binnekant verbind bene horisontaal teenoor mekaar is.

Buig die leidings van 3 mm "aan/uit" LED sodat dit oor Btn1 verbind kan word, terwyl die katode na die grondkant gaan. Dit is miskien die moeilikste samestellingskwessie.

Merk die kant van die LED's langs die rooi anode. Sny die twee anodes (buite) lei tot ongeveer ¼ duim. oriënteer hulle met die gemerkte (rooi) voorblad. Laat die middelkabel lank bly. Hulle word later gebuig om aan die grondkant van die knoppies te koppel. Verwys na foto's.

Heg die weerstanders aan.

Moenie net die waardeweerstands wat ek vir die LED's gedoen het, gebruik nie. Ek het my LED's meer as 'n jaar gelede gekoop, nie presies die hierbo genoem nie. Aangesien LED -doeltreffendheid baie wissel, toets die weerstandswaardes vir gebruik met u LED's in u hand. Kies weerstande vir die helderheid wat u wil hê met 'n dryfspanning van 3 tot 3.3 volt (verkieslik 3.2v). Vir 'n toetsvoedingspanning kan u twee 1.5V -batterye in serie gebruik, of 'n hoë digitale uitset van 'n 3.3V -aangedrewe Arduino -chip. Verifieer dat u 'n goeie ware geel kry as u met die rooi en groen elemente ry. Knip en soldeer die weerstande aan die LED's, soos op die foto's.

Op een eenheid het ek 'n Popsicle -stok as 'n afstandhouer om die twee hoof -LED's gebruik, sodat dit nie so baie uitsteek nie. Dit is streng 'n persoonlike voorkeur. Dit het wel 'n negatiewe newe -effek om die effektiewe helderheid / kykhoek van hierdie LED's te verminder.

Plaas 'n bietjie gom langs die buitenste rand van die zoemer en plak dit tussen die hoof -LED's (+ regs). Pas die posisie aan sodat dit in lyn is met die gat in die omhulsel voordat dit vasgemaak word.

Die aan/uit -skakelaar word vasgehou deur die bevestigingsgatpale te smelt. Ek gebruik die verhitte punt vir 'n klein skroewedraaier hiervoor.

Die moer van die phono -aansluiting kan nie vasgemaak word nie, dus gebruik warm gom aan die teenoorgestelde kant om dit vas te maak.

Koppel die grond langs knoppies en LED's.

Berei 'n plus en minus lood (~ 24ga. Soliede) voor deur die afgesnyde punte vas te slaan sodat hulle twee keer so breed as dik is. Die eindpunte moet dan maklik maar stewig in die batterykonneksie ingaan. Natuurlik, as u 'n verbindingskabel het of kan vind wat bedoel is om met u battery te koppel, gebruik dit dan beslis.

Verbind die aan/uit -skakelaar, phono -aansluiting, zoemer en kragdrade. Verwys na die vroeëre bedradingsdiagram.

Ek het 'n klein kapasitor oor die phono -verbindings. Dit kan weggelaat word, aangesien dit 'n stywe pasmaat het. Die doel daarvan is om lae gons in die uitset te voorkom.

Nadat die knoppies (sowel as die aan/uit -skakelaar en die phono -aansluiting) heeltemal bedraad en gesoldeer is, moet u dit warm plak sodat dit nie uitbreek nie, selfs ná uitgebreide gebruik.

Stap 6: Finale volledige vergadering

Finale volledige vergadering
Finale volledige vergadering
Finale volledige vergadering
Finale volledige vergadering
Finale volledige vergadering
Finale volledige vergadering

Dit is tyd om die MCU-radio-sub-stelsel met die I/O-toestelle in die kas te koppel.

Koppel die MCU-Radio-substelsel aan.

Sny die drade na behoefte, en laat net genoeg speling daarin sodat die subsisteemversameling genoeg kan wees om die ander ente van die drade te laat soldeer.

Sluit die drade aan by die hoof -LED met die korrekte rooi/groen, en veral die links/regs verhouding is korrek. Die LED's is links na regs omgekeerd, terwyl u in die omhulsel kyk hoe u die kommunikator vashou en gebruik. (tensy u van plan is om die eenhede met die teenoorgestelde kant na u toe te gebruik, soos 'n linkshandige persoon dalk sou wou doen).

Beweeg die MCU-Radio-substelsel op sy plek en druk dit neer en vou die drade, indien nodig, in die kas; kyk of daar geen kortbroek gemaak word nie. Plaas 'n stuk elektriese band daaronder indien nodig.

U kan hierdie eenheid herprogrammeer terwyl dit saamgestel is, soos gesien in die volgende afdeling, met 'n tydelik aangehegte FDDI via 'n kort kabel. Maak seker dat die Vcc -vlak van die USB -aflaaikabel 3.3v is, nie 5v nie!

Heg die battery aan, skuif die agterkant en toets dit, aangesien u reeds sagteware daarin afgelaai het. Pasop dat die battery nie op die resetknoppie van die MCU -bord druk nie.

BTW, 'n battery van 300 mah behoort ongeveer 12 uur te werk voordat dit herlaai moet word.

Stap 7: Die funksies en werking van die sagteware en toestelle

Die funksies en werking van die sagteware en toestelle
Die funksies en werking van die sagteware en toestelle
Die funksies en werking van die sagteware en toestelle
Die funksies en werking van die sagteware en toestelle

Die ander belangrike deel van hierdie projek, waarvan die werking daarvan afhang, is die sagteware -programmering. Maar ek het dit alles reggekry, sodat u dit nie hoef te doen nie.

U kan maklik instruksies vind om 'n skets elders na 'n Pro mini Arduino af te laai. Stel u Arduino IDE in vir die korrekte toestel en werkfrekwensie, anders kry u slegte klank en miskien verkeerde gedrag. Maak seker dat u 'n USB-TTL-omskakelaar met 3.3v (nie 5v) gebruik nie. Die eenheid moet self afgeskakel word. U kan sien dat ek 'n reghoekige kop aan die einde van die aflaai -kabel geplaas het en dit dan in die gepaardgaande gate op die MCU -bord geplaas het en die eenheid daaraan laat hang, met behoud van 'n goeie, maar tog tydelike, verbinding.

U moet ook die biblioteek vir die RMF69 installeer; sien "Die installering van die RFM69 -biblioteek" op hierdie bladsy.

Wysig op die regte manier (sien kodesegment hieronder), stel die aangehegte Two_bit_Comm -skets saam en laai dit af.

// !!!! Adresse vir hierdie knoop. Keer die ID's om vir die TWEEDE NODE !!!!

#define MYNODEID 1 // My node ID (0 to 255) #define TONODEID 2 // Destination node ID (0 to 254, 255 = broadcast)

Die sagteware maak gebruik van die 'H' hoë -krag weergawe van die radiomodules, deur aanvanklik 'n medium krag te gebruik, en dan kan dit nie 'n erkenning terugkry wat dit met maksimum krag probeer nie. Ek weet nie, maar ek sou verwag dat hierdie operasie nie 'n probleem sou wees as 'n mens die nie -hoë -weergawe van radio's sou gebruik nie.

Operasionele dokumentasie

Initialisering, by opstart:

As 'n eenheid weer begin, initialiseer dit al sy hardeware en sagteware en stuur die modus- en opsie-instellings na die ander eenheid, terwyl dit in sinchronisasie bly. Daar is 'n enkele kort piep en as hierdie aanvanklike kommunikasie slaag, is daar 'n ander piep en 'n groen lig brand. As die kommunikasie misluk, is daar geen tweede piep nie en brand 'n rooi lig. As die kommunikasie misluk, is die ander eenheid waarskynlik buite bereik, afgeskakel of sonder battery. Verskeie herproewe en 'n toename in maksimum transmissiekrag word probeer voordat mislukking aanvaar word.

Modus 1-10-20 Tik komm

  • Hel-o
  • Hulp nodig
  • HULP!
  • Klaar? Reg om te gaan ?
  • Waar is jy ?
  • Bel my.
  • Herhaal asseblief

Gepaste reaksiekonvensies word ook gedefinieer. Insluitend "Area tipe" en "Seksie tipe" antwoorde op "Waar is jy?" versoeke.

Daar moet op gelet word dat u geduldig moet wees as die eenheid reageer, aangesien die druk op die knoppie gedurende hierdie tyd geïgnoreer sal word.

Modus 2 - maak 'n vorm van Morse Code -kommunikasie moontlik

Beide enkelsleutel- en tweesleutelstyl word ondersteun.

Die aangehegte dokument "Two_bit_Comm_user_Manual" dek die volledige besonderhede van die funksionele werking wat deur die sagteware ondersteun word.

Aanbeveel: