Pages: [1] 2   Go Down
Author Topic: Record Changes in Height of Book Stack - Best Sensor?  (Read 2087 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

For a school project I need to track the use of a study aid book.  Students can take 1 book home with them at the end of the day and are to return them the following day.  The dimension of the books is uniform and they are stacked vertically in a wooden box.   Access to them is from the top of the box only.  On the left and right inner sides of the box there is a 2 inch gap with vertical slats running the height of the box so as to keep the books neatly stacked on one another.   

In order to track the number of books that are taken and returned from day to day I am supposed to engineer a device that senses the height of the stack of books as it changes.  The only stipulation is that I cannot use any sort of scale or pressure system to determine the change.   I have some experience with the Arduino board and thought that I might utilize it along with a sensor to monitor the height of the stack as it changed from day-to-day.   

Maybe an IR sensor mounted on the left or right inner side of the box in the 2 inch gap?   I’m not sure if the 2 inch clearance on either side of the book stack would be enough distance from the IR?   Given that the point of the project is to monitor the change in height of a stack of books in a confined space would an IR sensor work or would another type of sensor work better?
Logged

Belgium
Offline Offline
Full Member
***
Karma: 6
Posts: 135
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm also thinking a strip equal to the height of the box with (IR) reflective sensor every other inch (depending on book thickness)
          or,
Mount a strip of IR transmitters on left side of box,  and a strip with receivers on right side of box.

Control and enable each element seperatly and scan through the height of the box.

If you have got a bit of budget you can make custom PCB strips, and maybe coat them in a thick transparent resin for durability.
« Last Edit: March 05, 2013, 10:40:22 am by astrofrostbyte » Logged

Gear: Arduino- Uno,Due,Ethernet,  OLS, Buspirate, J-Link, TDS1002, Rigol DG1022

Rome, Italy
Offline Offline
Sr. Member
****
Karma: 20
Posts: 442
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The idea of two strips of transmitters/receivers sounds good, but if the box doesn't get moved you may also consider a ping ultrasonic sensor placed above the stack.
Logged

UK
Offline Offline
Shannon Member
****
Karma: 222
Posts: 12520
-
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

There is a type of plate rack often used at serving counters which consists of a vertical tube with a sprung platform in it. The spring free length is such that the platform is exactly level with the top of the tube when it is unloaded, and the spring rate is chosen so that the weight of a plate compresses it by exactly the height of a plate. This means that no matter how many plates it's holding, the top plate is just at the top of the tube.

You could do something similar for your book stand. As well as showing the curious some interesting physics, it means that you could sense the number of books from the bottom of the pile rather than the top, which you could do using a string/pot or whatever other type of distance sensor you like. Of course you could have read from the bottom of the stack anyway using a force sensitive resistor to measure the weight of the pile, and that would be my second choice, but that's far less fun.
Logged

I only provide help via the forum - please do not contact me for private consultancy.

0
Offline Offline
Shannon Member
****
Karma: 199
Posts: 11639
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ah, that suggests an approach.

Rather than having to fish around for a set of springs that are just right, use a stepper? motor and screwthread drive
to raise and lower the platform so that the top of the stack is level with some dual light-beam detector.   By counting the
steps needed each time is changes you can count the number of books.

By using a screwthread drive the motor can be powered down between uses.  When both beams are blocked or neither
are blocked (for more than a few seconds), you power up motor and step till just the bottom beam is blocked, simple!

An alternative with less heavyweight engineering is to use one light beam detector than is motor driven.  To measure
the pile of books it just goes to the bottom and scans upwards till the beam gets through - even a simple DC motor can be
used if the speed is nice and constant - just time the motor travel!
Logged

[ I won't respond to messages, use the forum please ]

Offline Offline
God Member
*****
Karma: 27
Posts: 829
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

If you go the IR route, you really only need two interrupters. You would just sense the direction of movement into and out of the box. Increment and decrement your count based on that.

As you described it, there is only one entry and exit point to the box.

My initial thought was more along the lines of Peter's and it sounds like the most fun and interesting, but probably the most complicated to build. If you did go that route, you could add a flag to the pedestal that gives a visual indication of the number of books as well.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks for the ideas.  I'm really looking for something that fairly inexpensive, pretty accurate and not too challenging.  As I mentioned I need to track the height of the book stack as it changes in a confined space - a box.  With that said, it sounds like the two IR stips (transmitter and receiver) might be the way the go as posted by astrofrostbyte.  Can some recommend a manufacturer or perhaps provide a link for the stips?  Would they work with an Arduino board?  If at all possible can someone also suggest a link where I might find some sample code associated with using the IR stips?  I really appreciate everyone's input and advice.
Logged

UK
Offline Offline
Shannon Member
****
Karma: 222
Posts: 12520
-
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

That would need a sender and receiver per book, wouldn't it? How many books do you plan to support?

If you don't fancy the suspended stack approach, I'd have thought weighing the pile of books would give you a simpler solution with lower part count. Force sensitive resistors don't cost much.
Logged

I only provide help via the forum - please do not contact me for private consultancy.

Offline Offline
God Member
*****
Karma: 27
Posts: 829
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The only stipulation is that I cannot use any sort of scale or pressure system to determine the change. 

I believe this is why, Peter.
Logged

Earth
Offline Offline
Edison Member
*
Karma: 52
Posts: 1735
My browser no longer is binding static IP, Floating is the way to go.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I offer 3 plans;-

Plan A.

Digital Calliper and Arduino, measure Height of Book Stack directly. modify Calliper as book holder



Plan B.

Ultrasonic distance sensor and Arduino, measure Height of Book Stack indirectly by leftover Height.




Plan C.

RFID and Arduino, get which books in the shelf, u could get height.


« Last Edit: March 05, 2013, 08:00:59 pm by sonnyyu » Logged

Belgium
Offline Offline
Full Member
***
Karma: 6
Posts: 135
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks for the ideas.  I'm really looking for something that fairly inexpensive, pretty accurate and not too challenging.  As I mentioned I need to track the height of the book stack as it changes in a confined space - a box.  With that said, it sounds like the two IR stips (transmitter and receiver) might be the way the go as posted by astrofrostbyte.  Can some recommend a manufacturer or perhaps provide a link for the stips?  Would they work with an Arduino board?  If at all possible can someone also suggest a link where I might find some sample code associated with using the IR stips?  I really appreciate everyone's input and advice.
You still haven't given us more detailed requirements about your system, like dimensions of book, box ,powersupply, userInterface, etc...

I'm afraid you can not buy IR ledstrips readymade, you also have certain requirements for  spacing etc..
You can make the strips fairly easy when you use 5mm led's. If you buy IRled's make sure to choose one's with small emmision angle.

For reliability I would not go for the book in/out detection with 2 led's  because you have to pay allot of attention to false triggers (people hands etc.
For reliablity i was also thinking of modulation, just to filter out ambient influences. Modulation would be simply switch led ON and off a few times and, checking if photodiode follows.
Do not underestimate receiving the IR signal with the photodiode. Adding an opamp and some filtering might be needed.

Idea was to use a 1->8 or 1->16 Digital Mux for your led's , and 8->1 or 16->1 analogMux for photodiodes depending how many led's(books-levels) you need/have.
I think this can fit on a Arduino nano/mini, but still unclear what your Userinterface is.

« Last Edit: March 06, 2013, 01:02:28 am by astrofrostbyte » Logged

Gear: Arduino- Uno,Due,Ethernet,  OLS, Buspirate, J-Link, TDS1002, Rigol DG1022

UK
Offline Offline
Shannon Member
****
Karma: 222
Posts: 12520
-
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The only stipulation is that I cannot use any sort of scale or pressure system to determine the change. 

I believe this is why, Peter.

Good point, I hadn't spotted that.

In order to know what other type of sensing might work, we need to know more about the characteristics of the books (size, thickness, number) and any constraints in the structure that holds them - does the holder already exist?
Logged

I only provide help via the forum - please do not contact me for private consultancy.

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The box was custom built so that the books are stacked on one another so all sides are aligned.  There is a 2" slit in front of the box which allows you to see the spine of the book.  In other words you can see that there are still books in the box without looking into it from the top.  As I mentioned in my original post "on the left and right inner sides of the box there is a 2 inch gap with vertical slats running the height of the box so as to keep the books neatly stacked on one another."  It's in the gaps that I'd like to place the (still trying to determine the best) sensor.  I'm intrigued by astrofrostbyte's idea:
Quote
Idea was to use a 1->8 or 1->16 Digital Mux for your led's , and 8->1 or 16->1 analogMux for photodiodes depending how many led's(books-levels) you need/have.
I think this can fit on a Arduino nano/mini, but still unclear what your Userinterface is.
and I'm hoping it's not to complicated?  In terms of the interface I'm thinking an Arduino boad powered by a USB chord to which the sesnor(s) is/are attached (if that makes sense?)  I should have also mentioned that I cannot use a ultrasound sensor as the book box gets moved to different areas.  The books are all the same with the following dimensions: Front cover from left to right = 7.5", Front cover from top to bottom = 9", Front cover to back cover = 3/4".  The box can accomodate approximately 15 books. 
Logged

Belgium
Offline Offline
Full Member
***
Karma: 6
Posts: 135
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The Circuit is not to difficult but still needs attention.
First think of your circuit to measure a 1 book high stack with one IRled and one photodiode,  then look at extending it using a 'Analog 16channel Multiplexer' like the 74HCT4067 and others.

BlockDiagram would be a bit like this.  (  just was playing arround with schematics drawing tool on http://www.digikey.com/schemeit#  )
« Last Edit: March 07, 2013, 04:34:29 pm by astrofrostbyte » Logged

Gear: Arduino- Uno,Due,Ethernet,  OLS, Buspirate, J-Link, TDS1002, Rigol DG1022

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I think I'm just about convinced that this is the way to go on this project.  Astrofrostbye, would you mind providing a recommended parts list?  I'd like to get started ASAP.  Thanks for everyone's input to date. I'm sure I'll have more questions to follow. 
Logged

Pages: [1] 2   Go Up
Jump to: