Sunday, July 18, 2021

Camera Handle

 



On the photo above you can see small digital camera with attached handle. I believe such a handle  provides comfortable and steady grip. As a foundation of that  handle  this L-Plate used . It is not of highest  quality but is inexpensive and suites this project well. I unscrewed short side of the plate and made out of 1/4 inch plywood and metal corner four elements of the handle. One more element (aka half-cylinder) I made out of broken hammer handle.






Handle assembled as a sandwich with plywood sides and metal inserts. During assembling I applied universal glue first than fixed it with metal screw.  Then I glued half-cylinder with wooden glue and   I painted it with some dark stain. The goal was for it look old and vintage rather than new and shiny.




Assembled handle is screwed to the plate in place of its short side.




While intension was to use it for smaller mirrorless camera I have tried it with bigger DSLR and it works OK here as well.








Sunday, July 4, 2021

Two against One

 







Clip above shows Attiny85 chip controlling two 10mm LEDs with the single pin. This post discusses schematic and programming of such a solution.

There are two ways to control LEDs with microcontrollers (like Attiny85).
One way would be to connect LED cathode to the chip pin and LED anode through the current limiting resistor to the power supply '+'.  To light up the LED you just need to program pin low. To turn it off  you need to program it high.

Another way would be to connect LED cathode to the ground and LED anode through the current limiting resistor to the  chip pin. To light up the LED you need to program pin high and low otherwise.
Which way to prefer? I can't tell. I myself often choose it based on how well it corresponds to controls of other devices in particular project.

But there are not that many pins on the chip like Attiny85. What if number of pin available is less than number of LEDs needed to be controlled.
On the circuit diagram above you see the method  of controlling two LEDs with single pin. It based on three important facts:
  1. Any LED has some forward voltage. For Green/White 10mm used here it exceeds 3 V.
  2. Microcontrollers pins may be programmed not only to provide output signal but to collect input as well, If pin is programmed for input it presents itself for external components as a circuit with very high resistance.
  3. Human eye can't see light blinking if its frequency exceeds 50 Hz. If circuit switches LED off/on fast enough (more than 50 times per seconds) you will see it as always lighted.
Rules to controller LEDs here are next:
  • If pin set high green LED is dark and white LED is lighted.
  • If pin set low green LED is lighted and white LED is dark.
  • If pin set into input mode both LEDs supposed to be dark, because sum of forward voltages on both LEDs exceeds power supply voltage,
I assembled the circuit and programmed it , but result was  disappointing. Setting pin into input mode did not turn both LEDs off, They were lighted up. The light was  less bright than normally but still visible.  Would resistors increase help? Alas not that much. LEDs dimmed a little but not fully. Obviously I need either decrease power voltage or look for LEDs with bigger forward voltage,
Then idea came to mine mind: what if I add to the circuit extra devices with some forward voltage.
Here you see each LED sequentially connected to  the silicon diode . Forward voltage of diode reaches 1 V,  which makes whole forward voltage of both (LED and silicone diode) ~ 4 V.  Obviously it is better to decrease value of resistor to keep current the same  (~20 mA). And this circuit solved the problem.  I believe it is not bad solution taking in to consideration that silicon diode cost pennies, Below you can see C program to run the test. 

#include <avr/io.h>
#define 	F_CPU   1000000UL
#include <util/delay.h>

typedef enum {OUT_LOW, OUT_HIGH} OutputLevel;

