Ik maakte het door volgende th maar het hoeft niet elk bruikbare bestanden apart van de Arduino-code, die ik moest toch bewerken, maar als u hoofd naar mijn website ik heb geupload een schema dat kan worden geopend en bewerkt in Diptrace beschikbaar hier http://www.diptrace.com
Mijn web site hier https://sites.google.com/site/jfordham83/Creations/UV-box
Het vak van de blootstelling UV LED PCB is opgebouwd uit een aantal onderdelen, die ze zijn;
De Paperduino - die ik naar aanleiding van deze gids http://txapuzas.blogspot.com/2010/07/paperduino-stripboard.html maakte
De Paperduino is het besturingselement voor het vak van de blootstelling UV LED PCB, kunt u de belichtingstijd te selecteren en vervolgens een countdown van de blootstellingstijd weergegeven. Het controleert ook de UV-paneel met behulp van een IRF530-Mosfet die het UV LED panel verandert op als de blootstelling wordt gestart en uitgeschakeld wanneer de blootstelling is voltooid. Dit is op een tweede strip bord samen met het merendeel van de bedrading.
** Update **
Hier de Arduino-code:
/*
Arduino code voor fundamentele timercontrole van DIY
enkelzijdige UV LED PCB blootstelling lightbox.
Maakt gebruik van twee SPST knop schakelaars te verhogen of
minuten en seconden timer-besturingselement en een derde SPST
de schakelaar van de knop om te beginnen met de volgorde van de timing.
Eenmaal gestart, kosten de arduino chip de IRF520 poort
u kunt overschakelen op de belasting van de adapter van de macht van 12V DC naar de UV-pins
LED matrix te beginnen van de blootstellingsperiode foto.
Het circuit:
LCD RS pin naar digitale pin 12
LCD inschakelen pin naar digitale pin 11
LCD D4 pin naar digitale pin 5
LCD D5 pin naar digitale pin 4
LCD D6 pin naar digitale pin 3
LCD D7 pin naar digitale pin 2
LCD pot controle lezen naar pot center
Einden van de pot van de LCD aan + 5V en ground
Digitale pin 7 tot en met PN100 base pin
Digitale pin 13 piëzo-zoemer
Digitale pin 9 SPST startknop
Digitale pin 6 aan SPST-up knop
Digitale pin 8 naar SPST knop ingedrukt
Door Quinton Pratt (http://innerqube.com)
April 2010 uitgegeven door James Fordham
*/
de programmacode voor de LCD-bibliotheek opnemen:
#include < LiquidCrystal.h >
int startPin = 9; Start knop pin
int upPin = 6; op de knop pin
int downPin = 8; omlaag knop pin
int transistorPin = 7; transistor basis pin
int buzzerPin = 13; piëzo-zoemer pin
int upRead1 = 0; variabele te lezen knop
int upRead2 = 0; ontdendering variabele voor knop omhoog
int downRead1 = 0; variabele te lezen knop ingedrukt
int downRead2 = 0; ontdendering variabele voor knop ingedrukt
int startRead1 = 0; variabele te lezen van de startknop
int startRead2 = 0; ontdendering variabele voor de startknop
int timerCount = 0; variabele voor timerinstelling
int minutesCount = 0; minuten waarde
int secondsCount = 0; seconden waarde
initialiseren van de bibliotheek met de nummers van de pennen van de interface
LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
VOID Setup {}
LCD.Print ("UV LED Lightbox");
delay(1000);
LCD.Clear();
LCD.Print ("blootstelling tijd?");
pinMode (transistorPin, OUTPUT);
pinMode (buzzerPin, OUTPUT);
pinMode (startPin, INPUT);
pinMode (upPin, INPUT);
pinMode (downPin, INPUT);
Serial.begin(9600); seriële poort openen
}
VOID lcdWrite()
{
lcd.setCursor (0, 0); set cursor links bovenaan
LCD.Print(minutesCount); minuten waarde afdrukken
lcd.setCursor (3, 0); cursor aan overkant van minuten waarde instellen
LCD.Print("min"); afdrukreeks min
lcd.setCursor (7, 0); instellen van de cursor verder rechts
LCD.Print(secondsCount); seconden waarde afdrukken
lcd.setCursor(10,0); instellen van de cursor verder rechts
LCD.Print("sec"); sec afdrukreeks
}
void loop {}
Lees alle drie knoppen
upRead1 = digitalRead(upPin);
downRead1 = digitalRead(downPin);
startRead1 = digitalRead(startPin);
ontdendering lezen voor alle drie knoppen
delay(10);
upRead2 = digitalRead(upPin);
downRead2 = digitalRead(downPin);
startRead2 = digitalRead(startPin);
knop waarde verandering snelheid vertragen
delay(100);
Als omhoog knop ingedrukt timer telling verhoogd en naar lcd afdrukken
Als (upRead1 == upRead2 & & upRead1 == HIGH)
{
LCD.Clear(); scherm wissen
secondsCount = secondsCount + 5; _ / / verhogen in sec intervallen
if(secondsCount==60) //increment minuten & rest sec voor elke 60 sec
{
minutesCount ++;
secondsCount = 0;
}
lcdWrite(); waarden afdrukken
}
als omlaag ingedrukt timer graaf decrement en naar lcd afdrukken
Als (downRead1 == downRead2 & & downRead1 == HIGH)
{
LCD.Clear(); duidelijk LCD-scherm
secondsCount = secondsCount-5; decrement minuut & reset sec voor elke 60 sec
if(minutesCount>0) //if meer dan een minuut resterend
{
if(secondsCount==-5) / / reset sec waarde van -5 tot en met 55 & decrement minuut
{
secondsCount = 55;
minutesCount--;
}
anders
{
if(secondsCount<0) //if countdown voltooid, reset waarden op nul
{
secondsCount = 0;
minutesCount = 0;
}
}
}
lcdWrite();
if(secondsCount<0)
{
secondsCount = 0;
LCD.Clear();
LCD.Print("0");
}
}
Als de startknop gedrukt activeren transistor base en
Print timer graaf tot lcd
activeren van de zoemer om het signaal einde van graaf
Als (startRead1 == startRead2 & & startRead1 == HIGH)
{
timerCount = (minutesCount * 60) + secondsCount;
int timerCount2 = timerCount;
Serial.println(timerCount);
for (int i = timerCount; ik > 0; ik--)
{
LCD.Clear();
if(timerCount2>60)
{
minutesCount = timerCount2/60;
secondsCount = timerCount2% 60;
}
anders if(secondsCount==60)
{
secondsCount = 59;
}
anders
{
minutesCount = 0;
secondsCount = timerCount2;
}
lcdWrite();
transistor basis pin hoog stuur
digitalWrite (transistorPin, hoge);
delay(1000);
timerCount2--;
}
LCD.Clear();
LCD.Print("donE");
transistor uitschakelen
digitalWrite (transistorPin, laag);
inschakelen van piëzo-zoemer
analogWrite (buzzerPin, 255);
delay(2000);
piëzo-zoemer uitschakelen
analogWrite (buzzerPin, 0);
delay(2000);
LCD.Clear();
LCD.Print ("blootstelling tijd?");
Reset timerwaarden
timerCount = 0;
minutesCount = 0;
secondsCount = 0;
}
}
The Control Panel - dit wordt gemaakt op 3 tactiele switches, die verhogen, verlagen en het begin van de blootstelling. En een piëzo-luidspreker om u te vertellen wanneer de blootstelling is voltooid.
De LCD - dit wordt gebruikt om de blootstellingstijd en geeft het bericht "donE" wanneer hebt voltooid, wie mij waar deze verwijzing vertellen kunnen vandaan komt? :-)
En tot slot
De UV LED Panel - dit bestaat uit 84 UV LED's elke rij van 3 LED ook zijn eigen 100 ohm weerstand having. Ik heb ook een jpg op de PCB en zoals je kunt zien is er de optie om toe te voegen een extra 21 LED's en weerstanden als je verhogen het gebied belichting, wilde maar mijn voeding niet zou toestaan voor deze extra LED's.
LED specs:
Voorwaartse spanning: 3.2-3.6
Huidige toekomen: 20mA
MCD: 3.000
Lens kleur: Helder Water
Uitstoten kleur: UV
Grootte: 5mm
De UV LED PCB blootstelling vak gebruikt om 12v voedingen 600mA (1 voor het deelvenster UV) & 1 voor alles de laatste 2 foto show de eerste test blootstelling PCB en de PCB die ik heb voor mijn Arduino "Word Clock gemaakt". Over het algemeen ik ben erg blij met hoe het kwam en van plan dit snel weer te gebruiken.
** Update **
Hier is een korte video van de UV LED PCB blootstelling doos in werking
Ik hoop u dit nuttig vindt, en waarom niet proberen het maken er zelf?
** Update **
Ik dacht dat het misschien een goed idee om uit te leggen hoe de blootstelling box eigenlijk werkt, lol
Dus eigenlijk dat in het blootstelling kunt u te nemen u ontworpen PCB en maken van een bruikbare PCB, hiervoor u speciale PCB's genaamd fotoresist PCB's deze hebben een coating waardoor ze gevoelig voor UV-licht.
Zodra u hebt uw PCB design en speciale fotoresist PCB's, moet u een masker van uw ontwerp dit overbrengen naar de PCB, doe ik dit door te drukken mijn ontwerp op een stuk papier over hoofd project.
U Verwijder de beschermende laag van uw fotoresist PCB's en plaats die u maskeert bovenop, zet dit in het blootstelling vak voor rond 3mins, vroeger zulks u verricht zit moet de belichting te vergrendelen door het ontwikkelen van uw fotoresist PCB in fotoresist ontwikkelaar.
Zodra u dit hebt gedaan, moet uw ontwerp zichtbaar op de PCB en uw klaar om uw PCB in ferrichloride etch.
Hoop dat maakt het een beetje duidelijker :-)
Bedankt voor het kijken