Search for display case in Topics


Secure method to attach a phone to wall or floor?

I would like to figure out an inexpensive and discreet way to attach a smartphone to the wall or floor (not directly - slightly set apart with e.g a rod or a lead), in a way that it is secure, and can't be easily stolen. The phone will be used as a display screen and will be resting on top of something, so needs to be relatively manouvreable. I have access to a laser cutter / clear perspex / workshop tools / ebay.

Question by CassiaD    |  last reply


Has anyone has experience buying display cases from Displaygifts.com?

The offer baseball, jersey display cases and flag cases at very attractive prices. Would like to hear from anyone who bought from them. http://www.displaygifts.com/

Question by WebKingPower  


I patented a New LED great for home projects and display cases

I have spent three years doing this but here it is. This is a new LED and I actually patented it. Its a screw in unit that has a chip mounted directly onto a solid brass core that takes heat away far better than any circuit board. In addition it screws into any m10x1.5 hole, if you use a flat plate on the front a small insulator and a heatsink or metal on the back with the M10 thread all you need do is make an electrical connection to the plates and you can screw any colour you want into the heatsink. It comes in every wavelength from 380 (uv right up to IR at 1040nm) Ill be adding pics shortly of acrylic displays the 180 degree one is absolutely perfect for these i use frost spray on edges i want to illuminate and leave clear other bits the effect is amazing even masking a flat acrylic and putting two tone pictures using the spray is awsome. iv also designed an off the shelf PCB up to 60watts it drives any series parallel circuit, all you do is program it with the wattage of the whole array. If you program say 15watts in an array with several LED's it powers the array with the exact forward voltage required and alters realtime so the light output is near constant. Also have a patent pending on this as well. I have lots of time and plenty of these available if anyone is interested I am now running a small business based around it and have done some really nice hand crafted kit. More pics to follow all questions welcome Thanks all

Topic by L.E.D Guy    |  last reply


diecast cars acrylic or plexi glass display case/shelf

