I wrote a 2D Gravity Simulator in BBC BASIC.
24:25
Raymarine Smartpilot X10 Repair Fail.
12:06
Short Boat Trip.
0:57
21 күн бұрын
SCUM Air Tours.
1:00:12
Ай бұрын
Simple Arduino Game.
19:02
Ай бұрын
SCUM Stuntman.
1:24
Ай бұрын
Arduino Laser Burglar Alarm
11:30
2 ай бұрын
Arduino Buzzer.
5:28
2 ай бұрын
Arduino Bugler Alarm.
15:31
3 ай бұрын
Perkins 100A Alternator Test OK.
2:35
EBay £50 ZX Spectrum. All good.
3:49
Пікірлер
@greentroll9326
@greentroll9326 3 күн бұрын
des rem little phill i see him last night he said to say hi
@Matt.Walker
@Matt.Walker 4 күн бұрын
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 5 күн бұрын
i rem denny and you doing that about 40 yrs ago on my amiga at my place that takes me back lol
@damianbutterworth2434
@damianbutterworth2434 5 күн бұрын
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 5 күн бұрын
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 11 күн бұрын
was that ezzy hes not got a boat now has he lmao des
@damianbutterworth2434
@damianbutterworth2434 11 күн бұрын
It`s his mate boat. :)
@greentroll9326
@greentroll9326 11 күн бұрын
@@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 11 күн бұрын
@@greentroll9326 first time I`ve seem him since last year.
@greentroll9326
@greentroll9326 11 күн бұрын
@@damianbutterworth2434 i bet you see him more now he has a boat captian pugwash lol
@Matt.Walker
@Matt.Walker 16 күн бұрын
that machine brings back some memories
@Matt.Walker
@Matt.Walker 16 күн бұрын
Oi oi found it spelled ya name wrong first time lol
@greentroll9326
@greentroll9326 17 күн бұрын
should ask ronnie mate if stuck mate he has thall the machines etc to test shit lol
@damianbutterworth2434
@damianbutterworth2434 17 күн бұрын
Can you show him mate see if he has any ideas.
@Luthais
@Luthais Ай бұрын
Nice bud. But how do you get the bike their without spawning in it ; ]
@g.j.dutoit4447
@g.j.dutoit4447 Ай бұрын
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 Ай бұрын
Could be the holding coil is open circuit.
@damianbutterworth2434
@damianbutterworth2434 Ай бұрын
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 Ай бұрын
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 Ай бұрын
@@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 Ай бұрын
@@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 Ай бұрын
add wallls up and down and gravity and you have a basic version of flappy birds lol
@damianbutterworth2434
@damianbutterworth2434 Ай бұрын
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 Ай бұрын
you found a game to play then des
@damianbutterworth2434
@damianbutterworth2434 Ай бұрын
It`s SCUM mate. I think you had a go when you was round. It`s about all I play.
@greentroll9326
@greentroll9326 Ай бұрын
@@damianbutterworth2434 no doom then i rem you finished that on psx with all secrets
@damianbutterworth2434
@damianbutterworth2434 Ай бұрын
@@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 Ай бұрын
@@damianbutterworth2434 i wonder if it still fires up after all these years .bet you still have doom then mate lol
@stevehills7420
@stevehills7420 Ай бұрын
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 Ай бұрын
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 Ай бұрын
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 Ай бұрын
Thanks for this😄
@damianbutterworth2434
@damianbutterworth2434 Ай бұрын
Drinking and making UTube vids is where I go wrong lol.
@greentroll9326
@greentroll9326 8 күн бұрын
@@damianbutterworth2434 your microphone went wrong have to get one them stadalone ones mate wit built in screen
@damianbutterworth2434
@damianbutterworth2434 Ай бұрын
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 Ай бұрын
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 Ай бұрын
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 Ай бұрын
@@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 Ай бұрын
It works. Just had a storm.
@greentroll9326
@greentroll9326 Ай бұрын
knew it would :)
@greentroll9326
@greentroll9326 Ай бұрын
my camr des is 1300d same connection
@damianbutterworth2434
@damianbutterworth2434 Ай бұрын
I`ve just found the BULB setting lol. Will try it out on long exposures.
@greentroll9326
@greentroll9326 Ай бұрын
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 Ай бұрын
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 Ай бұрын
@@damianbutterworth2434 kinda like if sound > than xxxx then trigger ? like a grass as it smashes etc
@damianbutterworth2434
@damianbutterworth2434 Ай бұрын
@@greentroll9326 just had a storm and the sensor went off. Just about to check the Canon`s pics.
@damianbutterworth2434
@damianbutterworth2434 Ай бұрын
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 Ай бұрын
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 Ай бұрын
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 2 ай бұрын
LOST ME THE SECOND MUSIC STARTED.
@svofski
@svofski 2 ай бұрын
if you used a violet laser one could call it a purple burglar alarm
@greentroll9326
@greentroll9326 2 ай бұрын
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 2 ай бұрын
Sounds like a good idea. You thinking about lightning?
@greentroll9326
@greentroll9326 2 ай бұрын
@@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 2 ай бұрын
@@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 2 ай бұрын
@@damianbutterworth2434 intervolometer i have one of those lol
@damianbutterworth2434
@damianbutterworth2434 2 ай бұрын
@@greentroll9326 you told me to get one. Works good taking star pics when it`s not cloudy. :)
@damianbutterworth2434
@damianbutterworth2434 2 ай бұрын
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 2 ай бұрын
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 2 ай бұрын
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 2 ай бұрын
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 2 ай бұрын
Workshop then lol. Have you not been in the Workshop? Might be easy if it`s got no power.
@damianbutterworth2434
@damianbutterworth2434 2 ай бұрын
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); }
@chernobyl5486
@chernobyl5486 2 ай бұрын
Mozart 😅😂
@greentroll9326
@greentroll9326 2 ай бұрын
s that your old technics kb des ?
@damianbutterworth2434
@damianbutterworth2434 2 ай бұрын
Yes mate. Bought it for £1100 and now they are £100 in EBay lol.
@greentroll9326
@greentroll9326 2 ай бұрын
i bet the new ones almost play themselves lol
@greentroll9326
@greentroll9326 3 ай бұрын
is it a silent alarm mate lol hope your well dez battery back up your alarm mate ot just cut the electric to kill it
@ChrisPopham
@ChrisPopham 3 ай бұрын
In principal you can add other sensors to the extra pins, copy & paste the code changing the pin number, like windows, excess heat sensors (not smoke detectors it'll be going off all the time), carbon monoxide, rig a stop cock up for flood alert, a low beer stock sensor! my theft deterrent works really well, I got nothing worth nicking.
@damianbutterworth2434
@damianbutterworth2434 3 ай бұрын
I go to Morrisons every week to get the beer nowadays. :) A flood sensor is a good idea. We get loads of floods at work when we leave the tap on topping up the tank.
@ChrisPopham
@ChrisPopham 3 ай бұрын
how about just putting the stop cock on the tap?@@damianbutterworth2434
@greentroll9326
@greentroll9326 3 ай бұрын
hew already had tha automatic bar but took it down a while ago lol was pretty cool though
@damianbutterworth2434
@damianbutterworth2434 2 ай бұрын
I`ve got some motion sensors coming to add to the alarm. :)
@damianbutterworth2434
@damianbutterworth2434 3 ай бұрын
// alarm code is "1234"change c and cc to what you want. int n = 0; int t = 0; int y = 0; int u = 5000; int d = 100; int a = 0; int alarm = 0; int alarma = 0; int code = 0; int key = 0; int timein = 120; // coming in time int timeout = 0; int alarmtime = 40000; int buttonState = 0; int c[5] = {1, 2, 3, 4}; // CHANGE FOR WHAT CODE YOU WANT int cc[5] = {1, 2, 3, 4}; // CHANGE FOR WHAT CODE YOU WANT byte h = 0, v = 0; //variables used in for loops const unsigned long period = 50; //little period used to prevent error unsigned long kdelay = 0; // variable used in non-blocking delay const byte rows = 4; //number of rows of keypad const byte columns = 4; //number of columnss of keypad const byte Output[rows] = {9, 8, 7, 6}; //array of pins used as output for rows of keypad const byte Input[columns] = {5, 4, 3, 2}; //array of pins used as input for columnss of keypad byte keypad() // function used to detect which button is used { static bool no_press_flag = 0; //static flag used to ensure no button is pressed for (byte x = 0; x < columns; x++) // for loop used to read all inputs of keypad to ensure no button is pressed { if (digitalRead(Input[x]) == HIGH); //read evry input if high continue else break; else break; if (x == (columns - 1)) //if no button is pressed { no_press_flag = 1; h = 0; v = 0; } } if (no_press_flag == 1) //if no button is pressed { for (byte r = 0; r < rows; r++) //for loop used to make all output as low digitalWrite(Output[r], LOW); for (h = 0; h < columns; h++) // for loop to check if one of inputs is low { if (digitalRead(Input[h]) == HIGH) //if specific input is remain high (no press on it) continue continue; else //if one of inputs is low { for (v = 0; v < rows; v++) //for loop used to specify the number of row { digitalWrite(Output[v], HIGH); //make specified output as HIGH if (digitalRead(Input[h]) == HIGH) //if the input that selected from first sor loop is change to high { no_press_flag = 0; //reset the no press flag; for (byte w = 0; w < rows; w++) // make all outputs as low digitalWrite(Output[w], LOW); return v * 4 + h; //return number of button } } } } } return 50; } void setup() { pinMode(1, OUTPUT); // GREEN LED pinMode(13, INPUT); // door magnetic switch pinMode(10, OUTPUT); // RED LED pinMode(11, OUTPUT); // ALARM RELAY pinMode(12, OUTPUT); // BUZZER digitalWrite(1, LOW); digitalWrite(10, LOW); digitalWrite(11, HIGH); delay(1000); for (byte i = 0; i < rows; i++) //for loop used to make pin mode of outputs as output { pinMode(Output[i], OUTPUT); } for (byte s = 0; s < columns; s++) //for loop used to makk pin mode of inputs as inputpullup { pinMode(Input[s], INPUT_PULLUP); } Serial.begin(9600); //to use serial monitor we set the buad rate } void loop() { if (millis() - kdelay > period) //used to make non-blocking delay { kdelay = millis(); //capture time from millis function switch (keypad()) //switch used to specify which button { case 0: Serial.println(1); tone(12, (1000)); // Send 1KHz sound signal... delay(d); noTone(12); n = 1; key = 1; break; case 1: Serial.println(2); tone(12, (1000)); // Send 1KHz sound signal... delay(d); noTone(12); n = 2; key = 1; break; case 2: Serial.println(3); tone(12, (1000)); // Send 1KHz sound signal... delay(d); noTone(12); n = 3; key = 1; break; case 3: Serial.println("A"); // BUTTON USED TO SET THE ALARM IN DETECT MODE. tone(12, (1000)); // Send 1KHz sound signal... delay(d); noTone(12); if (alarm == 0){ alarm = 1; // TURNS ALARM ON timeout = 1; // VARIABLE TO LET THE DOOR TIMER SET FOR LEAVING THE HOUSE } break; case 4: Serial.println(4); tone(12, (1000)); // Send 1KHz sound signal... delay(d); noTone(12); n = 4; key = 1; break; case 5: Serial.println(5); tone(12, (1000)); // Send 1KHz sound signal... delay(d); noTone(12); n = 5; key = 1; break; case 6: Serial.println(6); tone(12, (1000)); // Send 1KHz sound signal... delay(d); noTone(12); n = 6; key = 1; break; case 7: Serial.println("B"); tone(12, (1000)); // Send 1KHz sound signal... delay(d); noTone(12); break; case 8: Serial.println(7); tone(12, (1000)); // Send 1KHz sound signal... delay(d); noTone(12); n = 7; key = 1; break; case 9: Serial.println(8); tone(12, (1000)); // Send 1KHz sound signal... delay(d); noTone(12); n = 8; key = 1; break; case 10: Serial.println(9); tone(12, (1000)); // Send 1KHz sound signal... delay(d); noTone(12); n = 9; key = 1; break; case 11: Serial.println("C"); tone(12, (1000)); // Send 1KHz sound signal... delay(d); noTone(12); break; case 12: Serial.println("*"); tone(12, (1000)); // Send 1KHz sound signal... delay(d); noTone(12); n = 0; break; case 13: Serial.println(0); tone(12, (1000)); // Send 1KHz sound signal... delay(d); noTone(12); n = 0; key = 1; break; case 14: Serial.println("#"); tone(12, (1000)); // Send 1KHz sound signal... delay(d); noTone(12); break; case 15: Serial.println("D"); tone(12, (1000)); // Send 1KHz sound signal... delay(d); noTone(12); break; default: ; } } if (timeout == 1){ // TIMER TO WAIT TO EXIT HOUSE AND CLOSE THE DOOR for (int i=0; i <= 60; i++){ digitalWrite(10, HIGH); tone(12, (1200)); delay(50); noTone(12); digitalWrite(10, LOW); buttonState = digitalRead(13); if (buttonState == HIGH) { // turn LED off: door closed // digitalWrite(1, HIGH); } else{ // digitalWrite(1, LOW); } delay(950); } timeout = 0; } delay (1); if (key == 1){ // COMPARES KEY PRESSED TO 4 DIGIT CODE if (code == 3){ if (n == c[3]){ // IF THE CODE IS ENETERED THEN TURN OFF ALARM n = 0; code = 0; alarm = 0; timein = 120; } else{ code = 0; } } if (code == 2){ if (n == c[2]){ n = 0; code = 3; } else{ code = 0; } } if (code == 1){ if (n == c[1]){ n = 0; code = 2; } else{ code = 0; } } if (code == 0){ if (n == c[0]){ code = 1; n = 0; } else{ code = 0; } } key = 0; } buttonState = digitalRead(13); if (buttonState == LOW) { // IF THE ALARM IS ON AND 3 OPEN DOOR SENSORS IN A ROW THEN ACTIVATE ALARM NEXT STAGE // turn LED on: door open //digitalWrite(1, LOW); alarma = alarma + 1 ; if (alarm == 1){ if (alarma >= 3){ alarm = 2; } } } if (buttonState == HIGH) { // THE DOOR SENSOR NEEDS 3 OPEN SIGNALS IN A ROW. THIS RESETS IT TO ZERO IF A CLOSED SIGNAL IS DETECTED // turn LED off: door closed // digitalWrite(1, LOW); alarma = 0; } if (alarm == 0){ digitalWrite(10, LOW); } if (alarm == 1){ digitalWrite(10, HIGH); } if (alarm == 2){ // digitalWrite(1, HIGH); timein = timein - 1; if (timein <=0){ alarm = 3; digitalWrite(11, LOW);// ALARM RELAY ACTIVATED // digitalWrite(1, LOW); // TURN OK GREEN LED OFF alarmtime = 40000; // ALARM TIME LENGTH APPROX 40 SECONDS } tone(12, (1000)); // Send 1KHz sound signal... delay(50); noTone(12); // digitalWrite(1, LOW); delay(100); if (code == 4){ alarm = 0; code == 0; n = 0; } } if (alarm == 3){ // if (code == 4){ // IF CODE ENTERED THEN TURN ALARM OFF alarm = 0; code == 0; digitalWrite(11, HIGH); digitalWrite(1, LOW); n = 0; } alarmtime = alarmtime - 1; // ALARM TIMED OUT. RED FLASHING LED TO INDICATE ALARM BEEN ACTIVE if (alarmtime == 0){ digitalWrite(11, HIGH); alarm = 4; } } if (alarm == 4){ digitalWrite(11, HIGH); digitalWrite(10, HIGH); delay(500); digitalWrite(10, LOW); delay(500); } if (alarm == 0){ digitalWrite(11, HIGH); } }
@greentroll9326
@greentroll9326 3 ай бұрын
when you gonna build a time machine mate lol .. ill have to get over to see you sometime i keep meaning to
@chernobyl5486
@chernobyl5486 3 ай бұрын
Make it louder. 😂
@damianbutterworth2434
@damianbutterworth2434 3 ай бұрын
Well I made it. The internet was down too so I watched Breaking Bad on a Laptop with a DVD player.
@Sam-ob4of
@Sam-ob4of 3 ай бұрын
*you mean should HAVE
@damianbutterworth2434
@damianbutterworth2434 3 ай бұрын
To be honest Sam. When I was at school I was more interested in all the other stuff rather than grammar. My spelling is still rubbish now at 54. I was writing computer games at 12 years old. Check out my channel and you`ll see.
@johnalbers4632
@johnalbers4632 3 ай бұрын
What type of solder are you using? silver solder for heat resistance?
@damianbutterworth2434
@damianbutterworth2434 3 ай бұрын
Just normal solder on the solenoid cap. I want some better high temp stuff for soldering brushes on brush boxes. A spot welder would be nice if I had the money. I used to do this at Valeo and they went to using no lead solder. Was a pain to use. Solder dropping down the hole then having to strip it down again. :)
@ShakirAuto067
@ShakirAuto067 2 ай бұрын
Nice bro 😊
@andrewsmart2949
@andrewsmart2949 3 ай бұрын
the worst were an aftermarket batch with PLASTIC reduction gears,couldnt do a 1min crank without melting LOL
@chernobyl5486
@chernobyl5486 3 ай бұрын
Dear lord. Be careful 😅
@damianbutterworth2434
@damianbutterworth2434 4 ай бұрын
*FONT Arial,20 PRINT TAB(5,4);"FLAP JACK APP." PRINT TAB(5,5);"==============" PRINT TAB(5,7);"TRAY WIDTH SIZE IN CM" INPUT TAB(34,7);TW PRINT TAB(5,9);"TRAY DEPTH SIZE IN CM" INPUT TAB(34,9);TD TT=TW*TD PRINT TAB(5,11);"BUTTER ";.25*TT;" grams." PRINT TAB(5,12);"TREACLE ";.25*TT;" grams." PRINT TAB(5,13);"SUGAR ";.25*TT;" grams." PRINT TAB(5,14);"OATS ";.5*TT;" grams." END
@daisywong-ke1kz
@daisywong-ke1kz 4 ай бұрын
COOL man! We'd love to offer you some boards if you may need them in the upcoming content. (PCBWay Daisy) 🙂
@damianbutterworth2434
@damianbutterworth2434 4 ай бұрын
I`ve heard of your boards on other UTube vids. Thank You. :)
@daisywong-ke1kz
@daisywong-ke1kz 4 ай бұрын
Yeah, feel free to reach out once you may need us at any time :D @@damianbutterworth2434
@damianbutterworth2434
@damianbutterworth2434 4 ай бұрын
I added rolling average to stop the blind opening when the security light comes on. So it adds 15 values together over a 15 minute period to get an average light level. int blind=0; // blind set as closed const int analogInPin = A0; int sensorValue = 0; int v[15]; // set up rolling average variables int t=0; // rolling average sum variable int c=0; // where to send latest light reading into dimension array void setup() { pinMode(2, OUTPUT); // set digital pin 2 to a output pin (direction pin) pinMode(3, OUTPUT); // set digital pin 3 to a output pin (stepping pin) pinMode(9, OUTPUT); // set digital pin 9 to a output pin (enable motor on/off pin) digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(9, HIGH); // turn motor off delay(2000); // pause 2 seconds to let the board settle down } void loop() { start: t=0; // set t as 0 ready for a fresh rolling average calculation sensorValue = analogRead(A0); // make sensorValue = the analogue pin reading v[c]=sensorValue; // set the rolling average variable to light sensor value (0-1023) for (int n = 0; n <= 14; n++) { // loop 15 times and add each value of the rolling average together t=t+v[n]; // adding all 15 varables together } t=t/15; // dividing t by 15 to get it back to normal level if (t <= 80 and blind == 1){ // if light is too low and blind is open then goto CLOSE loop blind=0; // set blind as closed goto close; } if (t >= 80 and blind == 0){ // if light is too high and blind is closed then goto OPEN loop blind=1; goto open; } c=c+1; // change the rolling averge location if (c >=15){ // loop back to 0 location if it goes above 14 c=0; } delay(60000); goto start; open: digitalWrite(9,LOW); // turn motor on digitalWrite(2,LOW); // set motor direction for (int j = 0; j <= 11; j++) { // running the motor a set distance for (int i = 0; i <= 3120; i++) { delayMicroseconds(500); digitalWrite(3, HIGH); delayMicroseconds(500); digitalWrite(3, LOW); } } digitalWrite(9,HIGH); // turn motor off for (int k = 0; k <= 120; k++) { // pause so blind does not close for a while delay(60000); } goto start; close: digitalWrite(9,LOW); // turn motor on digitalWrite(2,HIGH); // set motor direction for (int j = 0; j <= 11; j++) { // running the motor a set distance for (int i = 0; i <= 3120; i++) { delayMicroseconds(500); digitalWrite(3, HIGH); delayMicroseconds(500); digitalWrite(3, LOW); } } digitalWrite(9,HIGH); // turn motor off for (int l = 0; l <= 120; l++) { // pause so blind does not open for a while delay(60000); } goto start; }
@damianbutterworth2434
@damianbutterworth2434 4 ай бұрын
This seems to work. // int light=0; // light level variable int blind=0; // blind set as closed const int analogInPin = A0; int sensorValue = 0; void setup() { pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(9,OUTPUT); digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(9,HIGH); delay(2000); } void loop() { start: sensorValue = analogRead(A0); if (sensorValue <= 80 and blind == 1){ blind=0; goto close; } if (sensorValue >= 80 and blind == 0){ blind=1; goto open; delay(1000); } goto start; open: digitalWrite(9,LOW); digitalWrite(2,LOW); for (int j = 0; j <= 11; j++) { for (int i = 0; i <= 3120; i++) { delayMicroseconds(500); digitalWrite(3, HIGH); delayMicroseconds(500); digitalWrite(3, LOW); } } digitalWrite(9,HIGH); for (int k = 0; k <= 120; k++) { delay(60000); } goto start; close: digitalWrite(9,LOW); digitalWrite(2,HIGH); for (int j = 0; j <= 11; j++) { for (int i = 0; i <= 3120; i++) { delayMicroseconds(500); digitalWrite(3, HIGH); delayMicroseconds(500); digitalWrite(3, LOW); } } digitalWrite(9,HIGH); for (int l = 0; l <= 120; l++) { delay(60000); } goto start; }
@damianbutterworth2434
@damianbutterworth2434 4 ай бұрын
// int light=0; // light level variable int blind=0; // blind set as closed const int analogInPin = A0; int sensorValue = 0; void setup() { pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(9,OUTPUT); digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(9,HIGH); delay(2000); } void loop() { start: sensorValue = analogRead(A0); if (sensorValue <= 100 and blind == 1){ blind=0; goto close; } if (sensorValue >= 250 and blind == 0){ blind=1; goto open; delay(1000); } goto start; open: digitalWrite(9,LOW); digitalWrite(2,LOW); for (int j = 0; j <= 11; j++) { for (int i = 0; i <= 3200; i++) { delayMicroseconds(500); digitalWrite(3, HIGH); delayMicroseconds(500); digitalWrite(3, LOW); } } digitalWrite(9,HIGH); delay(2000); goto start; close: digitalWrite(9,LOW); digitalWrite(2,HIGH); for (int j = 0; j <= 11; j++) { for (int i = 0; i <= 3200; i++) { delayMicroseconds(500); digitalWrite(3, HIGH); delayMicroseconds(500); digitalWrite(3, LOW); } } digitalWrite(9,HIGH); delay(2000); goto start; }
@greentroll9326
@greentroll9326 4 ай бұрын
dez for auto focus havt yo git aa servo ect in the focus settings
@damianbutterworth2434
@damianbutterworth2434 4 ай бұрын
It will focus if I hold the button down to take a picture in video mode. I`ve seen UTube reviews saying they are not good for utubing.
@greentroll9326
@greentroll9326 4 ай бұрын
hows your fingers in the cold mate you should do the rain detecting washing line , i have seen the blinds in action :)
@damianbutterworth2434
@damianbutterworth2434 4 ай бұрын
I`ve made a rain detector before. Sounds like a good idea.