Innholdsfortegnelse:

Postkasse og garasjeportvarsler: 5 trinn (med bilder)
Postkasse og garasjeportvarsler: 5 trinn (med bilder)

Video: Postkasse og garasjeportvarsler: 5 trinn (med bilder)

Video: Postkasse og garasjeportvarsler: 5 trinn (med bilder)
Video: Historier for natten. Nytår i det virkelige liv. Skræmmende historier om jul. 2024, Juli
Anonim
Postkasse og garasjeportvarsler
Postkasse og garasjeportvarsler

Denne instruksen er basert på Johan Moberg Mailbox Notifier. Sammenlignet med dette prosjektet, gjorde jeg noen endringer:

  1. Langt borte fra huset mitt er ikke bare postkasse, men også garasje. De er på ett sted nær veien og huset ligger omtrent 50 meter inne i land. På grunn av veldig sensitiv fjernkontroll, har det skjedd noen ganger, garasjeporten var åpen ved et uhell. Nå vil jeg gjerne vite nøyaktig om døren på garasjen er lukket eller ikke. Derfor forlenger jeg det opprinnelige prosjektet for en kontakt til, garasjeportkontakten.
  2. MCU (mikroprosessorkontrollenhet) i avsenderen forblir Attiny-85, noe som er viktig for lavt strømforbruk. Det er ikke nok digitale pins (jeg liker ikke å bruke Reset pin), og jeg løser et problem med en enkel maskinvareløsning.
  3. Mottakerindikasjon utføres av optiske og akustiske signaler. Optiske signaler lages av lysdioder, og for akustisk er det lagt til kretsproduserende sang. MCU (Microprocessor Control Unit) i avsenderen endres, og det er Arduino Nano. Opprinnelig ville jeg gjerne brukt Attiny-85, men mangel på en ledig pin til var en stor hindring. Det er ingen enkel maskinvareløsning.
  4. Små endringer ble gjort i Arduino -programvaren for å opprettholde maskinvaremodifisering ovenfor.
  5. Trådløs halv dupleks kommunikasjon fungerer godt hvis begge enhetene (sender og mottaker) fungerer. Men hvis en av begge enhetene mislykkes (for eksempel lavt batteri og så videre), fortsetter den andre enheten å kjøre og late som kommunikasjon (mottaker). I et slikt tilfelle blir kommunikasjonen avbrutt selv om feilen er rettet på et hvilket som helst nettsted. Løsning: en ny kommunikasjon bør opprettes. Av denne grunn er det lagt til en tilbakestillingskrets i avsenderen, med indikator.

Beskrivelse

Prosjektet består av to deler: sender og mottaker. Avsender lokalisert på garasjestedet oppdager signaler fra postkassekontakt og garasjeportens åpne kontakt. Hvis en av disse kontaktene er aktivert, sender sender HC12 trådløst signal til mottaker. På mottakeren er indikert "alarm" -tilstand, for eksempel "post ankommet" eller "garasjeport åpen" ved å blinke den tilhørende ledede og avspilte sangen. Ved å tilbakestille trykknappen på mottakerenheten, kan indikasjonen avbrytes og starter en ny ventetilstand.

Maksimal avstand

HC-12 kommunikasjonsmodul er dedikert til avstand til 1,8 km. Men denne verdien er teoretisk og kan nås i friluft. Inne i bygningen er maksimal rekkevidde kortere. Jeg hadde problemer med å nå avstand omtrent 100 meter med enkel strengantenne. I dette tilfellet var begge enhetene satt til maksimal rekkevidde - FU4 -modus og 1200 baudhastighet. En enhet var inne i bygningen, bak 4 tykke vegger. Med SMA ble antennen tilkoblet, men ikke stabil. I dette tilfellet ble problemet løst ved å plassere mottakerenheten i et rom som var orientert mot garasjeplassen (bare en vegg).

Etter mine erfaringer. Jeg anbefaler å bruke SMA -antenner med riktig skjøteledning. Denne kabelen skal passe til kontaktene på begge sider (antenne SMA-kontakt og HC-12 Ipex-kontakt).

Trinn 1: Deler og verktøy

Det er følgende deler som brukes:

Lenker er gitt for mindre vanlige deler.

Avsender:

  • Attiny-85, ebay
  • HC-12, ebay
  • Motstander 68, 150, 1k, 10k
  • Diode Schottky SR240, ebay
  • Diode universell, 1N589 eller 1N4148
  • Terminalblokk, banggood
  • SMA -antenne, ebay
  • Kondensatorer 1000M
  • Transistor NPN, S9013, 2N2222 eller lignende
  • Batteri AA holder (3 deler) og batterier
  • Bytt Micro C + NO + NC for Reset
  • LED 5 mm blå
  • Reed kontakter for post og garasjeport brytere, banggood
  • Magneter, banggood
  • Prototype PCB, banggood
  • Koblinger XH, banggood