I have a growing collection of hotwheels, tomy and matchbox cars mostly 1:64 scale. i need an idea on making a clear display case for my cars, in its blister pack and loose cars. something i can hang or put on a table (car can be viewed on both sides). that would be two instructables (i'm demanding).. lol. please help. thanks in advance.

Topic by yayix    |  last reply


Facebook tweaks

I've just pushed out a small set of changes, mostly around the Facebook integration.  The Facebook login button isn't so obvious, and we've now got some admin features to handle a case that turns out to happen more than we expected.  Here's what it is: Some people have both an Instructables account and a Facebook account.  Some of these use different email addresses for each.  When a person clicks the Login with Facebook button and approves Instructables with their Facebook account, one of the pieces of information we get is their email address, and we check it against our existing email addresses so as to link the correct account if we find a match.  Often there is no match, and in the vast majority of these cases the person doesn't already have an Instructables account.  So we make them one, and link it to their Facebook account. However sometimes they do have an Instructables account already, and now all of a sudden they have two!  This is confusing and wrong, and we'd been dealing with it in a rather arduous manner involving direct database changes, which is always something to avoid.  Now we've got a system for admins to handle this case with just a few clicks. Other than that, there are some bugfixes, for example around character display -- a few of our new Facebook visitors don't use the Latin alphabet!  So we handle that a little better now.  We have some more sensible default actions for new registrations, and a couple things to help our admins manage contests more easily, which they've been asking for for some time.

Topic by rachel  


Paid LCD Project

Hello instructables, I have an idea for a device but not the skill to build a prototype.  I am in need of someone with technical skill in microcontrollers and LCDs. The device I aim to create is basically an LCD watch or bracelet. Rather than time which is numerical, I need the watch to display words. It will be wearable on the wrist and therefore use a battery. No buttons or input are required for this project. I also don't need to make the case. I just need the working parts. I envision that this will require an LCD screen, a microcontroller chip, memory, and a battery for power. If you are interested, I will be happy to pay you for your help. If interested, please PM me so we can discuss what I am trying to make further. I am flexible on the design and hopefully it would be a fun and easy project a willing participant.  Again, I will pay for your time and components but this should also be a relatively fun and straightforward project for anyone who's worked with LCDs (e.g Nokia screens) and microcontrollers before. I look forward to hearing from you.  Take care. 

Topic by lamide  


Design help for battery powered LED lighting for display case? Answered

I wonder if people might have suggestions for battery powered lighting for a display case? The all glass case (except for base and canopy) now has an AC powered four MR16 halogen system. I want to replace that because of the heat, and because I don't want a power cord running from canopy down the glass sides. Ugly. I'd like to replace those bi-pin halogens with LED lights and power it all with a rechargeable battery. The canopy over the six foot tall case is 4" deep by 15" wide by 70" long, open at the top. I'd like to conceal the works in that 4" space. I'd want the battery(s) to be easily removeable and reinstallable for external charging. Long life to maximize intervals between charging would be a big plus. The lights would typically only be used when we have visitors. Maybe for as long as a couple of hours several times a month, but probably typically for much shorter periods. Ideas? Thank you. --David

Question by davidqxo    |  last reply


Need your ideas on how to make a wall display case for thomas mini trains

Hi, after buying these little trains for my son, I decided to collect them in order to complete the collection, so they need a home on the wall, if not on the wall in some kind of cabinet where they can be easily displayed. I am not very crafty when it comes to these things but if I spend enough time I think I can build something, but I need some ideas to get started. They take up 2" x 1.5" space, and fit perfectly in 32 slot (30 of them) bead storage cases: https://www.michaels.com/10468278.html Thanks in advance.

Topic by tees_deney    |  last reply


can somebody make an instructable for diecast cars acrylic case? Answered

I have a growing collection of hotwheels, tomy and matchbox cars mostly 1:64 scale. i need an idea on making a clear display case for my cars, in its blister pack and loose (opened packs). something i can hang or put on a table (car can be viewed on both sides). that would be two instructables (i'm demanding).. lol. please help. thanks in advance.

Question by yayix    |  last reply


Laptop Display Upgrade to Touch?

I wish to upgrade my Laptop Display from Non Touch to Touch. I did a bit of research on the internet, but am unable to find a proper answer. Is it possible? I would love to migrate from half HD non touch display to full HD touch display (even IPS). But here in India, I'm unable to find it in this config for 15.6" size (atleast, not cheaply). I have found one display which has a few things common with my old display. Both have TFT with LED Backlight, same size, aspect ratio, resolution and no of pins. Old Display: 15.6 inch TFT with LED Backlight (Non touch) (16:9). Resolution: 1366 x 768. 40 Pins. Part Number: B156XW04V5 Datasheet: https://www.olimex.com/Products/OLinuXino/A20/A20-LCD15.6/resources/B156XW04V5.pdf Cost: ₹5000 ($75 approx) Proposed New Display: 15.6 inch TFT with LED Backlight (Touch) (16:9). Resolution: 1366 x 768. 40 Pins. Part Number: B156XTT01 Datasheet: http://www.datasheetspdf.com/datasheet/download.php?id=923648 Cost: ₹12500 ($180 approx) Would I need to change LVDS cable as well? Existing LVDS Cable: Part Number: P5LJ0 Datasheet: http://www.s-manuals.com/pdf/motherboard/compal/compal_la-7221p_r1.0_schematics.pdf Here are the answers to some questions you might have: 1. Laptop is Acer Aspire TimelineX 5830TG. 2. My Laptop did not have any variant with 1080p display or touch display. 3. The old display is slightly cracked. Hence I need to change it anyway. 4. The top flap, display mounting brackets and bezel are damaged too. And the laptop is 5 years old and am unable to get the replacement parts. Hence I am planning on building a new housing for the new display, in any case. (Suggestions in this regard are also welcome) So a bit of variation in physical dimensions is not a problem. 5. Motherboard is Intel i5 2410M with Intel 3000 graphics processor. Graphics Card is Nvidia 540M. (I couldn't find supported resolutions on official websites, but according to 3rd Party websites, both should support 1080p) 6. I have some experience with Electronic Disassembly and Assembly. 7. I can do soldering, but I'm not very good at it. Hence, would like to avoid it, if possible.

Question by dcthelord    |  last reply


How can I get a car stereo LCD display working?

I shorted 12v power to case, stereo works fine,just LCD display is dead. Thanks.

Question by cornholeeo    |  last reply


Traveling horizontal lines on a projector display?

I hooked up this projector at work (it's a BenQ) and when I view the projected image (in this case a computer screen) I see horizontal lines traveling up the picture. This projector is the only thing on the circuit right now.  I had to branch off the existing electrical line to add a new plug on the ceiling.  When I plug the projector into the existing outlets I get no lines, when I plug it into the outlet I installed I get lines.  The existing outlets on the circuit are all isolated grounds.  I have tried wiring in a regular outlet and then switched it to an isolated ground when the lines appeared, thinking it could be a ground issue.  I know my wiring is correct as I've installed these projectors before. What could it be?

Question by iPodGuy    |  last reply


can i use a digital photo frame display panel as a second monitor, disassembly i guess will be required?

I would like to use a small 7" digital photo frame and remove the lcd panel to use as a display for a htpc case. I am not sure if it's a simple case of soldering a d-sub connector to the panel inputs, or a bit more technical?

Question by khepri    |  last reply


I need a cheap 8-10" LCD display. Are there any digi photo frames that can be converted to a VGA input?

My laptop just died. I want to build a new one. Pelican case style. I don't want to spend a ton of money on the tft touchscreen deals. I just need a display, preferably 800x600 or better display. I really don't want to have to use a TV out to a portable DVD player. As far as not buying a eee or something similar I work in the oil field so this thing will probably see some pretty crappy conditions.

Question by bignick73    |  last reply


Help with SMD marking!

Hello, I recently had a tablet to repair and this SMD IC was damaged: "C03AE". I can't figure out exactly what it is. Results I got range from LDO to Power switch to overcurrent protection. Does anyone know or have the datasheet for the latter? Its SOT-25 package. The tablet works fine without the IC (can charge, work on wall adapter only, etc). Here are some voltage readings WRT to ground (pin 2) and battery at 36% charge (pin numbering as per picture) Case 1: display ON, charger not connected: Pin 1, 3 and 4: 0.00V Pin 5: 3.64V Case 2: display OFF, charger not connected Same as case 1 Case 3: display ON, charger connected Pin 1: 4.74V Pin 3 and 4: 0.00V Pin 5: 4.64V Case 4: display OFF, charger connected Pin 1: 5.11V Pin 3 and 4: 0.00V Pin 5: 4.74V Any help is greatly appreciated. Best Regards, Nawaz

Topic by Nawaz    |  last reply


Ethernet.h causing problems with 7 segment display driver [Arduino]

Hey Instructables,  I have a really annoying issue with some Arduino code I am writing.  The code is for an ethernet controlled countdown timer.  In it's component parts the functions all work fine,  I can drive the 7 segment display fine. I can start/stop/set a count over Ethernet However as soon as I add the line  Ethernet.begin(mac, ip); in void setup()  The 7 segment display starts to show errors, specifically the first of the four digits. Even If I don't include any additional Ethernet related code in the loop, just calling the library on setup causes problems.  I'm not an especially experienced programmer so I'm really hoping someone can share a little of their wisdom here! #include #include          // needed for Arduino versions later than 0018 #include #include          // UDP library from: bjoern@cs.stanford.edu 12/30/2008 int digit1 = 11; //PWM Display pin 1 int digit2 = 10; //PWM Display pin 2 int digit3 = 9; //PWM Display pin 6 int digit4 = 6; //PWM Display pin 8 //Pin mapping from Arduino to the ATmega DIP28 if you need it //http://www.arduino.cc/en/Hacking/PinMapping int segA = A1; //Display pin 14 int segB = 3; //Display pin 16 int segC = 4; //Display pin 13 int segD = 5; //Display pin 3 int segE = A0; //Display pin 5 int segF = 7; //Display pin 11 int segG = 8; //Display pin 15 // Enter a MAC address and IP address for your controller below. // The IP address will be dependent on your local network: byte mac[] = {   0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; IPAddress ip(192, 168, 1, 177); unsigned int localPort = 8888;      // local port to listen on // buffers for receiving and sending data char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; //buffer to hold incoming packet, char ReplyBuffer[] = "acknowledged";       // a string to send back // An EthernetUDP instance to let us send and receive packets over UDP EthernetUDP Udp; elapsedMillis timeElapsed; //declare global if you don't want it reset every time loop runs //  milliseconds in a second unsigned int interval = 1000; unsigned int seconds = 0; unsigned int state = 1; unsigned int timeSetting = 10; unsigned int oldSeconds = 0; char theCount[9] = "01:06:30"; int secs = 0; int mins = 0; int hours = 0; String isItTime = ""; String firstFour = ""; void setup() {                      Ethernet.begin(mac, ip);   Udp.begin(localPort);      pinMode(segA, OUTPUT);   pinMode(segB, OUTPUT);   pinMode(segC, OUTPUT);   pinMode(segD, OUTPUT);   pinMode(segE, OUTPUT);   pinMode(segF, OUTPUT);   pinMode(segG, OUTPUT);   pinMode(digit1, OUTPUT);   pinMode(digit2, OUTPUT);   pinMode(digit3, OUTPUT);   pinMode(digit4, OUTPUT);     pinMode(13, OUTPUT);     } void loop() {     displayNumber(millis()/1000);    } void displayNumber(int toDisplay) { #define DISPLAY_BRIGHTNESS  500 #define DIGIT_ON  HIGH #define DIGIT_OFF  LOW   long beginTime = millis();   for(int digit = 4 ; digit > 0 ; digit--) {     //Turn on a digit for a short amount of time     switch(digit) {     case 1:       digitalWrite(digit1, DIGIT_ON);       break;     case 2:       digitalWrite(digit2, DIGIT_ON);       break;     case 3:       digitalWrite(digit3, DIGIT_ON);       break;     case 4:       digitalWrite(digit4, DIGIT_ON);       break;     }     //Turn on the right segments for this digit     lightNumber(toDisplay % 10);     toDisplay /= 10;     delayMicroseconds(DISPLAY_BRIGHTNESS); //Display this digit for a fraction of a second (between 1us and 5000us, 500 is pretty good)     //Turn off all segments     lightNumber(10);     //Turn off all digits     digitalWrite(digit1, DIGIT_OFF);     digitalWrite(digit2, DIGIT_OFF);     digitalWrite(digit3, DIGIT_OFF);     digitalWrite(digit4, DIGIT_OFF);   }   while( (millis() - beginTime) < 10) ; //Wait for 20ms to pass before we paint the display again } //Given a number, turns on those segments //If number == 10, then turn off number void lightNumber(int numberToDisplay) { #define SEGMENT_ON  LOW #define SEGMENT_OFF HIGH   switch (numberToDisplay){   case 0:     digitalWrite(segA, SEGMENT_ON);     digitalWrite(segB, SEGMENT_ON);     digitalWrite(segC, SEGMENT_ON);     digitalWrite(segD, SEGMENT_ON);     digitalWrite(segE, SEGMENT_ON);     digitalWrite(segF, SEGMENT_ON);     digitalWrite(segG, SEGMENT_OFF);     break;   case 1:     digitalWrite(segA, SEGMENT_OFF);     digitalWrite(segB, SEGMENT_ON);     digitalWrite(segC, SEGMENT_ON);     digitalWrite(segD, SEGMENT_OFF);     digitalWrite(segE, SEGMENT_OFF);     digitalWrite(segF, SEGMENT_OFF);     digitalWrite(segG, SEGMENT_OFF);     break;   case 2:     digitalWrite(segA, SEGMENT_ON);     digitalWrite(segB, SEGMENT_ON);     digitalWrite(segC, SEGMENT_OFF);     digitalWrite(segD, SEGMENT_ON);     digitalWrite(segE, SEGMENT_ON);     digitalWrite(segF, SEGMENT_OFF);     digitalWrite(segG, SEGMENT_ON);     break;   case 3:     digitalWrite(segA, SEGMENT_ON);     digitalWrite(segB, SEGMENT_ON);     digitalWrite(segC, SEGMENT_ON);     digitalWrite(segD, SEGMENT_ON);     digitalWrite(segE, SEGMENT_OFF);     digitalWrite(segF, SEGMENT_OFF);     digitalWrite(segG, SEGMENT_ON);     break;   case 4:     digitalWrite(segA, SEGMENT_OFF);     digitalWrite(segB, SEGMENT_ON);     digitalWrite(segC, SEGMENT_ON);     digitalWrite(segD, SEGMENT_OFF);     digitalWrite(segE, SEGMENT_OFF);     digitalWrite(segF, SEGMENT_ON);     digitalWrite(segG, SEGMENT_ON);     break;   case 5:     digitalWrite(segA, SEGMENT_ON);     digitalWrite(segB, SEGMENT_OFF);     digitalWrite(segC, SEGMENT_ON);     digitalWrite(segD, SEGMENT_ON);     digitalWrite(segE, SEGMENT_OFF);     digitalWrite(segF, SEGMENT_ON);     digitalWrite(segG, SEGMENT_ON);     break;   case 6:     digitalWrite(segA, SEGMENT_ON);     digitalWrite(segB, SEGMENT_OFF);     digitalWrite(segC, SEGMENT_ON);     digitalWrite(segD, SEGMENT_ON);     digitalWrite(segE, SEGMENT_ON);     digitalWrite(segF, SEGMENT_ON);     digitalWrite(segG, SEGMENT_ON);     break;   case 7:     digitalWrite(segA, SEGMENT_ON);     digitalWrite(segB, SEGMENT_ON);     digitalWrite(segC, SEGMENT_ON);     digitalWrite(segD, SEGMENT_OFF);     digitalWrite(segE, SEGMENT_OFF);     digitalWrite(segF, SEGMENT_OFF);     digitalWrite(segG, SEGMENT_OFF);     break;   case 8:     digitalWrite(segA, SEGMENT_ON);     digitalWrite(segB, SEGMENT_ON);     digitalWrite(segC, SEGMENT_ON);     digitalWrite(segD, SEGMENT_ON);     digitalWrite(segE, SEGMENT_ON);     digitalWrite(segF, SEGMENT_ON);     digitalWrite(segG, SEGMENT_ON);     break;   case 9:     digitalWrite(segA, SEGMENT_ON);     digitalWrite(segB, SEGMENT_ON);     digitalWrite(segC, SEGMENT_ON);     digitalWrite(segD, SEGMENT_ON);     digitalWrite(segE, SEGMENT_OFF);     digitalWrite(segF, SEGMENT_ON);     digitalWrite(segG, SEGMENT_ON);     break;   case 10:     digitalWrite(segA, SEGMENT_OFF);     digitalWrite(segB, SEGMENT_OFF);     digitalWrite(segC, SEGMENT_OFF);     digitalWrite(segD, SEGMENT_OFF);     digitalWrite(segE, SEGMENT_OFF);     digitalWrite(segF, SEGMENT_OFF);     digitalWrite(segG, SEGMENT_OFF);     break;   } }

Topic by drkovorkian    |  last reply


How to use LEDs for the first time?

I'm making a display case as a gift and I wanted to add a couple of LED lights with a simple switch to turn on/off.  Doesn't need to be super bright or too fancy.  The case will be about 12" long x 5" deep x 5-6" high overall.  Can anyone direct me to a good site to learn the basics of working with LEDs?  Like how to wire them up and put in the switch?  Thank you!

Question by Adlai85    |  last reply


UPDATE !!!! Sneak Peak: preview of initial results of my prototype display case....

Here is what I got when I fired up the project in total darkness......it needs tweaking, which I will do this weekend and hopefully publish then. WOW !  Is this ever taking a LONG time (and back breaking work at my bench).   Had I thought ahead, I would have saved myself a LOT of trouble and gotten myself some LED sockets....soldering over 90 pairs of leads is tedious at best.....

Topic by Goodhart    |  last reply


how to turn an old Macintosh computer into a monochrome monitor (ie add composite video in) for Arduino Pong or TVout?

Can someone explain how to add a composite video input to an old black & white Macintosh SE or Classic computer (in my case a Mac Classic II) to use as a display for Arduino Pong or other projects? For info on hooking Arduino to a TV, see http://www.arduino.cc/playground/Main/TVout Maybe you could make it switchable so you can still use the Macintosh as a Macintosh.

Question by apple-o    |  last reply


Old image used for "Recent Instructables" display

Hello, I published an instructable ( https://www.instructables.com/id/Large-LEGO-MineCraft-Creeper-Bot/ ) last night. Today when I view the "Recent Instructables" under the LEGO Channel I find that a much older image is being used in the "Recent Instructables" view at https://www.instructables.com/tag/type-id/category-play/channel-lego/?sort=RECENT The old image has not been used in the instructable for a few days now. I have been assuming that the first image on the first (intro) page of an instructable would be used. I have since deleted the old image. Is there any way to update this? The older image was a placeholder and not reflective of the quality of the project. I have been using the 'old' editor for this project, though I did temporarily try the new editor. Old image: https://cdn.instructables.com/F14/BXKK/HT3DZV0X/F14BXKKHT3DZV0X.RECTANGLE1.jpg New image: https://cdn.instructables.com/FCM/Q0TE/HU1RX9SF/FCMQ0TEHU1RX9SF.MEDIUM.jpg These have also been attached in case the links above fail : ) Thank you!  - Josh W.

Topic by joshdont    |  last reply


Hand Made "Mummified Faeries" on Etsy!

Isher Creations on Etsy has several hand made "mummified Faerie" displays available for sale.  Several photos of each specimen are on the site. These would make excellent displays for your dark art collection, Halloween Haunt, bookcase...wherever!  Each is in its own display case. Check it out today!

Topic by justjimAZ    |  last reply


Has anyone put battery operated mini LED spotlights in an acrylic display case?

I was  given  a Bradford Mint 1:24 scale 1966 Mustang convertible model car for my birthday. I want to display the car in a lighted acrylic 10" cube and a 3" base. I am asking the Instructables community for their help, as I have never undertaken a project like this before.To begin the car measures about 8" Lx 4" W x roughly 4" H. Now, here are my three questions. First, would an AA battery power source run a switch plus 4 LED violet spotlights? Second, what can I use to attach the LED's to the base? And is there a way to harness the LED light to only highlight a specific point on the model car ? I have never undertaken anything like this before. And although I can picture the look I'd like to achieve in my head; I'm very much in the dark about a lot of the details needed to get the job done.Any help on any one or all four of my questions would be greatly appreciated.  Thank you, Cathy

Question by polus    |  last reply


Old Smartphone LCD as Head Mounted Display?

I've got an old HTC EVO 4G, otherwise known as the PC36100.  I'm attempting to create a 1 to 1 display to connect directly to my computer for a cheap Head Mounted Disply.  I've attempted to use various wireless RDPs.  However, the lag while attempting to do ANYTHING is horrible.  So I attempted to find an app that would connect directly to the phone via USB.  I found two.  Neither of which I feel comfortable dropping money on with such poor reviews and trials that don't work. So finally, I decided why not just use the LCD directly.  No messing with the hardware limitations of the phone at all.  So I took the phone apart.  I got right down to the LCD itself and found that it has a 17-pin input.  But, I don't really know much about it beyond that.  I can tell you that the cable reads: Career 06 94V-0 <->2 C36_FPC REV A I even have a picture of it.  I think it's attached.  If not, I'll fix that. Essentially what I want to know is, what do I need to make it be a fully working LCD monitor for my computer.  I know I'll need a module to convert the signal from what it is now to HDMI or VGA whatever the case may be.  I also know I need power to the screen.  But, beyond that, I don't know where to look.  I've tried looking up the cable information, but I'm not getting great results.  Any help in the matter, would be greatly appreciated.  Thank you.

Question by seniorfrito    |  last reply


How Can I Make a Display Stand for my Custom Starship?

I designed a custom Star Trek ship for my friend for Christmas and had it 3D printed through Shapeways. I'd really like to make a stand for it, but since she's coming home right after New Years and I'm running very low on funds I can't have one 3D printed. Is there a relatively cheap and quick way to make a decent looking stand, preferably one that doesn't physically attach to the ship? Here's a photo of it, just in case that helps!

Question by Numbuh1Nerd    |  last reply


Can I make this using nokia 3155 LCD components?

I have a broken nokia 3155 phone but the LCD's is still functioning well. I had the idea to use it as a front panel display on the PC's case to display the disk capacity, the date and time, temperature, etc. Do you think is it possible? I do not understand at all about electronics so if you think it's possible, please teach me how. *sorry for my english reference images:

Question by starsaver99    |  last reply


PETTY COIN BANK- initial stage. Can anyone help?

Hey Guys... need some advise and help on the initial idea and components of this project. PETTY COIN BANK: PURPOSE: - To electronically segregate coins, display the total number of coins per each case and the total monetary amount inside, with dispensing and security capability. FUNCTION: - Individual coins inserted in the coin slot will be segregated to go to the corresponding individual coin cases and each case will count and display the number of coins dropped in them and a general display for the total amount of money inserted in the device. With a security lock, the device is capable of dispensing coins. so What do you think? Some advise on how i can make this possible... I do have some ideas on the segregation and dispensing mechanisms of the project, and how to identify each of the coins from each other when inserted in the coin slot.My concern would be the Displays for the each NUMBER OF COINS that falls per case (3 displays in total), and the TOTAL MONETARY AMOUNT display that counts per inserted coin in the system. Of course when dispensing, the number of coins should be decremented and the TOTAL MONETARY AMOUNT would change as well depending on the coin and number of coins dispensed. And as you might have read from the purpose and function, this project intends to have a security lock for the dispensing mechanism. Anyone can put coins but only someone that knows the code can dispense coins. I plan on putting a keypad for that. but here is the thing... I DON'T KNOW WHAT MICRO-CONTROLLER I SHOULD USE. I plan on using ARDUINO, but what arduino should i use? and if someone can help i'd like a count of the inputs and outputs so i can decide on what to use. Thanks if someone helps on this...

Question by Gedon    |  last reply


Library for easy alpha-numeric display on an LED matrix?

I'm looking for a library for either the Arduino or AVR line of microcontrollers, that enables easy display of scrolling text on a 5x7 or 8x8 LED matrix.  Here's what my requirements are: - The library should contain a table of common alphanumeric characters (alphabet, numbers, and maybe some symbols) - A function should call up any number of letters to form words or phrases, like this: Scroll(H,E,L,L,O,sp,W,O,R,L,D); - Once the function is called, the text automatically scrolls across the display - The function can be called from anywhere, like if/then statements, case statements, results of random numbers, etc. - Additional modifiers, like scrolling left or right, speed, and repetition would be nice to have but not necessary. I've searched the AVRfreaks forum and various Arduino forums, but haven't found what I'm looking for.  So far anything I've found is basically hard-coded bit-banging, making it difficult to change the text and impossible to store more than maybe 100 total characters.  My goal, with a set library of characters, is to have the ability to play back hundreds or thousands of characters, arranged as single words or phrases.  They should be as easy to change as typing in a new sentence in plain language into the code.   So, has anyone come across such a thing?

Question by jeff-o    |  last reply


Anyone thought of adding a second lcd panel to a laptop to create a dual display?

Hello everyone, Just wanted to ask a question to all of you modders out there... Seeing as two or three new products have been shown off at technology shows sporting dual displays on a laptop of normal dimensions, has anyone thought of trying to add one themselves? They are so thin now, and I am sure altering components such as lcd controllers and graphics output could be done pretty straightforwardly. Several teams appear to have come up with what I would expect is the most efficient and attractive method: a sliding lcd panel in front of the second panel, both embedded in the lid. I am a video editor, and this would be ideal as our programs are so big, we need as much real estate as we can get visually. Anyone willing to give it a go with an old spare and do an instructable? Here is a link to my favourite dual display laptop design: http://www.techspot.com/news/36018 [...] ebook.html http://www.engadget.com/2009/12/10 [...] -kohjinsh/ The two ends of the laptop spectrum - high end desktop replacement with two 15" screens (adding two full HD 1080p 15.6" wouldn't be too hard); and a 10" netbook with a 768p dual display setup proves that it is practically feasible and even financially viable. A bit of casing areound the second panel, an extra GFX module using an expresscard port or similar, perhaps an lcd controller, and bob is your father's brother. If anyone thinks they could manage it in principle, please do upload any pics of the project - Im sure many will find it useful and inspiring for their own mods... Thanks, David

Topic by davidmoss1595    |  last reply


i am looking for a way to create a fps-like head mounted display.

I have read looked at alot of the hmd's on this site, but none of them do anything more than show what you can already see without them. i want to build/buy (preferably build) a hmd with a compass, gps guiding system, battery life, ect. i know its alot, but i think it would be cool and useful in alot of cases.

Question by mr. nucleomitophobia    |  last reply


Have an interesting thing for sell...

I have a brand new, unused bare (without a proper case) DVD player screen. I am going to sell it on Ebay once more. It can display 200,000+ colors, etc. Look for it up in a couple weeks or so. Thanks Ethan

Topic by deedeedee9    |  last reply


Gameboy/Ipod Interface, eh?

So I have my old Gameboy Color and I have my Ipod. The color doesnt have much use as I dont use it very often but I use the Ipod all the time. I want to put the two together to form something cool and/or intersting. I don't want to simply make a case or anything, I would rather wire up a cartridge to display the...display of the Ipod. Added functionality would be in the use of the buttons to change volume and track and whatnot. Any help would be awesome.

Topic by Danielk    |  last reply


Pdf export breaks special characters - in my case for Czech language

The PDF export is a great feature. I experienced a bug in text encoding with Czech language. When special characters like: č ě š č ř ž ý á  got displayed badly (as few other characters) in the pdf while on the web they look ok. Would be really great to see this fixed since i want to do my Instructables bi-lingual. thanks: this is a link to my instructable that causes problems. https://www.instructables.com/id/Upload-new-software-to-Trinity-using-Arduino-Jak-n/ and link to pdf itself: https://dl.dropboxusercontent.com/u/34763329/Upload-new-software-to-Trinity-using-Arduino-Jak-n.pdf i am using chrome on OSX 10.7.5 keep up great work. Václav and btw. the new file uploader didn`t work to attach the pdf - so i tried the old one and now I don`t see whether the pdf is attached or not - thats why i attached the dropbox link

Topic by bastl-instruments    |  last reply


Make a stamp disappear?

I'm planning a mystery dinner party. There will be a postage stamp on display. I have a way to trigger a lights-out remotely (just by plugging the lamps into a remote-control switch). During the blackout, which will last a few seconds until I can "find the fuse box," the stamp needs to disappear. I could of course just walk over and steal it myself, but I'm looking for other suggestions. Print the stamp with some kind of ink that will vanish if hit with a camera flash? Some sort of motor-and-string attachment that could pull the stamp into a hidden chamber in the display case?

Topic by snoyes    |  last reply


Instructables colors? Answered

Hey guys, in case you haven't noticed, there is a colored banner underneath everyone's display pic with a number that states how many instructables they have published. I was wondering what color corresponds to which numbers (like I know that at least 1-5 is blue)?

Question by A-Nony-Mus    |  last reply


Connect a Sketch Answered

This is a People counter, well hope to be if working.ha. Lazer across a doorway hitting a LDR. The 4 digit 7 seg display counting up 1 each time a person breaks the beam.  As of now i  have a counting sketch from the Sparkfun example. It is counting up 0 to 999 and at the same time i have an LDR reading to the serial monitor and blinking the LED on pin 13. But they are not "interacting". I am trying to get the beam breakes from the LDR to advance the count by 1 every time it is broken. In the loop function is the mills that was advancing the counting. I have changed it to   displayNumber(counter).  Among other things.But i haven't been successful in having the LDR advance the count. The sketch is still missing some "stuff". What could i change to have the counter advance by 1 every time the lazer beam is broken?    Thanks W /* 6-13-2011 Spark Fun Electronics 2011 Nathan Seidle This code is public domain but you buy me a beer if you use this and we meet someday (Beerware license). 4 digit 7 segment display: http://www.sparkfun.com/products/9483 Datasheet: http://www.sparkfun.com/datasheets/Components/LED/7-Segment/YSD-439AR6B-35.pdf This is an example of how to drive a 7 segment LED display from an ATmega without the use of current limiting resistors. This technique is very common but requires some knowledge of electronics - you do run the risk of dumping too much current through the segments and burning out parts of the display. If you use the stock code you should be ok, but be careful editing the brightness values. This code should work with all colors (red, blue, yellow, green) but the brightness will vary from one color to the next because the forward voltage drop of each color is different. This code was written and calibrated for the red color. This code will work with most Arduinos but you may want to re-route some of the pins. 7 segments 4 digits 1 colon = 12 pins required for full control */ #define ldrPin A2    // pin used for input (analog)    int digit1 = 11; //PWM Display pin 1 int digit2 = 10; //PWM Display pin 2 int digit3 = 9; //PWM Display pin 6 int digit4 = 6; //PWM Display pin 8 //Pin mapping from Arduino to the ATmega DIP28 if you need it //http://www.arduino.cc/en/Hacking/PinMapping //int ldrPin = A2; int segA = A1; //Display pin 14 int segB = 3; //Display pin 16 int segC = 4; //Display pin 13 int segD = 5; //Display pin 3 int segE = A0; //Display pin 5 int segF = 7; //Display pin 11 int segG = 8; //Display pin 15 int ldr_pinValue; int counter; int currState; int then; //int ldrpread; //int digit[4]; //int leftover; int LDR = A2;                                //analog pin to which LDR is connected, here we set it to 0 so it means A0 int LDRValue = 0;                    //that’s a variable to store LDR values int light_sensitivity = 500;  //This is the approx value of light surrounding your LDR //int digit_to_show = 0; int ldr_Pin = 0;  // LED status (0 = low, 1 = high) int inVal = 0;    // variable used to store state of input int switchOn = 725;   // value at which we switch LED on int switchOff = 550;  // value at which we switch LED off void setup() {         {     Serial.begin(9600);            //start the serial monitor with 9600 buad     pinMode(13, OUTPUT);     //we mostly use13 because there is already a built in yellow LED in arduino which shows output when 13 pin is enabled   }       pinMode(ldr_Pin, INPUT );    pinMode(segA, OUTPUT);   pinMode(segB, OUTPUT);   pinMode(segC, OUTPUT);   pinMode(segD, OUTPUT);   pinMode(segE, OUTPUT);   pinMode(segF, OUTPUT);   pinMode(segG, OUTPUT);   pinMode(digit1, OUTPUT);   pinMode(digit2, OUTPUT);   pinMode(digit3, OUTPUT);   pinMode(digit4, OUTPUT);     pinMode(13, OUTPUT); } void loop(){ {     LDRValue = analogRead(LDR);          //reads the ldr’s value through LDR which we have set to Analog input 0 “A0″     Serial.println(LDRValue);                  //prints the LDR values to serial monitor     delay(5);                                                //This is the speed by which LDR sends value to arduino     if (LDRValue < light_sensitivity)       {         digitalWrite(13, HIGH);       }     else       {         digitalWrite(13, LOW); {    if (currState() >  300) then         currState = HIGH    } else     currState = LOW //endif if currState != prevState and currState == LOW then // LOW or HIGH depending on the circuit     counter++     prevState = currState endif      //long startTime = millis();   displayNumber(counter);     //while( (millis() - startTime) < 2000) {   //displayNumber(1217);   //}   //delay(1000);    } //Given a number, we display 10:22 //After running through the 4 numbers, the display is left turned off //Display brightness //Each digit is on for a certain amount of microseconds //Then it is off until we have reached a total of 20ms for the function call //Let's assume each digit is on for 1000us //Each digit is on for 1ms, there are 4 digits, so the display is off for 16ms. //That's a ratio of 1ms to 16ms or 6.25% on time (PWM). //Let's define a variable called brightness that varies from: //5000 blindingly bright (15.7mA current draw per digit) //2000 shockingly bright (11.4mA current draw per digit) //1000 pretty bright (5.9mA) //500 normal (3mA) //200 dim but readable (1.4mA) //50 dim but readable (0.56mA) //5 dim but readable (0.31mA) //1 dim but readable in dark (0.28mA) void displayNumber(int toDisplay) { #define DISPLAY_BRIGHTNESS  500 #define DIGIT_ON  HIGH #define DIGIT_OFF  LOW   long beginTime = millis();   for(int digit = 4 ; digit > 0 ; digit--) {     //Turn on a digit for a short amount of time     switch(digit) {     case 1:       digitalWrite(digit1, DIGIT_ON);       break;     case 2:       digitalWrite(digit2, DIGIT_ON);       break;     case 3:       digitalWrite(digit3, DIGIT_ON);       break;     case 4:       digitalWrite(digit4, DIGIT_ON);       break;     }     //Turn on the right segments for this digit     lightNumber(toDisplay % 10);     toDisplay /= 10;     delayMicroseconds(DISPLAY_BRIGHTNESS);     //Display digit for fraction of a second (1us to 5000us, 500 is pretty good)     //Turn off all segments     lightNumber(10);     //Turn off all digits     digitalWrite(digit1, DIGIT_OFF);     digitalWrite(digit2, DIGIT_OFF);     digitalWrite(digit3, DIGIT_OFF);     digitalWrite(digit4, DIGIT_OFF);   }   while( (millis() - beginTime) < 10) ;   //Wait for 20ms to pass before we paint the display again } //Given a number, turns on those segments //If number == 10, then turn off number void lightNumber(int numberToDisplay) { #define SEGMENT_ON  LOW #define SEGMENT_OFF HIGH   switch (numberToDisplay){   case 0:     digitalWrite(segA, SEGMENT_ON);     digitalWrite(segB, SEGMENT_ON);     digitalWrite(segC, SEGMENT_ON);     digitalWrite(segD, SEGMENT_ON);     digitalWrite(segE, SEGMENT_ON);     digitalWrite(segF, SEGMENT_ON);     digitalWrite(segG, SEGMENT_OFF);     break;   case 1:     digitalWrite(segA, SEGMENT_OFF);     digitalWrite(segB, SEGMENT_ON);     digitalWrite(segC, SEGMENT_ON);     digitalWrite(segD, SEGMENT_OFF);     digitalWrite(segE, SEGMENT_OFF);     digitalWrite(segF, SEGMENT_OFF);     digitalWrite(segG, SEGMENT_OFF);     break;   case 2:     digitalWrite(segA, SEGMENT_ON);     digitalWrite(segB, SEGMENT_ON);     digitalWrite(segC, SEGMENT_OFF);     digitalWrite(segD, SEGMENT_ON);     digitalWrite(segE, SEGMENT_ON);     digitalWrite(segF, SEGMENT_OFF);     digitalWrite(segG, SEGMENT_ON);     break;   case 3:     digitalWrite(segA, SEGMENT_ON);     digitalWrite(segB, SEGMENT_ON);     digitalWrite(segC, SEGMENT_ON);     digitalWrite(segD, SEGMENT_ON);     digitalWrite(segE, SEGMENT_OFF);     digitalWrite(segF, SEGMENT_OFF);     digitalWrite(segG, SEGMENT_ON);     break;   case 4:     digitalWrite(segA, SEGMENT_OFF);     digitalWrite(segB, SEGMENT_ON);     digitalWrite(segC, SEGMENT_ON);     digitalWrite(segD, SEGMENT_OFF);     digitalWrite(segE, SEGMENT_OFF);     digitalWrite(segF, SEGMENT_ON);     digitalWrite(segG, SEGMENT_ON);     break;   case 5:     digitalWrite(segA, SEGMENT_ON);     digitalWrite(segB, SEGMENT_OFF);     digitalWrite(segC, SEGMENT_ON);     digitalWrite(segD, SEGMENT_ON);     digitalWrite(segE, SEGMENT_OFF);     digitalWrite(segF, SEGMENT_ON);     digitalWrite(segG, SEGMENT_ON);     break;   case 6:     digitalWrite(segA, SEGMENT_ON);     digitalWrite(segB, SEGMENT_OFF);     digitalWrite(segC, SEGMENT_ON);     digitalWrite(segD, SEGMENT_ON);     digitalWrite(segE, SEGMENT_ON);     digitalWrite(segF, SEGMENT_ON);     digitalWrite(segG, SEGMENT_ON);     break;   case 7:     digitalWrite(segA, SEGMENT_ON);     digitalWrite(segB, SEGMENT_ON);     digitalWrite(segC, SEGMENT_ON);     digitalWrite(segD, SEGMENT_OFF);     digitalWrite(segE, SEGMENT_OFF);     digitalWrite(segF, SEGMENT_OFF);     digitalWrite(segG, SEGMENT_OFF);     break;   case 8:     digitalWrite(segA, SEGMENT_ON);     digitalWrite(segB, SEGMENT_ON);     digitalWrite(segC, SEGMENT_ON);     digitalWrite(segD, SEGMENT_ON);     digitalWrite(segE, SEGMENT_ON);     digitalWrite(segF, SEGMENT_ON);     digitalWrite(segG, SEGMENT_ON);     break;   case 9:     digitalWrite(segA, SEGMENT_ON);     digitalWrite(segB, SEGMENT_ON);     digitalWrite(segC, SEGMENT_ON);     digitalWrite(segD, SEGMENT_ON);     digitalWrite(segE, SEGMENT_OFF);     digitalWrite(segF, SEGMENT_ON);     digitalWrite(segG, SEGMENT_ON);     break;   case 10:     digitalWrite(segA, SEGMENT_OFF);     digitalWrite(segB, SEGMENT_OFF);     digitalWrite(segC, SEGMENT_OFF);     digitalWrite(segD, SEGMENT_OFF);     digitalWrite(segE, SEGMENT_OFF);     digitalWrite(segF, SEGMENT_OFF);     digitalWrite(segG, SEGMENT_OFF);     break;   } }

Question by WWC    |  last reply


Change a 7 seg display from CC to CA in code? Answered

I am not as familiar with C/C++ as i am with Arduino. I am wanting to change this code from Common Cathode to Common Anode. How can i do this? //_____________________ fuse.c #define F_CPU 8000000UL #include #include #include #include #include #define _REVERSE #define _OPT_BUTTON_ /* . document tab-stop set to 4, best viewed w/ vi set to ":set ts=4" . description   this project is created so that if i could revert the RESET fuse change and flash via   SPI again. . features   . reads device signature and hi-low fuses for hi-voltage serial programmable attinys   . reset hi-low fuses to factory default on target devices   . layout to drop-on attiny13, attiny25/45/85 8 pin devices targets   . attiny24/44/84 targets needs additional breadboard and jumper wires   . standalone operations, fuses show on 7 segment display . project fuse setting   avrdude -c usbtiny -p t2313 -V -U lfuse:w:0xe4:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m . parts list   . attiny2313   . 4x7 segment LED display   . 1k resistor x 2   . 2n2222 NPN transistor or equivalent   . 78L05   . mini breadboard 170 tiepoints   . +12V battery source . opearation   . place 8 pin target device on breadboard   . for 14 pin targets, jumper wire to breadboard   . apply 12V power   . display shows device name upon identification   . press and release button to cycle display content   . displays device name, fuse hi bits, fuse low bits and fuse extended bits   . long press and release button to reset fuse to factory default   . references and related projects   . datasheets   . avrdoper http://www.obdev.at/avrusb/avrdoper.html/   . mightyohm http://www.mightyohm.com/blog/2008/09/arduino-based-avr-high-voltage-programmer/                  Gd 12V                  Gd Rt V+ Ck MI MO (tinyusb programmer)                   +  +  +  +  +  +    +=====================================================+    |  .  .  .  .  .  I  .  .  .  .  .  .  .  .  .  .  .  | [I]n (78L05)    |  .  .  .  .  C  .  .  .  .  .  .  .  .  .  .  .  .  | [C]ommon    |  .  .  .  .  .  .  O  .  .  .  .  .  .  .  .  .  .  | [O]ut    | (v)(d)(b)(c) +--------o (v) .  .  .  .  . (d)(c) .  |    |  +--+--+--+  |  o  +--+-(1)-A--F-(2)(3)-B--+--+  .  |    | |+         | 1k | |+ b7..6..5..4..3..2..1..0 d6|    |    | |         -| |  1k|R d0..1 a1..0 d2..3..4..5  -|    |    |  +--+--+--+  o  |  +--+--+--+--+--+--+--+--+--+  .  |    |  .  .  .  .  .  o  -  -  E  D (.) C  G (4) -  -  .  |    |  o--------------o  .  .  .  .  .  .  .  .  .  .  .  |    |  . (a) .  E  B  C  . (a) .  .  .  .  .  . (b) .  .  | EBC of 2n2222    |  .  .  .  .  .  .  .  .  .  .  .  .  .  o--B--o  .  |    +=====================================================+                     (p)(p)                                 join (p)(p) during programming       SDO   SDI     +--+--+--+    |+    SII  |    |R        -|     +--+--+--+       SCI #define HIV _BV(7) //b7 .. RESET #define VCC _BV(6) //b6 .. (v) #define SDO _BV(0) //b0 .. (d) #define SCI _BV(0) //d0 .. (a) #define SII _BV(5) //d5 .. (b) #define SDI _BV(6) //d6 .. (c) */ #define BUTTON_DDR   DDRD #define BUTTON_PORT  PORTD #define BUTTON_PIN   _BV(4) #define SEG_A_PB _BV(5) #define SEG_B_PB _BV(1) #define SEG_C_PB 0x00 #define SEG_D_PB 0x00 #define SEG_E_PB 0x00 #define SEG_F_PB _BV(4) #define SEG_G_PB 0x00 #define SEG_d_PB 0x00 #define DIGIT_0_PB _BV(6) #define DIGIT_1_PB _BV(3) #define DIGIT_2_PB _BV(2) #define DIGIT_3_PB 0x00 #define SEG_A_PD 0x00 #define SEG_B_PD 0x00 #define SEG_C_PD _BV(2) #define SEG_D_PD _BV(7)  // d.7 maps to a.1 #define SEG_E_PD _BV(1) #define SEG_F_PD 0x00 #define SEG_G_PD _BV(3) //#define SEG_d_PD 0x00 #define SEG_d_PD _BV(6)  // d.6 maps to a.0 #define DIGIT_0_PD 0x00 #define DIGIT_1_PD 0x00 #define DIGIT_2_PD 0x00 #define DIGIT_3_PD _BV(4) #ifdef _REVERSE #define HOLD_DDR_VAL 0x60 #define HOLD_VAL   0x40 #else #define HOLD_DDR_VAL 0x18 #define HOLD_VAL   0x08 #endif #define SEGS_STAY(v) \    (((v & _BV(6)) ? 1 : 0) +\ ((v & _BV(5)) ? 1 : 0) +\ ((v & _BV(4)) ? 1 : 0) +\ ((v & _BV(3)) ? 1 : 0) +\ ((v & _BV(2)) ? 1 : 0) +\ ((v & _BV(1)) ? 1 : 0) +\ ((v & _BV(0)) ? 1 : 0)) | 0x40 #define SEGS_PORT_DET(p, v) \    (((v & _BV(6)) ? SEG_A_P##p : 0) | \ ((v & _BV(5)) ? SEG_B_P##p : 0) | \ ((v & _BV(4)) ? SEG_C_P##p : 0) | \ ((v & _BV(3)) ? SEG_D_P##p : 0) | \ ((v & _BV(2)) ? SEG_E_P##p : 0) | \ ((v & _BV(1)) ? SEG_F_P##p : 0) | \ ((v & _BV(0)) ? SEG_G_P##p : 0)) #define SEGS_PORT(v) {SEGS_STAY(v),SEGS_PORT_DET(B, v),SEGS_PORT_DET(D, v)} #define SEGS_B (SEG_A_PB|SEG_B_PB|SEG_C_PB|SEG_D_PB|SEG_E_PB|SEG_F_PB|SEG_G_PB|SEG_d_PB) #define SEGS_D (SEG_A_PD|SEG_B_PD|SEG_C_PD|SEG_D_PD|SEG_E_PD|SEG_F_PD|SEG_G_PD|SEG_d_PD) #define DIGITS_B (DIGIT_0_PB|DIGIT_1_PB|DIGIT_2_PB|DIGIT_3_PB) #define DIGITS_D (DIGIT_0_PD|DIGIT_1_PD|DIGIT_2_PD|DIGIT_3_PD) #define USED_B (SEGS_B|DIGITS_B) #define USED_D (SEGS_D|DIGITS_D) /*        ___a__       |      |      f|      | b        ___g__      e|      | c       |      |        ___d__ */ //_____________________ abc defg #define LTR_0 0x7e // 0111 1110 #define LTR_1 0x30 // 0011 0000 #define LTR_2 0x6d // 0110 1101 #define LTR_3 0x79 // 0111 1001 #define LTR_4 0x33 // 0011 0011 #define LTR_5 0x5b // 0101 1011 #define LTR_6 0x5f // 0101 1111 #define LTR_7 0x70 // 0111 0000 #define LTR_8 0x7f // 0111 1111 #define LTR_9 0x7b // 0111 1011 #define LTR_A 0x77 // 0111 0111 #define LTR_b 0x1f // 0001 1111 #define LTR_C 0x4e // 0100 1110 #define LTR_d 0x3d // 0011 1101 #define LTR_E 0x4f // 0100 1111 #define LTR_F 0x47 // 0100 0111 #define LTR_P 0x67 // 0110 0111 #define LTR_G 0x5e // 0101 1110 #define LTR_n 0x15 // 0001 0101 #define LTR_r 0x05 // 0000 0101 #define LTR_t 0x0f // 0000 1111 #define LTR__ 0x00 // 0000 0000 uint8_t EEMEM digit2ports[][3] = { SEGS_PORT(LTR_0), SEGS_PORT(LTR_1), SEGS_PORT(LTR_2), SEGS_PORT(LTR_3), SEGS_PORT(LTR_4), SEGS_PORT(LTR_5), SEGS_PORT(LTR_6), SEGS_PORT(LTR_7), SEGS_PORT(LTR_8), SEGS_PORT(LTR_9), SEGS_PORT(LTR_A), SEGS_PORT(LTR_b), SEGS_PORT(LTR_C), SEGS_PORT(LTR_d), SEGS_PORT(LTR_E), SEGS_PORT(LTR_F), SEGS_PORT(LTR_r), SEGS_PORT(LTR_P), SEGS_PORT(LTR_G), SEGS_PORT(LTR_n), SEGS_PORT(LTR_t), SEGS_PORT(LTR__), }; enum { POS_0, POS_1, POS_2, POS_3, POS_4, POS_5, POS_6, POS_7, POS_8, POS_9, POS_A, POS_b, POS_C, POS_d, POS_E, POS_F, POS_r, POS_P, POS_G, POS_n, POS_t, POS__, }; #define ST_HOLD  0x80 #define ST_PRESSED 0x40 #define ST_BUTTON   (ST_HOLD|ST_PRESSED) #define ST_TICKED 0x20 #define ST_12HR  0x10 #define ST_REFRESH 0x08 #define ST_BUZZ     0x04 #define ST_SETUP    0x03 #define ST_SENSE ST_BUZZ volatile uint8_t busy=0; volatile uint8_t state=ST_REFRESH|ST_12HR; volatile uint8_t dim=1; uint8_t  pos=0, stays; uint8_t  mode=0; #ifdef _OPT_SENSE_ uint16_t charged=0; #endif uint16_t button=0; uint16_t clicks=0, ticks=0; //_______________________ ticks per second and devired values #define TPS   (F_CPU/256) #define TPS_2 (TPS/2) #define TPS_4 (TPS/4) #define LONG_HOLD (TPS/3) #define NUM_DIGITS 4 static const uint8_t digit_mapb[] PROGMEM = { 0x40,0x08,0x04,0x00 }; static const uint8_t digit_mapd[] PROGMEM = { 0x00,0x00,0x00,0x10 }; //_________________ list of porta..c,ddra..c,stay * number_of_digits uint8_t output[3 * NUM_DIGITS]; uint8_t *ioptr = output; uint8_t dot = 0x00; //__________________________________________________ ISR(TIMER0_OVF_vect) { clicks++; if (clicks >= TPS) {   clicks = 0;   state |= ST_TICKED;   ticks++; }//if if (stays & 0x0f) { stays--; return; } stays >>= dim; DDRA  &= ~(USED_D>>6); DDRB  &= ~USED_B; DDRD  &= ~(USED_D&0x3f); PORTA &= ~(USED_D>>6); PORTB &= ~USED_B; PORTD &= ~(USED_D&0x3f); if (stays) { stays--; return; } if (busy) return; #ifdef _OPT_BUTTON_ //___________ scan button PORTD |= BUTTON_PIN; _delay_us(1);  // allow pull-up to settle if (PIND & BUTTON_PIN) {   if (button) {    if (button > 30) {     //_________ released     if (button > LONG_HOLD)      state |= ST_HOLD;     else      state |= ST_PRESSED;     stays = 0x14;    }//if   }//if   else {    stays = 0x10;   }//else   button = 0; }//if else {   //_____________ pressed   button++;   if (button > LONG_HOLD) { // show long hold #ifdef _REVERSE    DDRB |= HOLD_DDR_VAL; PORTB |= HOLD_VAL; #else    DDRD |= HOLD_DDR_VAL; PORTD |= HOLD_VAL; #endif   }//if }//else PORTD &= ~BUTTON_PIN; DDRD  &= ~(USED_D&0x3f); PORTD &= ~(USED_D&0x3f); if (state & ST_BUTTON) return; if (button) return; #endif #ifdef _OPT_SENSE_ if (!charged && (state & ST_SENSE)) {   state &= ~ST_SENSE;   DDRB  = 0x00; PORTB = 0x00;   DDRD  = 0x00; PORTD = 0x00;   _delay_us(1);   //_________ charge sensor led   charged = 1;   //SENSE_CHARGE   DDRA  |=  SEGS_D>>6;   PORTA &= ~(SEGS_D>>6);   DDRB  |=  SEGS_B;   PORTB &= ~SEGS_B;   DDRD  |=  SEGS_D&0x3f;   PORTD &= ~(SEGS_D&0X3f);   DDRB  &= ~0x44;   PORTB |=  0x44;   //DDRB  &= ~_BV(6);   //PORTB |= _BV(6);   //_delay_us(1);   //asm volatile("nop\n\tnop\n\tnop\n\tnop\n\t"::);   //asm volatile("nop\n\tnop\n\tnop\n\tnop\n\t"::);   //asm volatile("nop\n\tnop\n\tnop\n\tnop\n\tnop\n\t"::);   //while (!SENSE_BUTT);   //PORTB &= ~_BV(6);   while (!SENSE_ALL);   PORTB &= ~0x44;   return; }//if #endif //___________ load segments uint8_t portd = *ioptr++; uint8_t portb = *ioptr++; uint8_t porta = portd >> 6; portd &= 0x3f; //uint8_t mapb = digit_mapb[pos]; //uint8_t mapd = digit_mapd[pos]; uint8_t mapb = pgm_read_byte(&digit;_mapb[pos]); uint8_t mapd = pgm_read_byte(&digit;_mapd[pos]); DDRA  |= porta; DDRB  |= portb | mapb; DDRD  |= portd | mapd; #ifdef _REVERSE PORTA |= ~porta; PORTB |= ~portb & mapb; PORTD |= ~portd & mapd; #else PORTA |= porta; PORTB |= portb & ~mapb; PORTD |= portd & ~mapd; #endif stays  = *ioptr++; if (stays && (state & ST_SETUP) && (clicks / TPS_2) &&   ((pos == (state & ST_SETUP)) ||   (!pos && !(state & 0x02))))   stays = 0x08; pos++; if (pos >= 4) {   pos = 0;   ioptr = output; }//if } //__________________________________________________ void seg2port(uint8_t bcd, uint8_t which) { if (which & 0x40) {   //_____________ bcd entry, do 2nd digit 1st, then 1st digit   which &= 0x0f;   seg2port(bcd&0x0f, which+1);   bcd >>= 4; }//if uint8_t *pp = output + which * 3; uint8_t offset = 3; busy++; do {   *pp++ = eeprom_read_byte(&digit2ports;[bcd][--offset]); } while (offset); busy--; } #define HIV _BV(7) //b7 #define VCC _BV(6) //b6 #define SDO _BV(0) //b0 #define SCI _BV(0) //d0 #define SII _BV(5) //d5 #define SDI _BV(6) //d6 #define SCI_PULSE _delay_us(1); PORTD |= SCI; _delay_us(1); PORTD &= ~SCI; //__________________________________________________ uint8_t hv_cmd(uint8_t *dptr, uint8_t cnt) { // data format is like write 0_DDDD_DDDD_00 //                      read D_DDDD_DDDx_xx uint8_t sdo=0x00; while (cnt) {   uint8_t sdi = *dptr++;   uint8_t sii = *dptr++;   uint8_t cmp=0x80;   sdo = 0x00;   PORTD &= ~(SDI|SII);   SCI_PULSE;   //sdo = ((PINB&SDO;) ? 1 : 0);   //sdo = ((PINB&SDO;) ? 0 : 1);   // 0x1e92 06   // 0x62df b0110 0010 1101 1111   while (cmp) {    sdo <<= 1;    //sdo |= ((PINB&SDO;) ? 0 : 1);    //sdo |= ((PINB&SDO;) ? 1 : 0);    if (PINB&SDO;) sdo |= 0x01;    PORTD &= ~(SDI|SII);    if (cmp&sdi;) PORTD |= SDI;    //else         PORTD &= ~SDI;    if (cmp&sii;) PORTD |= SII;    //else         PORTD &= ~SII;    SCI_PULSE;    //sdo |= (PINB&SDO;) ? 1 : 0;    cmp >>= 1;   }//while   PORTD &= ~(SDI|SII);   SCI_PULSE;   SCI_PULSE;   _delay_us(100);   cnt--; }//while //sdo = cnt; return sdo; } uint8_t chip_sig[] = { 0xee, 0xee, 0xee, 0xee, 0x00, 0x00 }; //__________________________________________________ void read_chip(uint8_t release_reset) { cli(); busy++; // enter hv mode, everything go low DDRB  |= (VCC|HIV|SDO); PORTB &= ~(VCC|SDO);// Vcc and data out off PORTB |= HIV;  // 12v off DDRD  |= (SCI|SDI|SII); PORTD &= ~(SCI|SDI|SII); //_delay_ms(50); PORTB |= VCC;  // Vcc on _delay_us(40); PORTB &= ~HIV;  // turn on 12v _delay_us(15); DDRB  &= ~SDO;  // release SDO _delay_us(300); // should be ready to issue commands // read signature // // default fuse settting taken from http://www.engbedded.com/fusecalc/ // // mcu - id          - factory fuse low-high-extended // t13 - 1e9007 (07) - 6a-ff // t25 - 1e9108 (18) - 62-df-ff // t45 - 1e9206 (26) - 62-df-ff // t85 - 1e930b (3b) - 62-df-ff // t24 - 1e910b (1b) - 62-df-ff // t44 - 1e9207 (27) - 6a-df-ff // t84 - 1e930c (3c) - 6a-df-ff // signature  { 0x08, 0x4c, 0xpp, 0x0c,      0x00, 0x68,      0x00, 0x6c // write fuse { 0x40, 0x4c, val,  0x2c,      0x00, 0x64/0x74, 0x00, 0x6c/0x7c // read fuse  { 0x04, 0x4c, 0x00, 0x68/0x7a, 0x00, 0x6c/0x7c uint8_t cmd[] = { 0x08, 0x4c, 0x00, 0x0c, 0x00, 0x68, 0x00, 0x6c, }; uint8_t *pdata = chip_sig; uint8_t i; //____________________ read device signature for (i=0;i<3;i++) {   cmd[2] = i;   if (i)    *pdata++ = hv_cmd(&cmd;[2], 3);   else    *pdata++ = hv_cmd(cmd, 4); }//for uint8_t  id[] = { 0x07, 0x18, 0x26, 0x3b, 0x1b, 0x27, 0x3c, }; uint8_t mcu[] = { 0x13, 0x25, 0x45, 0x85, 0x24, 0x44, 0x84, }; if ((chip_sig[0] == 0x1e) && ((chip_sig[1]&0xf0) == 0x90) &&   !(chip_sig[2]&0xf0)) {   chip_sig[1] <<= 4;   chip_sig[1] |= chip_sig[2];   /*   switch (chip_sig[1]) {    case 0x07: chip_sig[1] = 0x13; break;    case 0x18: chip_sig[1] = 0x25; break;    case 0x26: chip_sig[1] = 0x45; break;    case 0x3b: chip_sig[1] = 0x85; break;    case 0x1b: chip_sig[1] = 0x24; break;    case 0x27: chip_sig[1] = 0x44; break;    case 0x3c: chip_sig[1] = 0x84; break;    default: chip_sig[1] = 0xee; break;   }//switch   chip_sig[0] = 0x00;   */   for (i=0;i<7;i++) {    if (chip_sig[1] == id[i]) {     chip_sig[0] = i;     chip_sig[1] = mcu[i];    }//if   }//for   pdata--; }//if //____________________ reset fuse if (release_reset) {   cmd[0] = 0x40;   //________________ write fuse low bits   cmd[3] = 0x2c; cmd[5] = 0x64;   if (chip_sig[1] == 0x13 || chip_sig[1] == 0x44 || chip_sig[1] == 0x84)    cmd[2] = 0x6a;   else    cmd[2] = 0x62;   hv_cmd(cmd, 4); _delay_ms(50);   //________________ write fuse high bits   cmd[5] = 0x74; cmd[7] = 0x7c;   if (chip_sig[1] == 0x13)    cmd[2] = 0xff;   else    cmd[2] = 0xdf;   hv_cmd(cmd, 4); _delay_ms(50);   //________________ write fuse extended bits   if (chip_sig[1] != 0x13) {    cmd[5] = 0x66; cmd[7] = 0x6e;    cmd[2] = 0x01;    hv_cmd(cmd, 4); _delay_ms(50);   }//if }//if //____________________ read fuse cmd[0] = 0x04; cmd[2] = 0x00; cmd[3] = 0x68; cmd[5] = 0x6c;   // fuse low *pdata++ = hv_cmd(cmd, 3); cmd[3] = 0x7a; cmd[5] = 0x7c;   // fuse high *pdata++ = hv_cmd(cmd, 3); if (chip_sig[1] != 0x13) {   cmd[3] = 0x6a; cmd[5] = 0x6e;  // fuse extended   *pdata++ = hv_cmd(cmd, 3); }//if // done, turn things off PORTB |= HIV; PORTB &= ~(VCC|SDO); PORTD &= ~(SCI|SDI|SII); busy--; sei(); } uint8_t menu=0, loc=0; //__________________________________________________ void main(void) { TCCR0B |= 0x01; TIMSK  |= _BV(TOIE0); TCNT0   = 0x00; DDRA = PORTA = 0; DDRD = PORTD = 0; DDRB   = (VCC|HIV|SDO); //DDRB   = (VCC|SDO); PORTB  = HIV;  // 12v off _delay_ms(50); read_chip(0); sei(); while (1) {   //_____________ "state" bits LBTSRZPP   //              L - long hold, B - button, T - ticked, S - setup mode,   //              R - refresh,   Z - buzzer  PP - digit edit position   //   //_____________ "menu" bits TxxOxMMM   //              T   - in toggle mode   //              O   - option used   //              MMM - menu id (1-4)   if (state & ST_TICKED) {    state &= ~ST_TICKED;   }//if   if (state & ST_REFRESH) {    state &= ~ST_REFRESH;    dot = _BV(mode);    if (mode) {     seg2port(chip_sig[mode*2], 0x40);    }//if    else {     seg2port(POS__, 0);     seg2port(POS_t, 1);    }//else    seg2port(chip_sig[mode*2+1], 0x42);   }//if   //_____________________________________ check input   if (state & ST_BUTTON) { // needs attention    loc = 0;    if (state & ST_PRESSED) {     // normal pressed, rotate display mode     mode++;     if (mode >= 3) mode = 0;    }//if    else {     // pressed and held, reset fuse     mode = 0;     read_chip(1);     _delay_us(100);     read_chip(0);    }//else    state &= ~ST_BUTTON;    state |= ST_REFRESH;   }//if }//while }

Question by WWC    |  last reply


How do you clean the glue off of a 2 litire soda bottle? Answered

I want to make the "Victorian Domed Glass Display Case" from Dadcando.com, but am unable to clean the glue off of my 2 litre bottle, Please help.

Question by Aztof    |  last reply


Is it possible to display a video game system/dvd player through a cheap projector?

I want to find a way to project my video game systems and dvd player onto my ceiling, so that I can play/watch while I'm laying in bed. I do not have the money nor the inclination to mess with an actual projection tv, and in any case, I doubt one could be configured to do that. The best idea I've come up with is to somehow run my systems through my computer and use a computer projector; this would also have the benefit of allowing me to surf the net from my bed too. Does anyone have any ideas on how to do this, or better alternatives? All my systems have standard red-yellow-white component cable outputs, and I have a regular tv I can run the audio through if need be.

Question by Ria Hawk    |  last reply


I need a low cost LED or OLED display of about one inch in size, capable of displaying composite video signals. Answered

I'm planning on building a cheap generation one equivalent night vision system to be used in conjunction with infrared lasers, strobes, and short-range illuminators, and I need a way to display the video coming from camera.I've messed around with viewfinders from older video cameras, but they are black and white, bulky, and worst of all, very fuzzy. The newer cameras I've hacked into have a ribbon style plug that I've been unsuccessful in splicing video signal into (though I did manage to power a few on, or at least get the backlights going). I'm unsure if this is from an inability for the display unit to display the video signal the camera is generating, or my lack surface-mount soldering skills. Does anyone have any links or advice for how to get the newer style video cameras displaying live, unrecorded video from an external source?I've heard that people have had great success with playstation one screens for displaying video without hacking, but they are much too large for my application. My hope is for the entire unit to be housed in a section of PVC about the size of a PVS14 night vision system (2.5" in diameter by 4" long), with a high-sensitivity camera in the front, disposable lithium batteries mounted in a case on the bottom of the tube, viewfinder at the back, and the wiring, voltage regulators, and switches in the center of the tube.I've seen stand-alone LCD and OLED panels for cheap (these come to mind: http://www.4dsystems.com.au/prod.php?id=9) but my understanding is that they need some sort of controller unit to input composite video. Is this correct? I have nearly zero programming experience, just messing around with the BASIC STAMP platform, so how much more knowledge would be required in this area to get one of these units up and running? Are there any tutorials on something similar to what I'm trying to do?I can get commercial night vision in the area of $125, which means that, to be a viable DIY option, the whole unit should come to under $85 or so. With the camera clocking in at about $30, this needs to be a dirt-cheap display.Thanks for your help

Question by Dr. No    |  last reply


Reuse of old mobile

I am using a mobile phone  tracker site to track my car in case it is stolen.  I wanted to adapt the old mobile phone by stripping it down to essentials to ensure that the sim signal was still running but there was no need for the display / keyboard.  Is there an instructable or website that offers advice on how to do that? The phones are old nokia phones so not worried if they get trashed.

Topic by carter54    |  last reply


how can I turn an old laptop monitor into a usable stand alone display?

I recently disassembled an old ibm thinkpad 380E laptop i had laying around. I have the guts and all that including the wire harness's and power inverter. The screen model is a Hitachi SX31S004 or ibm P/n 12J0130. I want to use the lcd by itself without having to get the laptop running as I have removed it from the case and have the board sitting in a drawer. I suppose I could reassemble the thing but I dont want to use all that. I would like to find the pinouts for the lcd but they have proven very hard to find. IF anyone can point in the right direction that would be tops. then maybe I can build something and make and instructable too

Question by SketchBoard    |  last reply


Is a laser operated button pusher possible?

We have a business convention coming up soon. Inside of our display case we have this grid of LED panels. The goal of the display is you try and hit a button outside of the case when a certain LED panel is lit To demonstrate human vs. computing reflexes. I'd like to have some kind of external build to demonstrate with as the "vs.". I am thinking I can use a laser and point it at the LED block because lasers are capable of transferring data. I would think it wouldn't be too difficult to make a build that distinguishes between on & off. It's basic binary, on & off 1 & 0, true & false, same & changed. When the surface lights that the laser is pointed on, I think the easiest way to push the button would be to discharge a capacitor into a hobby motor, and some kind of tab or something on the motor. I can go into more detail on the build, but I need more info on making a laser operated trigger system thingy.

Question by mr monoply33    |  last reply


A small doubt regarding modulation

Hi guys! I have a doubt regarding modulation process, more specifically regarding the spectrum. I understand the spectrum of sinusoidal signals, the amplitude or energy is concentrated at a particular frequency, say Fm, and hence the delta functions. But why is the spectrum of the unmodulated message(original) signal always displayed only in the shape of triangle? I have been going nuts over this question.  I have attached the images just in case

Topic by charmquark    |  last reply


T-shirts n signs n things (oh my)

I have made one t-shirt for myself (I will have to display it later), but I found the perfect Aspie tee:  It can be found at THINK GEEK   and looks like this:  AND  the shirt I made for myself....and in case it is not readable, it says:  You have NO idea what it means to be gifted with Asperger's syndrome  

Topic by Goodhart    |  last reply


Powering 12" - 17" LCD screen with a battery - possible?

Hi there - i had an idea for a project but am stuck on the techie details, hopefully someone can help! The idea involves a freestanding LCD monitor running on battery rather than plugged into a wall. ideally the the battery would be as small as possible and concealable. Also, i would like to strip the monitor of its casing and if possible connection to a computer and have it just display a single video clip on loop that would come from a source directly connected to the display - would anyone know how this could be achieved?? thanks in advance to any and all responses! PS i cannot use a tablet, for cost reasons and also i need the screen stripped so as to attach it to the final installation. 

Topic by tsunamigirl    |  last reply


megadrive issues?

Hi i recently got a mega drive and im having trouble with it basicly i am geting signal out of it but its just black with faint lines in the backround but 3 or 4 times i got it to display licenced by sega then black idk please sugestions . its ok all is well i fixed it by hyperventaliting into the cartridge slot and cleaning the carts with rubing alchol ;) im leaving this question though in case anyone else needs help 

Question by KNEXFRANTIC    |  last reply


Pro Account Getting Ads

I have a pro account but I'm still getting ads on the instructables front page. Is something wrong with my account, is something wrong with the ad, or is instructables slowly beginning to add advertising to pro accounts? The ad appeared in the spot where cool instructables and new contests are usually displayed: In any case, I'm really disappointed. First, admins censor my and cammers' comments on the ikea contest, and now this! Seriously?

Topic by Xellers    |  last reply


T370hw02 v0 control board

Hey.I have a t370hw02 v0 control board with a lcd scrren attached, and was wondering how i could get a display board (to actually use the screen) Is the posible, and how does the sceen work? There was backlighting in the case (it came from a tv) and i am not quite sure i understand how that works :| pls help. I understand that i have minimal knowledge on the topic, but i am here to learn

Question by RasmusL15  


Tutorial downloaded PDF has no images

I just upgraded my account so i would be able to download PDF versions of the instructables i like and want to try. I just downloaded my first instructable ( https://www.instructables.com/id/Monster-Monkey-Fist-with-Pool-Ball/?ALLSTEPS ) and found that the images are not included in the downloaded version. Is this correct? If this is the case the instructables would become very hard to follow indeed and defeats the point of me having upgrading my account. C an someone tell me if this is correct and the pictures as displayed on each instructables page are not actually included on their PDF downloads? If this is the case how do i go about getting my money back as this was not made clear and i feel it is somewhat misleading.

Topic by TK Trooper    |  last reply


How would you hack a skee-ball machine?

Hello fellow Instructablers, We were invited to help the wonderful folks at Rackspace think of new, fun, interesting hacks for a classic Skee Ball machine that was given to them. We had some ideas, but I'm sure that you can help us come up with a few more. We came up with the following: -measure roll speed -graphic overlay for the ramp (kinda like the lines on a bowling lane) -output scores to graphic display -RFID log-in to save unique player data -case mod the display to show off the sweet sweet guts -record video of 100 point rolls to capture the thrill of victory That is a less-than-comprehensive list of things we came up with on our field trip to view the machine. Drop new suggestions in the comments.

Topic by wilgubeast    |  last reply