#define pinOut(bit, outLevel) \
(DDRB |= (1 << ( DDB##bit)));\
switch(outLevel) \
{\
	case OUT_LOW: (PORTB &= ~(1 << (DDB##bit))); break;\
	case OUT_HIGH: (PORTB |= (1 << (DDB##bit))); break;\
}

#define pinIn(bit) \
((DDRB &= ~(1 << (DDB##bit))),\
(PORTB &= ~(1 << (PORTB##bit))),\
(PINB & (1 << (PORTB##bit))))

int main(void)
{
    while (1) 
    {
		for (int i=0; i < 100; i++) { // White & Green
			pinOut(2,OUT_HIGH);
			_delay_ms(5.0);
			pinOut(2,OUT_LOW);
			_delay_ms(5.0);
		}
		for (int i=0; i < 100; i++) { // White
			pinOut(2,OUT_HIGH);
			_delay_ms(5.0);
			pinIn(2);
			_delay_ms(5.0);
		}
		for (int i=0; i < 100; i++) { // Green
			pinOut(2,OUT_LOW);
			_delay_ms(5.0);
			pinIn(2);
			_delay_ms(5.0);
		}
		for (int i=0; i < 100; i++) { // No light
			pinIn(2);
			_delay_ms(10.0);
		}
    }
}

But one may ask why this? Why not charlieplexing?  Indeed charlieplexing is well known technique which utilizes facts of of pin high resistance while  in input mode, and non-ability of human eye to see  high frequency light oscillation. It can provide LEDs/pin ratio not only 2 but much bigger. To compare  let us look at charlieplexing example with the same LED/pin  ratio: 2. There is need to have three pins to control six LEDs.  But how to control just four LEDs, or two? Not possible. And in addition you need to connect/solder five components to the single dot which for DYI project presents some challenge. 


So in a conclusion: even if charlieplexing is great there could be  cases when method described in this post is a valuable solution.

Update 07/05/2021. I put link to this post on the AVR subreddit . And I got some comments that there actually different schematic exists which allows to control two LEDs with the single pin without need of silicon diodes.

Indeed such circuit works perfectly. But again nothing is free. It consumes ~ 20 mA even if both LEDs are off. Meanwhile for circuit  with silicon diodes consumption during dark time is much smaller. So which circuit to choose is really question of use case and preferences.

Wednesday, June 2, 2021

Looking Back

 


Recently I became a proud owner of 2008 Ford Ranger (regular cab, 7 feet bed, v6 4.0 engine, automatic). The car obviously seen a lot.  Could I  prolong his life for a while? For the beginning I decided to equip it with back-up camera. On e-bay I bought Type-S solar powered kit. Kit consists of two parts:
  •  License plate frame integrating back-up wireless camera, solar panels,  and battery.
  • LCD monitor.

Installation of the camera was easy: first I charged its battery via phone USB charger and then installed it in a regular way in place of license plate frame. Further charge supposed to be provided by sun light.

But installing the monitor required some job. Kit had the  holder with suction cup, but that was a jock. It could not hold monitor for more than five minutes. So I needed to invent some other way.


As you can see there is some opening beneath climate control panel. Could it get some use? 




On the photo above on the left you can see supplied holder and on the right some metal part which I found at the local Ace hardware store. I have no idea for what it was made for but its size more or less matched the opening  under dashboard. I cut it a little and treat with file to make it fit.


Form the holder I removed suction cup, cut the plywood rectangle, drill in hole  under the angle ~60 degree and inserted handle rod through it. On the picture above you can see rear view of assembled construction. On the picture below  there is the side view.



Then I just pushed it into the opening under climate control panel. Metal shape is rigid enough to keep construction in place. Size of the  monitor is a good match to car dashboard. As soon as I inserted power cord into the car 12 V socket, monitor turned on and paired with camera. Done.

What can I say about the kit? So far I like it. Ability to install camera without messing up with car electrical wires is a plus. How well solar charger will work and how long battery will keep the ability to get charge? Only time will tell. Monitor screen itself is good: right size and good enough image quality. There are one small problem: Ford Ranger power socket does not turn off when ignition key is taken out. According to camera manual I should not keep monitor powered up while not driving to avoid car battery discharge. I believe that discharge should be minimal but as of now to play it safe I will remove power plug when car is parked.



 

Thursday, April 1, 2021

1/4 Sized Breadboard

 


In the photo above there is Adafruit small breadboard. I found it to be a perfect match for projects utilizing Attiny85 microcontroller. 


While it is single side board, top side has copper circles around holes so components can be soldered on any side of the board. Board is not very thin and feels sturdy. Occasional soldering overheating will not damage conductor strips. Conveniently it has four strips for power and it is well suited for projects needed two voltage levels (like 5V and 12V).

So far I used such a board for two projects  made for last year Halloween  (published here). 


First project is to control two three colors LEDs. It is minimalistic: apart of controller board accommodates just three resistors. To make controller programmable in-board there is  6 pins ISP male header. I soldered pins, cut strips between two pin rows with the knife (cut is on the bottom side of the board) and wired them to corresponding pins of the the microchip.


Second project required two voltage levels (12V and 5V).  See 12V-5V stepdown power supply on the right side of the board soldered to it. There is no 6-pins ISP header on the board, Does that mean there is no way for in-board programming? Absolutely not. To make microchip in-board programable I mounted on each side of the chip female headers. Because of that board becomes suitable for AVR ISP to Attiny85 adapter  and  can  be   programmed the same as projects mounted on non-soldering breadboard.


Saturday, March 6, 2021

Capabilities of Supercapacitor

 



Several years ago I built the project utilizing supercapacitor (useless machine). Now I returned to this component again to make a set of small projects, which  will use super capacitor as backup power supply. Clip above shows initial test. Several seconds of charge is enough to power Attiny85 chip controlling blinking be-color LED for five minutes. At the end of this time LED blinks are barely visible but anyway I found result impressive. In case you need details, here is circuit diagram:


 And here is list of components:

  • Supercapacitor 0.1 F, 5.5 V (NEC)
  • Attiny85 microchip
  • Red-Green bi-color LED (5mm)
  • Resistor 180 Ohm, 0.125 W
  • Diode Schottky ( 1N5817) (for this test it is not really needed but later I will utilize it to detect the moment  when external power is down).
Circuit initially powered up by 5V USB 0.5 A power supply.
 Code is short, so I put it here as well.

#include <avr/io.h>
#define 	F_CPU   1000000UL
#include <util/delay.h>

typedef enum {OUT_LOW, OUT_HIGH} OutputLevel;

#define pinOut(bit, outLevel) \
(DDRB |= (1 << ( DDB##bit)));\
switch(outLevel) \
{\
	case OUT_LOW: (PORTB &= ~(1 << (DDB##bit))); break;\
	case OUT_HIGH: (PORTB |= (1 << (DDB##bit))); break;\
}

int main(void)
{
    while (1) 
    {
		pinOut(0,OUT_LOW);
		pinOut(2,OUT_HIGH);
		_delay_ms(200.0);
		pinOut(0,OUT_HIGH);
		pinOut(2,OUT_HIGH);
		_delay_ms(800.0);
		pinOut(0,OUT_HIGH);
		pinOut(2,OUT_LOW);
		_delay_ms(200.0);
		pinOut(0,OUT_HIGH);
		pinOut(2,OUT_HIGH);
		_delay_ms(800.0);
    }
}

Sunday, February 28, 2021

AVRISP II adapter to Attiny85

 



For my hobby projects  I often use Attiny85 chip . Usually first stage of the project is breadboard prototyping. But there is the problem: connecting AVRISP programmer to the chip on the breadboard is not that easy. So I made dedicated  adapter  which allows effortless connection between  AVRISP programmer and Attinny85 chip. 

\


Adapter is passive: it contains nothing but headers to connect programmer and headers to connect to the chip. Apart of that added LED with resistor to indicate if power is supplied.


Adapter has two set of headers:

  •  one set to connect AVRISP (on the photo on the left)
  • another set to insert into breadboard on top of Attiny85 chip.
LED with resistor added for convince to be sure that power provided to the circuit. Marking on the circuit diagram below corresponds to the photo above.
Here you can see the breadboard with the microchip attached to the power.




I need just put adapter with connected AVRISP II programmer on top of microchip, connect AVRISP programmer to a computer through USB in interface, and start Atmel Studio.  Now I am ready to program.



One may ask why not to buy some breadboard ready ISP header? Indeed for less than one dollar you can get adapter kit at  Adafruit site. It is nicely made and can be used with any AVR device. But to make it work there is need to connect that adapter to a controller with six jumper wires. With my adapter I just need to snap it in place. Obviously, if I want to work with different controller (like  Atmega328), I have to make another dedicated adapter. Still I assume that benefits worth the effort.





Saturday, February 13, 2021

Chessboard Chair



We have a small folded chair with top made out of sawdust wood covered with  plastic . We left it in backyard for some time and it got under the rain. As a result top edges started  to decay with  plastic  partially detached. But surprisingly painted metal frame was intact. I decided to renovate the chair by changing the top. While looking for proper board I have found in our home wooden chess board which did not get much use lately. So unscrewed old top and mounted chessboard instead.  Old chair legs tips (couple of them lost) I replaced with  3/4" chair tips I bought in the local Home Depot. On the photo above you can see the result.

And here is old top. I still keep it. Maybe I can restore it and it will find another usage.






Sunday, November 1, 2020

Grounded

 While traveling trough California this summer I discovered previously unknown for me way to install mail boxes. This one I found in Mt.Shasta.




And this one is in Morro Bay.


I would tell that it it a smart solution: instead of digging down deep hole and putting concrete there, one can  just fill out cage or planter with heavy material. If needed mail  box can be relocated with much less effort compare to digging post out of the hole. And it looks more artistic compare to plain post mount.

Our mail  box located inside the garage, having opening in the garage wall. I assumed I will never benefit from design shown above. But...

Recently I have to  move my TV Antenna in front of our house. (It got obstructed by grown up lemon tree). In my area antenna should not be put too high. In opposite: antenna set at five feet produces better signal compare to, say,  seven feet. I am not sure about the reason of that but that what http://www.tvfool.com telling me.  So antenna needs to be set below the roof level.  While  mounting antenna mast   I attached mast upper end  to the board where roof gutter is fixed. Mast bottom end I needed to put into the ground. But there are bricks in place and I did not want to drill through them. Here my recent observation came in handy. I just put bottom end into the flower planter filled beneath with sand and  at the surface with stones.


It does work!

Monday, October 19, 2020

It Is a Halloween Time

Recently I upgraded our windows Halloween decoration with two items. Both are LED installations. Each is controlled by Attiny85 chip.

This one is the pumpkin with multi-colored eyes:


You can find place with source code, circuit diagram and some details here: https://github.com/jumbleview/pumpkin


This one is lighted ghost image.


Source code and circuit diagram is here: https://github.com/jumbleview/casper

Some additional description published on "Instructables".

Below is the video of three projects (two mentioned above plus my old project: "Moon with the Bat silhouette") installed in our home window.





Thursday, September 3, 2020

Medium Tactical Vehicle Replacement and Antique Car

 



The photo above I made last August during trip to Mt Shasta, California. First, when I saw this truck on the street I assumed it is a modification of famous Willys Jeep from WWII.  But when I came closer I have found "International" on its hood (not "Willys"). Lucky for me proud owner of the car was seating nearby. 


You can see him on the right  (in shorts). He explained that the car was made in 1944 by "International Harvester" company for US Marine. When I showed my admiration for owning such an old car, he told that actually there is older car on the other side of the street: Chevrolet from 1939. Owner of the Chevrolet (you can see him on the left, in jeans) told us that he bought the car in the fall of 1965 and restored it during 1965-1966 winter.  


It is clear that he was very young in 1965, so we can tell the man drives (and maintains!) this car his whole adult life! Look at this beauty!

When we arrived back home form the trip I decided to investigate these cars a little bit more. My initial plan was to supply picture to https://images.google.com/  so google artificial intellect will do all the job without my interventions. Alas, that not worked out of the box. For picture of first vehicle google provided me with link to "Medium Tactical Vehicle Replacement". These cars were  designed for US marine  by Oshkosh Defense  but much later (in 1996). That was not what I was looking for. Chevrolet search returned "Antique Car". That was right but too generic. 

So I had to utilize google power but less rely on AI but more on  my judgement.  And here is my finding.

Truck model exact name is "1944 IHC M-2-4". And less than ten thousand of them was produced. Indeed it is a rarity. The rest of numbers regarding that car you may find through this link Estrella Warbirds Museum. The company "International Harvester"  mostly produced agriculture machines but obviously it switched part of  the production to the military during WWII. Here is  YouTube video  illustrating that fact. It is sad the company does not exist anymore.

Chevrolet model is "Master Deluxe", probably model "JA". Here is  r: Wikipedia entry  regarding this car. 

Among interesting facts Wikipedia mentions that Chevrolet Master Deluxe GA (car two years older then this one) was a personal auto of Janka Kupała. How Belorussian poet of the Soviet era obtained such a car is a mystery for me.




Saturday, July 11, 2020

...forty centuries look down on us


Phrase in the title  is the quotation  from Napoleon Bonaparte. That way he inspired french soldiers  before battle against Mameluke cavalry. (At that time Mameluke army considered to be invincible). It is hard to tell how important  that inspirational speech was  but result is well known: Napoleon army won. 
Sculpture on the image above maybe not so heroic: it is "Seated Scribe" from Paris Louvre museum. But he belongs to  the same place: Egypt and  his age is pretty close to  forty centuries (at least thirty five). I first saw him in the history text book while I was in the middle school . Picture of him stood out  because, unlike all other illustrations in that book, subject of it was neither warrior nor king. Not even hard working slave. He was (as we call such a people nowadays) office worker . And that why I remembered him. 
Many years later during visit to Paris I met the guy again  and I was glad to see him.  The same way I would be glad to meet old buddy after many years of separation.
Louvre rules allow making photos under conditions that no flash will be fired and there will be no commercial use. I had a DSLR camera with me: Pentax K200D with basic kit lens (18-55 mm). The camera (10 MB sensor) was modest  even at that time  (2010). But lighting in the museum was excellent so even hand held I could make a decent photo.

Since I have to work from home now (lucky me to keep the job these days) I wanted to decorate my place with some artifact to keep me focused. And this picture of seated scribe suites me the best. I printed that photo at local Costco and hanged it right in front of my desk. If this guy can keep his focus for > 3500 years I can keep mine for several month. 

If somebody wants to know photo EXIF details, here they are:
  • Camera Model: Pentax K200D
  • Lens: SMC Pentax-DA 18-55mm F3.5-5.6 AL II
  • Focal length: 28.1mm (35mm equivalent: 42mm)
  • Exposure Time: 1/50s (0.020)
  • Aperture: F/4.0
  • ISO Equivalent: 200


(I still have the lens but do not have the camera anymore: I gave it as a gift and often miss it.)



Saturday, May 9, 2020

Pump it Up

My stand air pump got broken. Actually just one part of it got broken: handle. But how one can use  hand pump without the handle? Bike pump is not expensive to replace, but at time of corona-virus pandemic nothing is easy. A lot of stores are closed, hardware places (like Home Depot) are opened but you have to stay in the line to get in (and that face mask you need to wear). On-line orders takes weeks to be delivered unless you willing to pay premium price. These are strong reasons not to buy the new pump but  to fix the old one. Fix did not require anything to purchase: all components I found in my shed. And I was lucky that pump rod ends with thread, so nuts could be screwed on it.

On the photo above you see the pump without the handle and elements needed for the fix: two metal strips which I bought once on OHS closeout sale for pennies, piece of wooden stick, couple of screws, some nuts and  washers.

I drilled holes in the middle of strips and secured strips on the pump rod with two nuts and Grover washer :


Than, I prepared wooden handle and attached it to metal strips with screws:

And to make it look nice I painted handle in a grey color. How does it look?


And one last photo. Stand pump is OK for the bike but for car wheels it is too weak. I do have an electric 12V  car pump. It works OK but here is the problem, while working it may break fuse on the car electric system. (It is  not just the theory, it happened for me twice: both times I first attached pump end to the wheel and then turn the pump on).  The solution would be to power pump by home electricity. Indeed I do have 120V  power supply producing 12V/30A output and that can handle the electric pump load easy. So I attached to that supply cigarette lighter socket. Now pump can be powered up by the the regular AC source.