Mottaker:

  • Arduino-nano, banggood
  • HC-12, ebay
  • Spenningsstabilisator 7805T
  • Melodi IC UM66
  • Transistor NPN, S9013, 2N2222 eller lignende
  • Motstander 2x470, 10k
  • Trimgryte 10k
  • Liten høyttaler
  • Bryter Tilbakestill, banggood
  • LED 10 mm, grønt og gult
  • Diode universell, 1N589 eller 1N4148
  • Kondensator 2x10M, 1000M
  • Hovedadapter 220V AC til 5V DC
  • SMA -antenne
  • Jackkontakt for hovedadapter, banggood
  • LED 10 mm, 2 stk grønt og gult
  • Koblinger XH, banggood

Verktøy:

  • Arduino-uno Rev3-kort for innstilling av HC-12 og programmering av Attiny-85
  • Loddejern
  • Multimeter
  • Brødbrett

Trinn 2: Avsender

Avsender
Avsender
Avsender
Avsender

Avsenderoppsett er på bildet ovenfor.

Batterier er tre stykker AA -type. Toppforbruket er under den første kommunikasjonen som ble startet (ca. 100mA). Prøv å gjøre denne tiden så kortere som mulig. Under ventetiden er forbruket veldig lavt (mindre enn 1ma), og under alarm er forbruket omtrent 40mA i kort tid. D1 beskytter kretsene mot overspenning, hvis batteriene er nye.

SW3, R1, C1 oppretter en tilbakestillingskrets. Statusindikasjon etter tilbakestilling, er blå LED D4. Denne LED -lampen må lyse etter tilbakestilling og indikere: "avsenderen er klar til å etablere tilkobling". Hvis den blå lysdioden er på, kan kommunikasjonen startes ved å trykke Reset -knappen på mottakeren.

D2 og D3 er Schottky -dioder med lav spenning fremover. På grunn av disse dioder bruker bryteren "garasjeporten åpen" det samme programvareavbruddet som bryteren "posten ankom". Hvis SW1 (post) er koblet til bakken, blir avbrudd og alarm for post aktivert. Hvis SW2 (garasje) er koblet til bakken, aktiveres avbrudd for post sammen med alarm for garasje. På denne måten ble en manglende pin på MCU løst.

Passende alarmindikasjon utføres av programvare. Denne maskinvareløsningen lar deg bruke bare ett enkelt avbrudd.

Beskrivelse av Attiny-85 og HC-12 er veldig godt utført inne i nevnte Johan Moberg Instructables.

Trinn 3: Mottaker

Mottaker
Mottaker
Mottaker
Mottaker
Mottaker
Mottaker

Mottakeren drives fra hovedstrømmen med adapter 220V AC til 5V DC. Det kan være hvilken som helst liten adapter med likestrøm utgangsstrøm ca 0,3A. Fordi adapterens utgangsspenning er avhengig av utgangsstrømmen, (det var spenning på omtrent 8V med lav strøm), har jeg lagt til enkel spenningsstabilisator IC1. Diode D1 reduserer spenningen for HC-12.

Arduino Nano utgang D7 kobler spenning om 4V til IC2 melodi generator under alarmtilstand. T1 forsterker signal til høyttaler. Volumet kan justeres med variabel motstand R4. Jeg anbefaler å legge igjen et hull i mottakerdekselet for å få tilgang til denne motstanden. D5 og D6 er utganger for alarmlys. D3, D4-pinner er koblet til HC-12 og gir seriell kommunikasjon. D2 -pinne er inngangs- og følestatus for "Reset" -bryteren.

Tilbakestillingsbryter brukes for to funksjoner:

  1. Aktiver den første tilkoblingen. Etter å ha trykket på den, bør kommunikasjonen starte.
  2. Etter at tilkoblingen er opprettet og alarmen oppstår, kan Reset -knappen tilbakestille alarmen og endre mottakerstatus for "venter".

LED -indikasjon er følgende:

  1. Begge lysdiodene er på og lyser permanent. Dette er starttilstand etter at mottakeren slås på. Hvis avsenderen er klar - blått lys på avsenderen er På, kan forbindelsen opprettes ved å tilbakestille trykknappen på mottakeren.
  2. Etter at forbindelsen er opprettet, blinker begge lysdiodene vekselvis i løpet av omtrent 2 sekunder.
  3. Ved alarm blinker tilsvarende lysdiode i løpet av ca. 1 sekund, den andre lysdioden er mørk.

Trinn 4: Programvare

Arduino ino -filer med komplett programvare er inkludert i dette trinnet.

