SCUM. Shaft inside the dam. Safe base.
3:51
ZX Spectrum Finally done.
19:07
Arduino Mini Robot Programming.
31:26
Short Boat Trip.
0:57
2 ай бұрын
SCUM Air Tours.
1:00:12
2 ай бұрын
Simple Arduino Game.
19:02
3 ай бұрын
SCUM Stuntman.
1:24
3 ай бұрын
£22 USB Microscope Test.
0:15
3 ай бұрын
Arduino Laser Burglar Alarm
11:30
4 ай бұрын
Arduino Buzzer.
5:28
4 ай бұрын
Arduino Bugler Alarm.
15:31
5 ай бұрын
Perkins 100A Alternator Test OK.
2:35
Пікірлер
@Pobsta-de7hb
@Pobsta-de7hb 18 сағат бұрын
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
@damianbutterworth2434
@damianbutterworth2434 15 сағат бұрын
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-de7hb
@Pobsta-de7hb 2 сағат бұрын
@@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
@damianbutterworth2434
@damianbutterworth2434 2 күн бұрын
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
@damianbutterworth2434
@damianbutterworth2434 2 күн бұрын
Only use a 12 volt supply to the test kit. Don`t use the car battery since it can go over 12 when testing.
@damianbutterworth2434
@damianbutterworth2434 5 күн бұрын
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.
@damianbutterworth2434
@damianbutterworth2434 5 күн бұрын
This is how to make a Smart Alternator Tester Square Wave Generator for about £20. kzfaq.info/get/bejne/r5ZxaNZm0pfDcY0.html
@ChrisPopham
@ChrisPopham 5 күн бұрын
A few words here in the comments to help the KZfaq algorithms 😜
@nickd2084
@nickd2084 8 күн бұрын
Have a look at map() function to get 1023 to 100
@MrWoodykeys
@MrWoodykeys 10 күн бұрын
Lovely job Sir.
@damianbutterworth2434
@damianbutterworth2434 10 күн бұрын
I`m fixing a Subaru Impreza alternator at the minute. Should be uploaded at the weekend. Thanks for the comment. It cheers me up.
@damianbutterworth2434
@damianbutterworth2434 12 күн бұрын
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); } }
@damianbutterworth2434
@damianbutterworth2434 16 күн бұрын
Got a video of a bearing change on this alternator coming up in a few days.
@ColinMill1
@ColinMill1 25 күн бұрын
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
@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
@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
@greentroll9326 Ай бұрын
@@damianbutterworth2434 next need to find a way to network them lol
@StuHo1mez
@StuHo1mez 28 күн бұрын
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.
@damianbutterworth2434
@damianbutterworth2434 28 күн бұрын
@@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
@AlanSmith-jx8bd Ай бұрын
Did you get the service manual i gave John
@damianbutterworth2434
@damianbutterworth2434 Ай бұрын
yes mate. I will have another go soon. Just got a mates car alternator to sort out.
@AlanSmith-jx8bd
@AlanSmith-jx8bd Ай бұрын
No problem, didn't know if John had passed it on, he's in love again anything could happen
@AlanSmith-jx8bd
@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
@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
@kevinmahardika447 Ай бұрын
that's so cool dude! If I may know what components must be purchased to make the machine ?
@damianbutterworth2434
@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
@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
@nxbid Ай бұрын
thats so cool!! i loved this video and sat through the entire thing, thanks for this and keep doing awesome stuff!
@damianbutterworth2434
@damianbutterworth2434 Ай бұрын
#include <Servo.h> int step=0; int a=90; int b=70; int c=75; int jaw=1; int de=15; // ROBOT SPEED. LOWER IS FASTER. int ang=0; Servo sa; Servo sb; Servo sc; Servo sd; void setup() { sa.attach(9); sb.attach(10); sc.attach(11); sd.attach(12); } void loop() { start: if(step == 0){ step=step+1; goto home; } if(step == 1){ step=step+1; ang=20; goto pick1; } if(step == 2){ step=step+1; goto lift; } if(step == 3){ step=step+1; ang=120; goto drop; } if(step == 4){ step=step+1; goto home; } if(step == 5){ step=step+1; ang=40; goto pick1; } if(step == 6){ step=step+1; goto lift; } if(step == 7){ step=step+1; ang=140; goto drop; } if(step == 8){ step=step+1; goto home; } if(step == 9){ step=step+1; ang=60; goto pick1; } if(step == 10){ step=step+1; goto lift; } if(step == 11){ step=step+1; ang=160; goto drop; } if(step == 12){ step=step+1; goto home; } delay(10000); step=0; goto start; pick1: if(jaw == 1){ sd.write(120); // OPEN JAWS delay(1000); sd.write(95); // TURN JAWS OFF jaw=0; } if(a <= ang-1){a=a+1;} if(a >= ang+1){a=a-1;} if(a != ang){ sa.write(a); delay(de); } if(a == ang){ if(b <= 44){b=b+1;} if(b >= 46){b=b-1;} if(c <= 74){c=c+1;} if(c >= 76){c=c-1;} sb.write(b); sc.write(c); delay(de); if(b == 45 && c == 75){ sd.write(80); delay(1000); jaw=1; goto start; } } goto pick1; drop: if(a <= ang-1){a=a+1;} if(a >= ang+1){a=a-1;} if(a != ang){ sa.write(a); delay(de); } if(a == ang){ if(b <= 44){b=b+1;} if(b >= 46){b=b-1;} if(c <= 74){c=c+1;} if(c >= 76){c=c-1;} sb.write(b); sc.write(c); delay(de); if(b == 45 && c == 75){ sd.write(120); delay(1000); jaw=0; goto start; } } goto drop; home: if(jaw == 1){ sd.write(120); // OPEN JAWS delay(1000); sd.write(95); // TURN JAWS OFF jaw=0; } if(b <= 89){b=b+1;} if(b >= 91){b=b-1;} if(c <= 89){c=c+1;} if(c >= 91){c=c-1;} sb.write(b); sc.write(c); delay(de); if(b == 90 && c == 90){ goto start; } goto home; lift: sd.write(70); if(b <= 89){b=b+1;} if(b >= 91){b=b-1;} if(c <= 89){c=c+1;} if(c >= 91){c=c-1;} sb.write(b); sc.write(c); delay(de); if(b == 90 && c == 90){ goto start; } goto lift; }
@ironwolf3699
@ironwolf3699 Ай бұрын
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
@damianbutterworth2434 Ай бұрын
Are they Lucas ones with 2 screws in the cap. Much easier to repair.
@damianbutterworth2434
@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
@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.
@greentroll9326
@greentroll9326 2 ай бұрын
des rem little phill i see him last night he said to say hi
@Matt.Walker
@Matt.Walker 2 ай бұрын
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
@greentroll9326
@greentroll9326 2 ай бұрын
i rem denny and you doing that about 40 yrs ago on my amiga at my place that takes me back lol
@damianbutterworth2434
@damianbutterworth2434 2 ай бұрын
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))
@damianbutterworth2434
@damianbutterworth2434 2 ай бұрын
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
@greentroll9326
@greentroll9326 2 ай бұрын
was that ezzy hes not got a boat now has he lmao des
@damianbutterworth2434
@damianbutterworth2434 2 ай бұрын
It`s his mate boat. :)
@greentroll9326
@greentroll9326 2 ай бұрын
@@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
@damianbutterworth2434
@damianbutterworth2434 2 ай бұрын
@@greentroll9326 first time I`ve seem him since last year.
@greentroll9326
@greentroll9326 2 ай бұрын
@@damianbutterworth2434 i bet you see him more now he has a boat captian pugwash lol
@Matt.Walker
@Matt.Walker 2 ай бұрын
that machine brings back some memories
@Matt.Walker
@Matt.Walker 2 ай бұрын
Oi oi found it spelled ya name wrong first time lol
@greentroll9326
@greentroll9326 2 ай бұрын
should ask ronnie mate if stuck mate he has thall the machines etc to test shit lol
@damianbutterworth2434
@damianbutterworth2434 2 ай бұрын
Can you show him mate see if he has any ideas.
@Luthais
@Luthais 2 ай бұрын
Nice bud. But how do you get the bike their without spawning in it ; ]
@g.j.dutoit4447
@g.j.dutoit4447 3 ай бұрын
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.
@damianbutterworth2434
@damianbutterworth2434 3 ай бұрын
Could be the holding coil is open circuit.
@damianbutterworth2434
@damianbutterworth2434 3 ай бұрын
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.
@damianbutterworth2434
@damianbutterworth2434 3 ай бұрын
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.dutoit4447
@g.j.dutoit4447 3 ай бұрын
@@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.dutoit4447
@g.j.dutoit4447 3 ай бұрын
@@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. 😉
@greentroll9326
@greentroll9326 3 ай бұрын
add wallls up and down and gravity and you have a basic version of flappy birds lol
@damianbutterworth2434
@damianbutterworth2434 3 ай бұрын
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; }
@greentroll9326
@greentroll9326 3 ай бұрын
you found a game to play then des
@damianbutterworth2434
@damianbutterworth2434 3 ай бұрын
It`s SCUM mate. I think you had a go when you was round. It`s about all I play.
@greentroll9326
@greentroll9326 3 ай бұрын
@@damianbutterworth2434 no doom then i rem you finished that on psx with all secrets
@damianbutterworth2434
@damianbutterworth2434 3 ай бұрын
@@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.
@greentroll9326
@greentroll9326 3 ай бұрын
@@damianbutterworth2434 i wonder if it still fires up after all these years .bet you still have doom then mate lol
@stevehills7420
@stevehills7420 3 ай бұрын
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.
@StealinYoDad
@StealinYoDad 3 ай бұрын
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
@damianbutterworth2434
@damianbutterworth2434 3 ай бұрын
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.
@BojanMitrovicAimbot91
@BojanMitrovicAimbot91 3 ай бұрын
Thanks for this😄
@damianbutterworth2434
@damianbutterworth2434 3 ай бұрын
Drinking and making UTube vids is where I go wrong lol.
@greentroll9326
@greentroll9326 2 ай бұрын
@@damianbutterworth2434 your microphone went wrong have to get one them stadalone ones mate wit built in screen
@damianbutterworth2434
@damianbutterworth2434 3 ай бұрын
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); }
@greentroll9326
@greentroll9326 3 ай бұрын
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 ?
@damianbutterworth2434
@damianbutterworth2434 3 ай бұрын
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
@greentroll9326
@greentroll9326 3 ай бұрын
@@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 :)
@damianbutterworth2434
@damianbutterworth2434 3 ай бұрын
It works. Just had a storm.
@greentroll9326
@greentroll9326 3 ай бұрын
knew it would :)
@greentroll9326
@greentroll9326 3 ай бұрын
my camr des is 1300d same connection
@damianbutterworth2434
@damianbutterworth2434 3 ай бұрын
I`ve just found the BULB setting lol. Will try it out on long exposures.
@greentroll9326
@greentroll9326 3 ай бұрын
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
@damianbutterworth2434
@damianbutterworth2434 3 ай бұрын
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.
@greentroll9326
@greentroll9326 3 ай бұрын
@@damianbutterworth2434 kinda like if sound > than xxxx then trigger ? like a grass as it smashes etc
@damianbutterworth2434
@damianbutterworth2434 3 ай бұрын
@@greentroll9326 just had a storm and the sensor went off. Just about to check the Canon`s pics.
@damianbutterworth2434
@damianbutterworth2434 3 ай бұрын
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); }
@damianbutterworth2434
@damianbutterworth2434 3 ай бұрын
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;
@damianbutterworth2434
@damianbutterworth2434 3 ай бұрын
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; }
@GWorxOz
@GWorxOz 3 ай бұрын
LOST ME THE SECOND MUSIC STARTED.
@svofski
@svofski 4 ай бұрын
if you used a violet laser one could call it a purple burglar alarm
@greentroll9326
@greentroll9326 4 ай бұрын
you been watching too much blue peter des mate lol make it trigger the camera use it to capture some cool effects mate
@damianbutterworth2434
@damianbutterworth2434 4 ай бұрын
Sounds like a good idea. You thinking about lightning?
@greentroll9326
@greentroll9326 4 ай бұрын
@@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
@damianbutterworth2434
@damianbutterworth2434 4 ай бұрын
@@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.
@greentroll9326
@greentroll9326 4 ай бұрын
@@damianbutterworth2434 intervolometer i have one of those lol
@damianbutterworth2434
@damianbutterworth2434 4 ай бұрын
@@greentroll9326 you told me to get one. Works good taking star pics when it`s not cloudy. :)
@damianbutterworth2434
@damianbutterworth2434 4 ай бұрын
int alarm=0; int sensorPin = A0; int sensorValue = 0; void setup() { pinMode(7, OUTPUT); pinMode(13, OUTPUT); // Serial.begin(9600); digitalWrite(7, LOW); } void loop() { sensorValue = analogRead(sensorPin); // Serial.println(sensorValue); if(sensorValue <= 200 && alarm == 0){ alarm=1; digitalWrite(7, LOW); // turns alarm on delay(30000); // waits 30 seconds digitalWrite(7, HIGH); // turns alarm off } if(sensorValue >= 201){ digitalWrite(7, HIGH); // turns alarm off } delay(100); digitalWrite(13, HIGH); delay(100); if(alarm == 0){ digitalWrite(13, LOW); } }
@espressomatic
@espressomatic 4 ай бұрын
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
@damianbutterworth2434
@damianbutterworth2434 4 ай бұрын
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.
@greentroll9326
@greentroll9326 4 ай бұрын
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
@damianbutterworth2434
@damianbutterworth2434 4 ай бұрын
Workshop then lol. Have you not been in the Workshop? Might be easy if it`s got no power.
@damianbutterworth2434
@damianbutterworth2434 4 ай бұрын
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); }