Arduino-based Burglar and Fire Alarm System

Hi folks, I would like to share with you my project.
It is an Arduino based alarm system which consists of 4x4 matrix keypad, 16x02 LCD screen connected to board using 2-wire schematic on 74LS164 and ATmega328p.

Here is the sources: GitHub - mykh/Burglar-and-Fire-Alarm-System-Arduino: Burglar and Fire Alarm System / Arduino

And here is the demo video:

Nicely done, thanks for the video.

Hey mykh!

Wow great project! you've made a very good job, nice and professionnal! how much money do you spend to make that?

Greets.

Very professional looking. Good job!

First of all I want to thank you guys for your comments. I really appreciate it.
I spent on this project about 25 USD:

  • electrical panel box - $3
  • 4x4 Matrix keypad - $4
  • 1602 LCD - $4
  • ATmega328p - $4
  • prototype board, buzzer, relay, 74LS164, etc. - ~$10

+1 :slight_smile:

Great! Where did you get that box for your alarm ?

CrisEg:
Great! Where did you get that box for your alarm ?

It's a regular electrical box I've bought in electrical shop.

box.jpg

mykh:

CrisEg:
Great! Where did you get that box for your alarm ?

It's a regular electrical box I've bought in electrical shop.

Smart idea. Thanks for sharing!

nice.

Great job.

Could you please help me make it work on an normal parallel LCD shield that I usually initialize with LiquidCrystal lcd(8, 9, 4, 5, 6, 7); [ it is this model: Gravity: 1602 LCD Keypad Shield For Arduino - DFRobot ]

I am guessing I should modify something here:

ShiftRegLCDExt::ShiftRegLCDExt(uint8_t srdata, uint8_t srclock, uint8_t srbacklight, uint8_t enable, uint8_t lines)
: ShiftRegLCD(srdata, srclock, enable, lines), pinBacklight(srbacklight), lcdBacklightOnTime(0) and init with LiquidCrystal instead of ShiftRegLCD

So can you please please help me out with this init?

Nice job!
Especially when cutting the wire triggers the alarm.

I found the solution.
I replaced
ShiftRegLCDExt::ShiftRegLCDExt(uint8_t srdata, uint8_t srclock, uint8_t srbacklight, uint8_t enable, uint8_t lines)
: ShiftRegLCD(srdata, srclock, enable, lines), pinBacklight(srbacklight), lcdBacklightOnTime(0)

with

ShiftRegLCDExt::ShiftRegLCDExt(uint8_t srdata, uint8_t srclock, uint8_t srbacklight, uint8_t enable, uint8_t lines)
: LiquidCrystal(8, 9, 4, 5, 6, 7), pinBacklight(srbacklight), lcdBacklightOnTime(0)

Plus:
class ShiftRegLCDExt: public ShiftRegLCD -> class ShiftRegLCDExt: public LiquidCrystal

I have a 74hc595n chip, on the site off the picture (Google Code Archive - Long-term storage for Google Code Project Hosting.) I found a schematic for my chip, the circuit is great, but I think i have to modify the code to make it work
I can get only random letters.
if I use the solution from oby_one I get an error!

can you help me?
Thanks

(I have a b50k potentiometer for the contrast (works great) , a 74hc595n chip.)