Programvare for avsender bør lastes til MCU Attiny-85. For programmering av Attiny, bruk Arduino Uno og Arduino IDE -programvare på PC. Det er mange opplæringsprogrammer om hvordan du gjør det, på internett. Jeg anbefaler denne Attiny85 -programmeringen. Etter å ha lastet programmet til Attiny, sett inn brikken i kontakten på senderens kretskort.

Programmering av Arduino Nano er det samme som å programmere Arduino Uno. Bruk USB -kabel og Arduino IDE med valgt Nano -kort i "Tools" og "Board manager". Denne prosessen kan utføres med brett satt inn på brødbrett. Etter programmering plasserer du Nano -kortet i kontakten på mottakerens kretskort.

Begge enhetene HC-12 bør settes til samme parametere med Arduino Uno. Instruksjonene er i original instruks.

Trinn 5: Maskinvare og innstilling

Maskinvare og innstilling
Maskinvare og innstilling

De mest kritiske delene er kontakter for post og garasjeport. Disse kontaktene er plassert inne i postkassen og ved garasjeportens mekaniske spor, på plass som døren når, under lukking. Postkassekontakt består av sivbryter og neodymmagnet. Reed -bryteren er montert med tape, inne i esken på den ene siden av hullet for å sette inn bokstaver. Magnet er festet til postklaffen på en slik måte at den delvis åpne klaffen aktiverer bryteren. Ledninger er koblet til en liten XH -kontakt.

Den samme kontaktløsningen brukes til garasjeport. I dette tilfellet kan det også opprettes kontakt med grensebryter. Det er opp til deg, hvilken variant som skal velges. Men det er noen flere muligheter: Samme garasjeanlegg kan ha rekkeklemme med grensebryterkontakter, inne i garasjeboksen. I dette tilfellet er det bare å koble ledningene til kompetente skruer.

Avsender

Deler er plassert på prototype PCB, som er kuttet til mindre størrelse. På brettet er det plassert stikkontakter for HC-12-modulen og for Attiny-85, kontakter for batteri og rekkeklemmer for begge alarmkontaktene. Utenfor brettet er plassert Reset switch, blå led og SMA -antenne. Alle andre komponenter er på kretskortet loddet og forbundet med ledninger nederst på brettet. Batteriholder og kretskort er montert inne i plastboks. Det kan være hvilken som helst plastboks med riktige dimensjoner, jeg bruker fuktsikker koblingsboks. Boks monteres under garasjetak og ledninger ledes gjennom plastrør.

På bildet av avsenderboksen er det noen deler, som ikke er tema for denne artikkelen. Jeg la til litt mer elektronikk i esken.

Mottaker

Komponenter i mottakeren kan plasseres i en hvilken som helst universalboks. Jeg har brukt plastboks fra gammel trådløs dørklokke. Deler er loddet på prototype PCB igjen, inkludert begge leddioder. Det er stikkontakter for MCU og HC-12-modul, og hankontakter loddet på kortet for høyttaler, tilbakestillingsknapp og strømspenning. I frontdekselet er det laget hull for lysdioder, i øvre del for Reset -knapp og antenne.

Omgivelser

Som forfatteren av det opprinnelige prosjektet har skrevet, er det mange og mange grunner som kan forhindre vellykket kommunikasjon mellom sender og mottaker. Først av alt, dobbeltsjekk ledningstilkoblingen og lodding. Hvis alt er i orden, kan du prøve å etablere kommunikasjon med begge enhetene på bordet, side om side. Hvis det er problemer, sjekk HC-12 moduler i enkel krets med arduino, på to brødbrett. Bruk instruksjoner i henhold til veldig god artikkel om modul: Langdistansekommunikasjon Det er enkel programvare HC-12 messenger. Last den samme programvaren til både arduino og sjekk kommunikasjon. Hvis OK, er begge modulene gode.

Som neste trinn, prøv å utvide arduino uno med HC-12 på brødbrett, til alle komponenter for sender og mottaker, og programmer begge arduinoene. I dette tilfellet, sjekk arduino uno-pins som sammenligner med Attiny-85 og Nano i ino-filer, og endre pin-numre, om nødvendig. Av denne grunn har jeg lagt til ino -filer som tilsvarer arduino -pins i kommentarlinjer. Hvis problemet vedvarer, kan du prøve å finne feil i programmeringen ved å bruke maskinvareseriell. På denne måten kan du skrive inn noen viktige programpunkter, sjekke meldinger og se dem i seriell skjerm. Du kan se hvilke deler av programmet som er fullført og hvilke som ikke er det. Simuler brytere for post og garasje ved å berøre ledninger. Etter problemløsning bytt ut bakplater med MCU (Attiny og Nano).

Den første kommunikasjonen mellom enhetene bør gjøres på bordet. Hvis alt er OK, monter enhetene på plass og sjekk igjen.

Takk for at du leser og lykke til.

Anbefalt: