lol for the last few days when I leave for work at around 2am there have been hedgehogs, sometimes babies with adults, sometimes just adults but always 2 or 3 minimum outside by my front door steps but sometimes 6 or more and I wondered why, I have just worked it out as I just did not think of it until now. The weather has been so hot that the wheelie bin is full of maggots, they must have been climbing out and going all over the floor, bless the hedgehogs as they must be loving it lol
@damianbutterworth243415 сағат бұрын
wow. 6. That`s cool. I`ve spotted 2 this year. A large and smaller one. Now I leave the cats old food out instead of putting it in the bin and making maggots.
@Pobsta-de7hb2 сағат бұрын
@@damianbutterworth2434 Oh i expect there is more than 6 as when I drive down the road I see others walking on gardens and heading around. I think it must have been some meat of some kind caused the maggots though, well obviously but not sure what. The issue here is the weather and the fact in Germany they collect once a month, ours anyway. Good idea though, I might even buy a little cat food and leave it out for the hedgehogs if I keep seeing them there lol
@damianbutterworth24342 күн бұрын
here is the video of the tester working on a Subaru Impreza Alternator I repaired. Fast Forward to 1 hour 12 minutes. kzfaq.info/get/bejne/eseblbSqy7Kpm6M.html
@damianbutterworth24342 күн бұрын
Only use a 12 volt supply to the test kit. Don`t use the car battery since it can go over 12 when testing.
@damianbutterworth24345 күн бұрын
It works. I`ve tested it on an alternator and it even worked on a low frequency. Went from 12.4 volts to 15.5 volts when I adjusted to duty cycle knob.
@damianbutterworth24345 күн бұрын
This is how to make a Smart Alternator Tester Square Wave Generator for about £20. kzfaq.info/get/bejne/r5ZxaNZm0pfDcY0.html
@ChrisPopham5 күн бұрын
A few words here in the comments to help the KZfaq algorithms 😜
@nickd20848 күн бұрын
Have a look at map() function to get 1023 to 100
@MrWoodykeys10 күн бұрын
Lovely job Sir.
@damianbutterworth243410 күн бұрын
I`m fixing a Subaru Impreza alternator at the minute. Should be uploaded at the weekend. Thanks for the comment. It cheers me up.
@damianbutterworth243412 күн бұрын
int f = 0; int d = 0; float dd = 0; float ff = 0; int l = 0; void setup() { } void loop() { int f = analogRead(A0); int d = analogRead(A1); dd=d; ff=f; dd=(ff/1023)*dd; // WAVE GENERATOR for (int i = 0; i <= f; i++) { if(i >= dd){l=0;} if(i <= dd){l=1;} if(i >= dd){digitalWrite(9, HIGH);} if(i <= dd){digitalWrite(9, LOW);} delayMicroseconds(25); } }
@damianbutterworth243416 күн бұрын
Got a video of a bearing change on this alternator coming up in a few days.
@ColinMill125 күн бұрын
I just repaired the one on my 1963 Massey Ferguson 35x (the original I'm fairly sure) and having opened it up I was amazed it had been working up to that point. However, after giving it a good clean up it now works fine. The contacts have eroded to about half their original thickness so may not last another 60 years.
@greentroll9326Ай бұрын
all working now then mate where you getting the speccies from i know one you had years ago but have you got more than one now double sided sticky tape blue peter special mate :)
@damianbutterworth2434Ай бұрын
My first computer was this Speccy model. So I wanted one again. I get them off EBay. About £50 each. I might try Torksey Car Boot soon.
@greentroll9326Ай бұрын
@@damianbutterworth2434 next need to find a way to network them lol
@StuHo1mez28 күн бұрын
Just watching your video, if your ULA is too hot to touch, may I suggest that it's nearing death. You don't need an extra heatsink. The tracopower negates the need for the native one. Good luck.
@damianbutterworth243428 күн бұрын
@@StuHo1mez I should get a modern ULA for it. I`ll keep an eye on it. Perhaps I killed it with the over voltage. To be honest it was real hard to get the picture set up with this ULA. I fitted another and the screen was perfect. Thanks for the advice.
@AlanSmith-jx8bdАй бұрын
Did you get the service manual i gave John
@damianbutterworth2434Ай бұрын
yes mate. I will have another go soon. Just got a mates car alternator to sort out.
@AlanSmith-jx8bdАй бұрын
No problem, didn't know if John had passed it on, he's in love again anything could happen
@AlanSmith-jx8bdАй бұрын
Hi, it's Alan the owner of steering computer,for it to work power has to go from computer to control which you sent back to me,also at other end the power out motor goes to small hydraulic pump only has power when control is used,I did send service manual to John,did you get it?that tells you all the volts across board,the manual is not for that machine but they are the same,but the 10 has more power, please get in touch if I can help,I am in the process of buying another one,but it's second hand and you always get problems
@damianbutterworth2434Ай бұрын
I was pointing at the wrong chips in the video. IC15 is 1, IC16 is 2, IC17 is 4, IC18 is 8, IC19 is 16, IC 20 is 32, IC 21 is 64, IC22 is 128.
@kevinmahardika447Ай бұрын
that's so cool dude! If I may know what components must be purchased to make the machine ?
@damianbutterworth2434Ай бұрын
Hi mate, here is the frame and you need to get the 4 MG995 servo`s separately. I might be using the wrong one on the jaws. This sellers says they are all the same. Perhaps this is why I struggled to get it to grip. www.ebay.co.uk/itm/296339248801?itmmeta=01HZBXVZRZA91TWZEB8SM7R5PS&hash=item44ff3216a1:g:biwAAOSwDJRmS~x0&itmprp=enc%3AAQAJAAAA4Ek0fQ0KtRA3kiijkjtUXpgo1O2kNXxTcGfypU59cjDmlxmUTYF114GAk5yR8FqZFXFTKVtJvxvIGuHsMf3zr%2B0XBbu4OiPVRyfGlFnGRMDDHQ5SDLPo2PutoZg00C1XI%2FUhF%2BNRNcjgPJshiZ9YCYPLFLkoyv3nh7EKyy5wq6S3jM3nwmGDHi7LvmxmysY%2BkjPt1K811VI4SUdmw%2BfetcdHFjX5JGbU%2Bnx8vGa5UWubSUtplmTdkcjiG61fO1LAouwH4azz2uyF3neZaLnrnEIGuiKMxXr2wPd%2BsK0Htqjt%7Ctkp%3ABFBM3Pzv_fpj
@damianbutterworth2434Ай бұрын
the servo`s I used are HJS3315D. The must be 180 degree servo`s. I`m struggling to find one on Ebay on it`s own without brackets. But if the EBay adverts says MG99J they should be the same.
@nxbidАй бұрын
thats so cool!! i loved this video and sat through the entire thing, thanks for this and keep doing awesome stuff!
I don't know specifically what they are called but I like solenoids that are in like boot shaped housings. They look far easier to repair than these types.
@damianbutterworth2434Ай бұрын
Are they Lucas ones with 2 screws in the cap. Much easier to repair.
@damianbutterworth2434Ай бұрын
Oh I`ve seen some like that on Rovers. Quite big and have 3 screws holding the cap on. When you take the cover off the contacts are easy to clean. Perhaps it`s that type you mean.
@ironwolf3699Ай бұрын
@@damianbutterworth2434 yea I like those ones because I can remove the coil with just a small ish arbor press. When they are pretty hard, I just use a pipe/tube for more leverage. And that is when the coil is burnt out or the wire at the bottom needs to be re soldered.
@greentroll93262 ай бұрын
des rem little phill i see him last night he said to say hi
@Matt.Walker2 ай бұрын
hahaha il just do this before i stop and this then that hahaha im the same you think i will stop now but your brain keeps working on the problem great video m8
@greentroll93262 ай бұрын
i rem denny and you doing that about 40 yrs ago on my amiga at my place that takes me back lol
@damianbutterworth24342 ай бұрын
It works better now I`ve got the gravity equation right. I forgot to times the distance by itself. LET F=GC*((MA(N)*MA(M))/(C*C))
@damianbutterworth24342 ай бұрын
9 ON ERROR GOTO 165 10 DIM X(50) 20 DIM Y(50) 30 DIM XX(50) 40 DIM YY(50) 41 DIM XD(50) 42 DIM YD(50) 43 DIM XXD(50) 44 DIM YYD(50) 45 DIM MAD(50) 50 LET F=1 60 LET GC=1 70 DIM MA(50) 80 LET P=2 REM AMMOUNT OF PLANETS 90 LET A=0 100 LET B=0 110 COLOUR 1,15 120 COLOUR 2,0 130 GCOL 1 140 COLOUR 130 150 GCOL 130 160 COLOUR 1 165 CLS 170 *REFRESHON 171 CLS: INPUT TAB(10,10);"NUMBER OF PLANETS/STARS";P 172 CLS 173 PRINT TAB(5,2);"PLANET NUMBER X Y X SPEED Y SPEED MASS GRAVITY CONSTANT" 174 PRINT TAB(5,3);"============= ===== ===== ======= ======= ==== ================" 175 PRINT TAB(53,4);GC 176 FOR N=0 TO P-1 177 PRINT TAB(5,4+N);N+1 178 PRINT TAB(20,4+N);XD(N) 179 PRINT TAB(26,4+N);YD(N) 180 PRINT TAB(32,4+N);XXD(N) 182 PRINT TAB(40,4+N);YYD(N) 183 PRINT TAB(48,4+N);MAD(N) 184 NEXT N 185 PRINT TAB(5,5+P);"ENTER 0 TO RUN OR 99 TO CHANGE GAVITY CONSTANT" 186 INPUT TAB(5,6+P);"ADJUST PLANET NUMBER";PL: IF PL=0 THEN CLS: GOTO 300 187 IF PL=99 THEN INPUT TAB(5,7+P);"INPUT GRAVITY CONSTANT = ";GC:GOTO 172 194 INPUT TAB(5,7+P);"X = ";XD(PL-1) 195 INPUT TAB(5,8+P);"Y = ";YD(PL-1) 196 INPUT TAB(5,9+P);"X SPEED = ";XXD(PL-1) 197 INPUT TAB(5,10+P);"Y SPEED = ";YYD(PL-1) 198 INPUT TAB(5,11+P);"MASS = ";MAD(PL-1) 199 CLS: GOTO 173 300 FOR N=0 TO P-1 310 LET X(N)=XD(N) 311 LET Y(N)=YD(N) 312 LET XX(N)=XXD(N) 313 LET YY(N)=YYD(N) 314 LET MA(N)=MAD(N) 315 NEXT N 320 FOR N=0 TO P-1 321 FOR M=0 TO P-1 322 IF N=M THEN GOTO 330 325 IF X(N)=X(M) THEN LET X(N)=X(N)+0.0001: LET X(M)=X(M)-0.0001 326 IF Y(N)=Y(M) THEN LET Y(N)=Y(N)+0.0001:LET Y(M)=Y(M)-0.0001 330 NEXT M 331 NEXT N 380 REM *REFRESHON# 390 FOR N=0 TO P-1 REM DRAW THE PLANETS 395 LET SIZE=8+(MA(N)) 400 CIRCLEFILL X(N),Y(N),SIZE 410 NEXT N 420 FOR N=0 TO P-1 REM MOVE THE PLANETS 430 LET X(N)=X(N)+XX(N) 440 LET Y(N)=Y(N)+YY(N) 450 NEXT N 460 FOR N=0 TO P-1 REM CALCULATE DISTANCE BETWEEN PLANETS AND CALCULATE GRAVITY FORCE 470 FOR M=0 TO P-1 480 IF N=M THEN GOTO 690 490 IF X(N)>X(M) THEN LET A=X(N)-X(M) REM WORK OUT TRIANGLE "A" SIDE 500 IF X(N)<X(M) THEN LET A=X(M)-X(N) 510 IF Y(N)>Y(M) THEN LET B=Y(N)-Y(M) REM WORK OUT TRIANGLE "B" SIDE 520 IF Y(N)<Y(M) THEN LET B=Y(M)-Y(N) 530 LET C=(A*A)+(B*B) REM WORK OUT TRIANGLE "C" SIDE 540 LET C=SQR(C) 550 LET AN=DEG(ATN(B/A)) REM WORK OUT THE ANGLE 560 LET CO=(ACS(A/C)) REM WORK OUT THE COSINE 570 LET SI=(ASN(B/C)) REM WORK OUT THE SINE 580 IF X(N)>X(M) AND Y(N)>Y(M) THEN LET CO=CO+PI: LET SI=SI+PI REM ADJUST THE ANGLE 180 DEGREES 590 IF X(N)<X(M) AND Y(N)>Y(M) THEN LET SI=SI+PI 600 IF X(N)>X(M) AND Y(N)<Y(M) THEN LET CO=CO+PI 630 LET F=GC*((MA(N)*MA(M))/(C*C)) REM GRAVITY FORCE EQAUTION 640 LET F=F*(MA(M)/MA(N)) REM ADJUST FORCE FOR WIEGHT 660 LET XX(N)=XX(N)+(F*(COS(CO))) REM APPLY FORCE TO X AXIS 670 LET YY(N)=YY(N)+(F*(SIN(SI))) REM APPLY FORCE TO Y AXIS 690 NEXT M 700 NEXT N 710 IF INKEY(-99) THEN GOTO 170 730 *REFRESH 750 *REFRESHOFF 780 CLS 790 GOTO 390
@greentroll93262 ай бұрын
was that ezzy hes not got a boat now has he lmao des
@damianbutterworth24342 ай бұрын
It`s his mate boat. :)
@greentroll93262 ай бұрын
@@damianbutterworth2434 lol nice ill have come over some time wen it gets warmer not seen ezzy in ages is he living on a boat now ? it looked a pretty big boat. tel him hes looking well when you see him mate
@damianbutterworth24342 ай бұрын
@@greentroll9326 first time I`ve seem him since last year.
@greentroll93262 ай бұрын
@@damianbutterworth2434 i bet you see him more now he has a boat captian pugwash lol
@Matt.Walker2 ай бұрын
that machine brings back some memories
@Matt.Walker2 ай бұрын
Oi oi found it spelled ya name wrong first time lol
@greentroll93262 ай бұрын
should ask ronnie mate if stuck mate he has thall the machines etc to test shit lol
@damianbutterworth24342 ай бұрын
Can you show him mate see if he has any ideas.
@Luthais2 ай бұрын
Nice bud. But how do you get the bike their without spawning in it ; ]
@g.j.dutoit44473 ай бұрын
Why if bench test ford ranger starter, it not stay ingage if i keep small wire on pin. It uningage with start small wire on start point. It must only uningage only when i take of start thin wire, am i right or wrong? Rrrrrealy hope someone can help me. Thanks guys.
@damianbutterworth24343 ай бұрын
Could be the holding coil is open circuit.
@damianbutterworth24343 ай бұрын
Does it keep trying to engage. Because if the holding coil is broken. The pull in coil will engage it and then cut out and let the holding coil take over but if the holding coil is broken it will disengage and try again.
@damianbutterworth24343 ай бұрын
If you take off the main lead from the solenoid to the motor and measure the resistance from the small power in spade connector you should get a reading down to earth and to the large motor post . If you get an open circuit when you measure to earth then it`s your holding coil which would cause it to click in and out.
@g.j.dutoit44473 ай бұрын
@@damianbutterworth2434 you mean that the solinoid coil not getting power after a while (seconds) It ingage then even with start wire still connect bendix gear ungage.
@g.j.dutoit44473 ай бұрын
@@damianbutterworth2434 aaaa okay got you. That i dont no. I take of starter small wire just after it disengage. I will try totay to still keep the starter wire on after it disengage to see if it engage again. Thanks for the advise. Will tell you later on if it engage again if hold starter wire on even if it disengage. 😉
@greentroll93263 ай бұрын
add wallls up and down and gravity and you have a basic version of flappy birds lol
@damianbutterworth24343 ай бұрын
int x[20]; int y[20]; int a[20]; int score=0; int highscore=0; int rockcount=0; #define key1 2 //connect wire 1 to pin 2 #define key2 3 //connect wire 2 to pin 3 #define key3 4 //connect wire 3 to pin 4 #define key4 5 //connect wire 4 to pin 5 int key=0; int shipx=3; #include <Wire.h> #include <LCD-I2C.h> LCD_I2C lcd(0x27, 20, 4); // Default address of most PCF8574 modules, change according byte shipChar[] = { B11000, B11100, B11110, B11111, B11111, B11110, B11100, B11000 }; byte rockChar[] = { B01110, B10111, B11101, B11111, B11111, B10111, B11101, B01110 }; void setup() { for (int i = 0; i <= 19; i++) { x[i]=19; y[i]=random(4); a[i]=0; } pinMode(key1, INPUT_PULLUP);// set pin as input pinMode(key2, INPUT_PULLUP);// set pin as input pinMode(key3, INPUT_PULLUP);// set pin as input pinMode(key4, INPUT_PULLUP);// set pin as input lcd.begin(); lcd.createChar(0, shipChar); lcd.createChar(1, rockChar); lcd.display(); lcd.backlight(); delay(2000); } void loop() { begin: score=0; for (int i = 0; i <= 19; i++) { x[i]=19; y[i]=random(4); a[i]=0; } rockcount=0; start: int ran=random(20); if(ran <= 1){ a[rockcount]=1; rockcount=rockcount+1; } key=0; int key1S = digitalRead(key1);// read if key1 is pressed int key2S = digitalRead(key2);// read if key1 is pressed int key3S = digitalRead(key3);// read if key1 is pressed int key4S = digitalRead(key4);// read if key1 is pressed if(!key1S){ key=1; } if(!key2S){ key=2; } if(!key3S){ key=3; } if(!key4S){ key=4; } if(shipx <=2 && key == 3){ lcd.setCursor(0,shipx); lcd.print(" "); shipx=shipx+1; } if(shipx >=1 && key == 4){ lcd.setCursor(0,shipx); lcd.print(" "); shipx=shipx-1; } for (int n = 0; n <= 19; n++) { if(a[n] == 1){ lcd.setCursor(x[n],y[n]); lcd.print(" "); if(x[n] == -1){x[n]=19;y[n]=random(4);} x[n]=x[n]-1; lcd.setCursor(x[n],y[n]); lcd.write(1); if(x[n] == 0 && y[n] == shipx){ lcd.clear(); goto boom; } } } lcd.setCursor(0,shipx); lcd.write(0); delay(250); score=score+1; goto start; boom: if(score >= highscore){highscore=score;} lcd.setCursor(5,0); lcd.print("GAME OVER"); lcd.setCursor(5,1); lcd.print("SCORE"); lcd.setCursor(11,1); lcd.print(score); lcd.setCursor(0,2); lcd.print("HIGH SCORE"); lcd.setCursor(11,2); lcd.print(highscore); key1S = digitalRead(key1);// read if key1 is pressed if(!key1S){ lcd.clear(); goto begin; } delay(1); goto boom; }
@greentroll93263 ай бұрын
you found a game to play then des
@damianbutterworth24343 ай бұрын
It`s SCUM mate. I think you had a go when you was round. It`s about all I play.
@greentroll93263 ай бұрын
@@damianbutterworth2434 no doom then i rem you finished that on psx with all secrets
@damianbutterworth24343 ай бұрын
@@greentroll9326 I`ve still got the PS1 we chipped at your house. I was going to try and fire it up. Might make a utube vid of it lol.
@greentroll93263 ай бұрын
@@damianbutterworth2434 i wonder if it still fires up after all these years .bet you still have doom then mate lol
@stevehills74203 ай бұрын
Thanks for this video. I'm just reconditioning one of these and when I knocked out the old bearing it came out with all the washers and stuff in one go and i had no idea what order they wnt back in. So your video has saved the day. My fibre washer had disintigrated and left just a few bits so didn't know it was a fibre washer until seeing this. I can ony find drawings of older versions of the C40 dynamo which are very different in the bearing area. Cheers.
@StealinYoDad3 ай бұрын
If you use OBS studio on your desktop it will help record your screen so you don't have to keep moving your camera! great video
@damianbutterworth24343 ай бұрын
I use Avidemux to edit and it has trouble mixing different video types. I`ve can capture video on my PC. I`ll have a go with OBS and see if I can mix that with my old Canon D1100 vid`s. Cheers for watching. I`m always trying to get better. My early vids were rubbish lol.
@BojanMitrovicAimbot913 ай бұрын
Thanks for this😄
@damianbutterworth24343 ай бұрын
Drinking and making UTube vids is where I go wrong lol.
@greentroll93262 ай бұрын
@@damianbutterworth2434 your microphone went wrong have to get one them stadalone ones mate wit built in screen
@damianbutterworth24343 ай бұрын
const int analogInPin = A0; // Analog input pin that the potentiometer is attached to int sensorValue = 0; // value read from the pot #include <LCD-I2C.h> LCD_I2C lcd(0x27, 20, 4); // Default address of most PCF8574 modules, change according void setup() { // If you are using more I2C devices using the Wire library use lcd.begin(false) // this stop the library(LCD-I2C) from calling Wire.begin() lcd.begin(); lcd.display(); lcd.backlight(); pinMode(8, OUTPUT); digitalWrite(8, HIGH); } void loop() { // read the analog in value: sensorValue = analogRead(analogInPin); if(sensorValue >= 200){ lcd.setCursor(0,1); lcd.print("RAINING!!!!!!!!!!"); delay(5000); digitalWrite(8, LOW); delay(1000); digitalWrite(8, HIGH); delay(5000); } if(sensorValue <= 199){ lcd.setCursor(0,1); lcd.print(" "); } lcd.setCursor(0,0); lcd.print(sensorValue); lcd.print(" "); delay(500); }
@greentroll93263 ай бұрын
you making a water plants if plants not wet lol- , what happens if it keeps raining woud trhe air keep blowing anver 5 secs mate ?
@damianbutterworth24343 ай бұрын
This is for the washing line. To take it in when it rains. :) I did use the air valve for watering plants a few years ago. Got flooded out too many times lol
@greentroll93263 ай бұрын
@@damianbutterworth2434 lol i thougfht you already did the auto washing line when you did the blinds whats this version 2 ? are you gonna have it put back out the washing when it stops rraining ie : if rain- true then say in if rain = flalse then pop back out lol would be efficient if it was only a short shower your washing would be able to go out when it stopped :)
@damianbutterworth24343 ай бұрын
It works. Just had a storm.
@greentroll93263 ай бұрын
knew it would :)
@greentroll93263 ай бұрын
my camr des is 1300d same connection
@damianbutterworth24343 ай бұрын
I`ve just found the BULB setting lol. Will try it out on long exposures.
@greentroll93263 ай бұрын
you made it then dea dez also add sound detectorin so can photo shahing glass etc my camera is same connection s yours i have the 1300d
@damianbutterworth24343 ай бұрын
not used sound detection in the Arduino yet. I`ll have a look see if they make any shields mics. Could just use a microphone and play about a bit.
@greentroll93263 ай бұрын
@@damianbutterworth2434 kinda like if sound > than xxxx then trigger ? like a grass as it smashes etc
@damianbutterworth24343 ай бұрын
@@greentroll9326 just had a storm and the sensor went off. Just about to check the Canon`s pics.
@damianbutterworth24343 ай бұрын
This is the lightning detector program on it`s own without the keypad and LCD screen. int sensorPin = A0; int sensorValue = 0; int level=0; int n=0; void setup() { pinMode(8, OUTPUT); camera switch digitalWrite(8, HIGH); } void loop() { sensorValue = analogRead(sensorPin); n=sensorValue-3; // lower the number to make it more sensitive. if(level <= n){ // if a higher light level detected then trigger the camera. digitalWrite(8, LOW); //trigger the camara. delay(1000); // wait 1 second for the camara to take a picture. digitalWrite(8, HIGH); // turn the camara off. delay(2000); // wait 2 seconds for the camera to settle down. sensorValue = analogRead(sensorPin); // read the sensor again to stop a double trigger. } level=sensorValue; delay(100); }
@damianbutterworth24343 ай бұрын
Program in 2 parts due to size. int sensorPin = A0; int sensorValue = 0; int level=0; int n=0; int stage=0; int aj=0; int f=0; int h=0; int m=0; int s=0; int sen=3; // lightning senitive. highter means less senitive int delayh=0; int delaym=0; int delays=10; int longh=0; int longm=0; int longs=5; int intvh=0; int intvm=0; int intvs=5; int frames=5; int beep=0; #include <LCD-I2C.h> LCD_I2C lcd(0x27, 16, 2); // Default address of most PCF8574 modules, change according void setup() { // If you are using more I2C devices using the Wire library use lcd.begin(false) // this stop the library(LCD-I2C) from calling Wire.begin() lcd.begin(); lcd.display(); lcd.backlight(); pinMode(2, INPUT); // up pinMode(3, INPUT); // centre pinMode(4, INPUT); // left pinMode(5, INPUT); // down pinMode(6, INPUT); // right pinMode(8, OUTPUT); // lightning relay pinMode(11, OUTPUT); // buzzer digitalWrite(8, HIGH); delay(2000); sensorValue = analogRead(sensorPin); //these 2 lines stops the relay activating at the start. level=sensorValue; } void loop() { Start: lcd.setCursor(0,0); lcd.print(" PRESS TO START"); lcd.setCursor(0,1); lcd.print("R FOR LIGHTNING"); if(digitalRead(3) == LOW){lcd.clear(); delay(500);stage=0;h=delayh;m=delaym;s=delays;f=frames;goto Run;} if(digitalRead(5) == LOW){lcd.clear(); delay(500);goto Delay;} if(digitalRead(2) == LOW){lcd.clear(); delay(500);goto Beep;} if(digitalRead(6) == LOW){lcd.clear(); delay(500);goto Lightning;} goto Start; Delay: lcd.setCursor(0,0); lcd.print("DELAY"); lcd.setCursor(13,0); lcd.print(":"); lcd.setCursor(10,0); lcd.print(":"); lcd.setCursor(14,0); if(delays <= 9){lcd.print("0");} lcd.print(delays); lcd.setCursor(11,0); if(delaym <= 9){lcd.print("0");} lcd.print(delaym); lcd.setCursor(8,0); if(delayh <= 9){lcd.print(" ");} lcd.print(delayh); if(aj == 0){lcd.setCursor(0,1);lcd.print(" ");} if(aj == 1){lcd.setCursor(0,1);lcd.print(" == ");} if(aj == 2){lcd.setCursor(0,1);lcd.print(" == ");} if(aj == 3){lcd.setCursor(0,1);lcd.print(" ==");} lcd.setCursor(0,0); lcd.print("DELAY"); lcd.setCursor(13,0); lcd.print(":"); lcd.setCursor(10,0); lcd.print(":"); lcd.setCursor(14,0); if(delays <= 9){lcd.print("0");} lcd.print(delays); lcd.setCursor(11,0); if(delaym <= 9){lcd.print("0");} lcd.print(delaym); lcd.setCursor(8,0); if(delayh <= 9){lcd.print(" ");} lcd.print(delayh); if(aj == 1){lcd.setCursor(0,1);lcd.print(" == ");} if(digitalRead(5) == LOW && aj == 0){lcd.clear(); delay(500);goto Long;} if(digitalRead(2) == LOW && aj == 0){lcd.clear(); delay(500);goto Start;} if(digitalRead(5) == LOW && aj == 0){lcd.clear(); delay(500);goto Long;} if(digitalRead(2) == LOW && aj == 0){lcd.clear(); delay(500);goto Start;} if(digitalRead(5) == LOW && aj == 1){ delay(200); if(delayh >= 1){delayh=delayh-1;} } if(digitalRead(2) == LOW && aj == 1){ delay(200); if(delayh <= 59){delayh=delayh+1;} } if(digitalRead(5) == LOW && aj == 2){ delay(200); if(delaym >= 1){delaym=delaym-1;} } if(digitalRead(2) == LOW && aj == 2){ delay(200); if(delaym <= 58){delaym=delaym+1;} } if(digitalRead(5) == LOW && aj == 3){ delay(200); if(delays >= 1){delays=delays-1;} } if(digitalRead(2) == LOW && aj == 3){ delay(200); if(delays <= 58){delays=delays+1;} } if(digitalRead(6) == LOW){ delay(500); if(aj <= 2){aj=aj+1;} } if(digitalRead(4) == LOW){ delay(500); if(aj >= 1){aj=aj-1;} } goto Delay; Long: lcd.setCursor(0,0); lcd.print("EXPOSURE"); lcd.setCursor(13,0); lcd.print(":"); lcd.setCursor(10,0); lcd.print(":"); lcd.setCursor(14,0); if(longs <= 9){lcd.print("0");} lcd.print(longs); lcd.setCursor(11,0); if(longm <= 9){lcd.print("0");} lcd.print(longm); lcd.setCursor(8,0); if(longh <= 9){lcd.print(" ");} lcd.print(longh); if(aj == 0){lcd.setCursor(0,1);lcd.print(" ");} if(aj == 1){lcd.setCursor(0,1);lcd.print(" == ");} if(aj == 2){lcd.setCursor(0,1);lcd.print(" == ");} if(aj == 3){lcd.setCursor(0,1);lcd.print(" ==");} lcd.setCursor(0,0); lcd.print("EXPOSURE"); lcd.setCursor(13,0); lcd.print(":"); lcd.setCursor(10,0); lcd.print(":"); lcd.setCursor(14,0); if(longs <= 9){lcd.print("0");} lcd.print(longs); lcd.setCursor(11,0); if(longm <= 9){lcd.print("0");} lcd.print(longm); lcd.setCursor(8,0); if(longh <= 9){lcd.print(" ");} lcd.print(longh); if(aj == 1){lcd.setCursor(0,1);lcd.print(" == ");} if(digitalRead(5) == LOW && aj == 0){lcd.clear(); delay(500);goto Intv;} if(digitalRead(2) == LOW && aj == 0){lcd.clear(); delay(500);goto Delay;} if(digitalRead(5) == LOW && aj == 0){lcd.clear(); delay(500);goto Intv;} if(digitalRead(2) == LOW && aj == 0){lcd.clear(); delay(500);goto Delay;} if(digitalRead(5) == LOW && aj == 1){ delay(200); if(longh >= 1){longh=longh-1;} } if(digitalRead(2) == LOW && aj == 1){ delay(200); if(longh <= 59){longh=longh+1;} } if(digitalRead(5) == LOW && aj == 2){ delay(200); if(longm >= 1){longm=longm-1;} } if(digitalRead(2) == LOW && aj == 2){ delay(200); if(longm <= 58){longm=longm+1;} } if(digitalRead(5) == LOW && aj == 3){ delay(200); if(longs >= 1){longs=longs-1;} } if(digitalRead(2) == LOW && aj == 3){ delay(200); if(longs <= 58){longs=longs+1;} } if(digitalRead(6) == LOW){ delay(500); if(aj <= 2){aj=aj+1;} } if(digitalRead(4) == LOW){ delay(500); if(aj >= 1){aj=aj-1;} } goto Long; Intv: lcd.setCursor(0,0); lcd.print("Interval"); lcd.setCursor(13,0); lcd.print(":"); lcd.setCursor(10,0); lcd.print(":"); lcd.setCursor(14,0); if(intvs <= 9){lcd.print("0");} lcd.print(intvs); lcd.setCursor(11,0); if(intvm <= 9){lcd.print("0");} lcd.print(intvm); lcd.setCursor(8,0); if(intvh <= 9){lcd.print(" ");} lcd.print(intvh); if(aj == 0){lcd.setCursor(0,1);lcd.print(" ");} if(aj == 1){lcd.setCursor(0,1);lcd.print(" == ");} if(aj == 2){lcd.setCursor(0,1);lcd.print(" == ");} if(aj == 3){lcd.setCursor(0,1);lcd.print(" ==");} lcd.setCursor(0,0); lcd.print("Interval"); lcd.setCursor(13,0); lcd.print(":"); lcd.setCursor(10,0); lcd.print(":"); lcd.setCursor(14,0); if(intvs <= 9){lcd.print("0");} lcd.print(intvs); lcd.setCursor(11,0); if(intvm <= 9){lcd.print("0");} lcd.print(intvm); lcd.setCursor(8,0); if(intvh <= 9){lcd.print(" ");} lcd.print(intvh); if(aj == 1){lcd.setCursor(0,1);lcd.print(" == ");} if(digitalRead(5) == LOW && aj == 0){lcd.clear(); delay(500);goto Frames;} if(digitalRead(2) == LOW && aj == 0){lcd.clear(); delay(500);goto Long;} if(digitalRead(5) == LOW && aj == 0){lcd.clear(); delay(500);goto Frames;} if(digitalRead(2) == LOW && aj == 0){lcd.clear(); delay(500);goto Long;} if(digitalRead(5) == LOW && aj == 1){ delay(200); if(intvh >= 1){intvh=intvh-1;} } if(digitalRead(2) == LOW && aj == 1){ delay(200); if(intvh <= 59){intvh=intvh+1;} } if(digitalRead(5) == LOW && aj == 2){ delay(200); if(intvm >= 1){intvm=intvm-1;} } if(digitalRead(2) == LOW && aj == 2){ delay(200); if(intvm <= 58){intvm=intvm+1;} } if(digitalRead(5) == LOW && aj == 3){ delay(200); if(intvs >= 1){intvs=intvs-1;} } if(digitalRead(2) == LOW && aj == 3){ delay(200); if(intvs <= 58){intvs=intvs+1;} } if(digitalRead(6) == LOW){ delay(500); if(aj <= 2){aj=aj+1;} } if(digitalRead(4) == LOW){ delay(500); if(aj >= 1){aj=aj-1;} } goto Intv; Frames: lcd.setCursor(0,0); lcd.print("FRAMES "); lcd.print(frames); lcd.print(" "); if(aj == 1){lcd.setCursor(7,1);lcd.print("===");} if(aj == 0){lcd.setCursor(7,1);lcd.print(" ");} if(digitalRead(5) == LOW && aj == 0){lcd.clear();delay(500);goto Beep;} if(digitalRead(2) == LOW && aj == 0){lcd.clear(); delay(500);goto Intv;} if(digitalRead(6) == LOW){delay(500);aj=1;} if(digitalRead(4) == LOW){delay(500);aj=0;} if(digitalRead(2) == LOW && aj == 1){delay(200);frames=frames+1;} if(digitalRead(5) == LOW && aj == 1 && frames >=2){delay(200);frames=frames-1;} goto Frames; Beep: lcd.setCursor(0,0); lcd.print("BEEP "); lcd.setCursor(5,0); if(beep == 0){lcd.print("OFF");} if(beep == 1){lcd.print("ON ");} if(digitalRead(5) == LOW){lcd.clear();delay(500);goto Start;} if(digitalRead(2) == LOW){lcd.clear(); delay(500);goto Frames;} if(digitalRead(4) == LOW){delay(500);beep=0;} if(digitalRead(6) == LOW){tone(11, 261);delay(500);noTone(11);beep=1;} goto Beep;
@damianbutterworth24343 ай бұрын
Run: stage0: //delay stage if(digitalRead(3) == LOW){lcd.clear(); delay(500);goto Start;} lcd.setCursor(0,0); lcd.print("Delay"); lcd.setCursor(13,0); lcd.print(":"); lcd.setCursor(10,0); lcd.print(":"); lcd.setCursor(14,0); if(s <= 9){lcd.print("0");} lcd.print(s); lcd.setCursor(11,0); if(m <= 9){lcd.print("0");} lcd.print(m); lcd.setCursor(8,0); if(h <= 9){lcd.print(" ");} lcd.print(h); if(s <= 0 && m <= 0 && h <= 0){lcd.clear();s=longs;m=longm;h=longh;goto stage1;} else delay(1000);s=s-1; if(s <= 0 && m >= 1){s=59;m=m-1;} if(s <= 0 && m <= 0 && h >= 1){s=59;m=59;h=h-1;} goto stage0; stage1: // long stage if(digitalRead(3) == LOW){lcd.clear(); delay(1000);stage=0;goto Start;} digitalWrite(8, LOW); // turn camera on lcd.setCursor(0,1); lcd.print("Frame"); lcd.setCursor(6,1); lcd.print(f); lcd.print(" of "); lcd.print(frames); lcd.print(" "); lcd.setCursor(0,0); lcd.print("Exposure"); lcd.setCursor(13,0); lcd.print(":"); lcd.setCursor(10,0); lcd.print(":"); lcd.setCursor(14,0); if(s <= 9){lcd.print("0");} lcd.print(s); lcd.setCursor(11,0); if(m <= 9){lcd.print("0");} lcd.print(m); lcd.setCursor(8,0); if(h <= 9){lcd.print(" ");} lcd.print(h); if(s <= 0 && m <= 0 && h <= 0){lcd.clear();digitalWrite(8, HIGH);s=intvs;m=intvm;h=intvh;goto stage2;} else delay(1000); s=s-1; if(s <= 0 && m >= 1){s=59;m=m-1;} if(s <= 0 && m <= 0 && h >= 1){s=59;m=59;h=h-1;} goto stage1; stage2: //interval stage if(digitalRead(3) == LOW){lcd.clear(); delay(1000);stage=0;goto Start;} lcd.setCursor(0,1); lcd.print("Frame"); lcd.setCursor(6,1); lcd.print(f); lcd.print(" of "); lcd.print(frames); lcd.print(" "); lcd.setCursor(0,0); lcd.print("Interval"); lcd.setCursor(13,0); lcd.print(":"); lcd.setCursor(10,0); lcd.print(":"); lcd.setCursor(14,0); if(s <= 9){lcd.print("0");} lcd.print(s); lcd.setCursor(11,0); if(m <= 9){lcd.print("0");} lcd.print(m); lcd.setCursor(8,0); if(h <= 9){lcd.print(" ");} lcd.print(h); if(s <= 0 && m <= 0 && h <= 0){lcd.clear();stage=0;goto stage3;} else delay(1000);s=s-1; if(s <= 0 && m >= 1){s=59;m=m-1;} if(s <= 0 && m <= 0 && h >= 1){s=59;m=59;h=h-1;} goto stage2; stage3: f=f-1; if(f == 0){goto Start;} lcd.clear();s=longs;m=longm;h=longh;goto stage1; goto stage3; goto Run; Lightning: if(digitalRead(2) == LOW && sen <= 49){sen=sen+1;delay(100);} if(digitalRead(5) == LOW && sen >= 2){sen=sen-1;delay(100);} if(digitalRead(3) == LOW){lcd.clear(); delay(1000);stage=0;goto Start;} sensorValue = analogRead(sensorPin); n=sensorValue-sen; // lower the number to make it more sensitive. if(level <= n){ // if a higher light level detected then trigger the camera. digitalWrite(8, LOW); //trigger the camara. delay(1000); // wait 1 second for the camara to take a picture. digitalWrite(8, HIGH); // turn the camara off. delay(2000); // wait 2 seconds for the camera to settle down. sensorValue = analogRead(sensorPin); // read the sensor again to stop a double trigger. } lcd.setCursor(0,0); lcd.print("LIGHTNING MODE"); lcd.setCursor(0,1); lcd.print("Light "); lcd.setCursor(6,1); lcd.print(sensorValue); lcd.print(" "); lcd.setCursor(10,1); lcd.print("Sen "); lcd.print(sen); lcd.print(" "); level=sensorValue; delay(100); goto Lightning; }
@GWorxOz3 ай бұрын
LOST ME THE SECOND MUSIC STARTED.
@svofski4 ай бұрын
if you used a violet laser one could call it a purple burglar alarm
@greentroll93264 ай бұрын
you been watching too much blue peter des mate lol make it trigger the camera use it to capture some cool effects mate
@damianbutterworth24344 ай бұрын
Sounds like a good idea. You thinking about lightning?
@greentroll93264 ай бұрын
@@damianbutterworth2434 yes use light resiter to trigger the camera when the lightning lights upthe sky . the camera will trigger every time capturing the lightnight bolt also could use sound sensor to trigger when explosions happen baloon pops etc
@damianbutterworth24344 ай бұрын
@@greentroll9326 I got one of them push button wired thingy`s to take pics on the Canon. I`ll have to measure the jack plug and see what takes a pic. Would make a good vid.
@greentroll93264 ай бұрын
@@damianbutterworth2434 intervolometer i have one of those lol
@damianbutterworth24344 ай бұрын
@@greentroll9326 you told me to get one. Works good taking star pics when it`s not cloudy. :)
I also hate buglers - that nasty sound, not a even as cool as real trumpet, let alone a fluegelhorn - playing some throwback screeching sounds. Bugles suck
@damianbutterworth24344 ай бұрын
Lol when I typed burgler the spell checker put a red line under it so I thought it was wrong. I`m not good at spelling. I gave up with English as it`s not that logical at school. I was programming at 12 year old so my mind was more interested in that. Great comment. Made me laugh mate.
@greentroll93264 ай бұрын
you aint got a garage mate lol well not last time i was over . i got something i need you to look at 8 channel mixer that wont power up could be any thing i have no multimeter since the lcd died lol iots old style capacirtors in there lol
@damianbutterworth24344 ай бұрын
Workshop then lol. Have you not been in the Workshop? Might be easy if it`s got no power.
@damianbutterworth24344 ай бұрын
int n=0; int alarm_mode=0; int door=0; int on_off=0; int pir=0; int exit_time=0; int entry_time=0; int intruder=0; int alarm_time=0; void setup() { pinMode(8, INPUT); // ON/OFF SWITCH pinMode(9, OUTPUT); // BUZZER pinMode(10, INPUT); // DOOR MAGNETIC SWITCH pinMode(11, INPUT); // PIR SENSOR pinMode(12, OUTPUT); // ALARM RELAY pinMode(13, OUTPUT); // LED digitalWrite(9, LOW); // SET BUZZER LOW = OFF digitalWrite(12, LOW); // ALARM RELAY DEFAULT HIGH = OFF digitalWrite(13, LOW); //SET THE LED LOW = OFF delay(1000); } void loop() { on_off=digitalRead(8); delay(4); door=digitalRead(10); delay(4); pir=digitalRead(11); intruder=0; if(pir == HIGH){ intruder=1; } if(door == LOW){ intruder=1; } if (intruder == 0){digitalWrite(13, LOW);} if (intruder == 1){digitalWrite(13, HIGH);} if (on_off == LOW){ alarm_mode=0; digitalWrite(12, LOW); noTone(9); } if (alarm_mode == 0 && on_off == HIGH){ alarm_mode=1; exit_time=6000; // 60 seconds } if (alarm_mode == 1){ // ALARM SET AND WAITING 60 SECONDS TO GET OUT. exit_time=exit_time-1; if (n==0){tone(9, 1000);} if (n==20){noTone(9);} if (exit_time == 0){ alarm_mode=2; } } if (alarm_mode == 2){ // ALARM SET. WAITING FOR AN INTRUDER. noTone(9); if (intruder == 1){ alarm_mode=3; entry_time=3000; // 30 seconds } } if (alarm_mode ==3){ // Coming into the garage and the alarm enter timer is activated. if (n==0){tone(9, 800);} if (n==50){noTone(9);} entry_time=entry_time-1; if (entry_time == 0){ alarm_mode=4; alarm_time=1000; } } if (alarm_mode == 4){ noTone(9); digitalWrite(12, HIGH); // ALARM RELAY ACTIVATED. alarm_time=alarm_time-1; if (alarm_time == 0){ digitalWrite(12, LOW); alarm_mode=5; } } if (alarm_mode ==5){ // Alarm has been activated and now warns me of an intruder has been in. if (n==0){tone(9, 1500);} if (n==5){noTone(9);} } n=n+1; if(n >= 100){ n=0; } delay(2); }