element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Ben Heck Featured Content
  • Challenges & Projects
  • element14 presents
  • element14's The Ben Heck Show
  • Ben Heck Featured Content
  • More
  • Cancel
Ben Heck Featured Content
Forum GPIO interface circuits
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Ben Heck Featured Content to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 9 replies
  • Subscribers 44 subscribers
  • Views 831 views
  • Users 0 members are here
  • Controllers
Related

GPIO interface circuits

tm14
tm14 over 10 years ago

I you mentioned doing a episode on GPIO.  I am interested in GPIO interface circuits.

 

I need to upgrade my old home automation system.  It is an old PC with data acquisition ISA cards.  I use one A2D with auto range to sense whole house power usage with two current transformers.  I have 16 optically isolated inputs connected to wired magnetic window and door contacts separately powered at 5V.  I have several relays to control HVACs.  I have many x10 modules to control lights, appliances, and irrigation.  I also have a voice modem to call on intrusion and to receive calls to allow remote control by phone, or locally with local phone system at door entry.  The PC runs with only 1MB memory,  DOS, Quick Basic, and my custom program that handles various schedules and events.  This is really old technology but it still works well.

 

I want to bring it into the 21st century running under Linux.  I could use a Raspberry Pi, plug in a relay board, but I have not found any good ways to do the A2D and digital inputs with GPIO.  I need isolation, protection against high voltage and static discharges from long wire runs to window/door sensors, and A/C and RF noise tolerance.  I also need help in interfacing with the A2D and DIO devices in Linux.  I would like to use GAMBAS, but C, Python, and maybe even BASH would be okay too.  The system runs 24/7 so power usage should be minimized, but functionality and expandability should not be compromised.

  • Sign in to reply
  • Cancel
Parents
  • rmd6502
    rmd6502 over 10 years ago

    Most of the sensors going into your ISA cards are single bits- you could use the Pi's GPIOs to read and/or write them, optoisolator chips aren't that expensive, for instance this one, about $10 for all 16 channels.  Relays to control HVAC can be controlled through optos to a ULN2803, and the current sensor transformers could be read through an Arduino.  Just measure the V/A that the transformers output with a multimeter and calibrate.  I'd bet one is a voltage sensing transformer and the other a current sensor, so you can measure power factor.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • rmd6502
    rmd6502 over 10 years ago

    Most of the sensors going into your ISA cards are single bits- you could use the Pi's GPIOs to read and/or write them, optoisolator chips aren't that expensive, for instance this one, about $10 for all 16 channels.  Relays to control HVAC can be controlled through optos to a ULN2803, and the current sensor transformers could be read through an Arduino.  Just measure the V/A that the transformers output with a multimeter and calibrate.  I'd bet one is a voltage sensing transformer and the other a current sensor, so you can measure power factor.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
  • tm14
    tm14 over 10 years ago in reply to rmd6502

    I'm wondering if a PLC would do the job.  These PLCs have Arduinos:

     

    http://www.industrialshields.com/en/

     

    It would not be programmed to switch outputs based on inputs by itself.  But I was wondering if it could be programmed to scan inputs and report changes to the PC, as well as set outputs based on commands from the PC.  I would like to avoid polling inputs from the PC.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube