loading
4Instructables7,265Views17CommentsAustraliaJoined June 3rd, 2015
I am a retired professional engineer, now farmer. Taking an interest in all things technological and in building devices useful on the farm.

Achievements

  • 1602 LCD Keypad Shield Module With I2C Backpack

    Hi Aleicargg, I guess the backlight of the LCD is not being turned on, and the most likely reason is that the software logic has to be reversed from the standard setup, due to the transisor in the serial backpack. The connection for the backlight is from serial module pin 16 (the one on far right) to LCD module pin 11 (just above the capital "S" in the word "Shield" printed on the module). In the software, the LCD backlight control commands are:lcd.setBacklight(LOW); // Backlight ONandlcd.setBacklight(HIGH); // Backlight OFFThese are the reverse of the commands you use for direct connection. if the backlight is not on, you will not be able to see the characters on the LCD scree, even if they are being displayed. Please let me know how you get on. Keith

    Hi Aleicargg, I am happy to help you work out these connections. I agree it is a bit hard with no labels on the pins on the boards. When I wrote this instructable, I thought that the explanation I gave in Step 3 was clear. It is a matter of placing the two modules as they are shown in the main photo, and counting pins. Have you tried that? If necessary I will do a diagram but I cannot do it right now, and maybe we can answer your questions without a diagram.

    View Instructable »
  • farmerkeith followed educ8s1 month ago
      • Arduino Wireless Weather Station
      • Art Deco Weather Forecast Display
      • Arduino Pong Game - OLED display
  • farmerkeith commented on Husham Samir's instructable Temperature Data Logger2 months ago
    Temperature Data Logger

    Hi Pandwe,I just came across your question while browsing around some instructables. I think making a logger to write data more rapidly is fairly easy, although you might need to do some extra programming to make the file access process efficient. The bigger challenge for you I think will be the temperature sensor. If you want to go up to 900C, I guess you will need a non-contact sensor. For example the MLX90614 is a non-contact IR temperature sensor, but its data sheet says it goes to 380 C, which is way lower than 900C. Do you have a specific temperature sensor in mind?What logging interval are you really aiming for? Presumably the logging only has to be done for a short period of time, while the quenching operation is happening?Keith

    View Instructable »
  • farmerkeith commented on farmerkeith's instructable Small current circuit breaker2 months ago
    Small current circuit breaker

    Hi Sahil Gupta,I will try to help you understand the schematic. I will try to do it in small steps so that I don't go too fast for you.Please have a look at the schematic image at the top of Step 2: Circuit breaker design. I have added two notes boxes to it. The top box shows the upper level circuit board, which contains the switches and LEDs. The lower box shows the lower level circuit board, which contains the amplifier and resistor network. The two boards are connected together via header pins. You can see the two boards connected togeter via jumper wires in the 3rd photo of the introduction. When in the box, the upper and lower boards just plug together directly, through the header connectors. To follow the circuit, start half way down the lower box, where there is an input connecto...see more »Hi Sahil Gupta,I will try to help you understand the schematic. I will try to do it in small steps so that I don't go too fast for you.Please have a look at the schematic image at the top of Step 2: Circuit breaker design. I have added two notes boxes to it. The top box shows the upper level circuit board, which contains the switches and LEDs. The lower box shows the lower level circuit board, which contains the amplifier and resistor network. The two boards are connected together via header pins. You can see the two boards connected togeter via jumper wires in the 3rd photo of the introduction. When in the box, the upper and lower boards just plug together directly, through the header connectors. To follow the circuit, start half way down the lower box, where there is an input connector shown. That connector takes you to Q1 which is the reverse protection MOSFET. Can you see that.?Please respond to the above, and let me know if you understand it all, or none, or what might puzzle you so far. I am happy to help you. Keith

    View Instructable »
  • farmerkeith commented on farmerkeith's instructable Small current circuit breaker2 months ago
    Small current circuit breaker

    Hello Sahil_Gupta, Have you been able to get the schematic already included in this instructable? It is in the images at the top of the introduction, and also shows up as a pdf file in Step 2. If you have this schematic, and have any trouble understanding it, please let me know and I will try to help you to follow it.

    View Instructable »
  • farmerkeith followed jazzycamel3 months ago
      • Quick Arduino Hygrometer (Humidity Sensor)
      • Non-blocking Ultrasonic Sensor for Arduino
      • Optical Mouse Odometer for (Arduino) Robot
  • farmerkeith's instructable DIY Logging Thermometer with 2 sensors's weekly stats: 3 months ago
    • DIY Logging Thermometer with 2 sensors
      1,340 views
      68 favorites
      0 comments
  • farmerkeith's instructable DIY Logging thermometer's weekly stats: 4 months ago
    • DIY Logging thermometer
      279 views
      25 favorites
      4 comments
  • farmerkeith commented on jessyratfink's forum topic Call for contest judges4 months ago

    You can put me down for Tech and Workshop. Willing to help anywhere you have a need.farmerkeith

    View Topic »
  • farmerkeith commented on farmerkeith's instructable DIY Logging Thermometer4 months ago
    DIY Logging Thermometer

    Thank you. Yes I agree. I appreciate your comments.

    View Instructable »
  • farmerkeith followed deba168 and Maverick715 months ago
      • DIY All in One Solar Power Pack
      • SMART POWER OUTLET
      • CARDBOARD SOLAR LAMP
  • ARDUINO MPPT SOLAR CHARGE CONTROLLER (Version-3.0)

    Hi Thomas / thschaef,I think it is very unlikely that changing the clock frequency in the Arduino will fix the problem of the low-side MOSFET being on for too long, and sometimes on at the wrong time altogether. I am working on a solution but I want to test it carefully before going public.

    Hi Kapilku97, A0, A1, D9, D8 etc. are the analog and digital pins on the Arduino Nano used to control the MPPT charge controller.

    View Instructable »
  • DIY: A 5 Minutes Contactless OLED Thermometer With Arduino And MLX90614

    You are using a 3.3V IR sensor, but you have not put in any components to protect the sensor from 5V on the I2C bus. Is this safe?

    View Instructable »
  • DIY Arduino Battery Capacity Tester - V1.0

    Hi Deba168. If you want to discharge at constant current, I think you can use a current mirror circuit. The energy will end up being dissipated in the MOSFET, but I think that is not a problem at the power levels you are working with.

    View Instructable »
  • farmerkeith commented on Mohannad Rawashdeh's instructable Motor Driver BTS7960 43A6 months ago
    Motor Driver BTS7960 43A

    Hi Jake,There are lots of things I could say about this software. It could be clearer to read and better performance for the computer (Arduino). However I will just try to get you going.The code under "void setup" is first:for(int i=5;i<9;i++){ pinMode(i,OUTPUT); }This is a loop that sets pins 5, 6, 7 and 8 as OUTPUT. These 4 pins are the ones used for RPWM, LPWM, L_EN and R_EN (note the order goes R, L, L, R - if I had been doing it I would have used R, L, R, L and avoid the crossover in the wiring).The next few lines are:for(int i=5;i<9;i++){ digitalWrite(i,LOW); }Another loop, this time to set pins 5, 6, 7 and 8 to LOW (ie logic 0). Then there is a 1 second delay, and the serial monitor is started.Now under void loop ()First we turn on both Enable pins:digital...see more »Hi Jake,There are lots of things I could say about this software. It could be clearer to read and better performance for the computer (Arduino). However I will just try to get you going.The code under "void setup" is first:for(int i=5;i<9;i++){ pinMode(i,OUTPUT); }This is a loop that sets pins 5, 6, 7 and 8 as OUTPUT. These 4 pins are the ones used for RPWM, LPWM, L_EN and R_EN (note the order goes R, L, L, R - if I had been doing it I would have used R, L, R, L and avoid the crossover in the wiring).The next few lines are:for(int i=5;i<9;i++){ digitalWrite(i,LOW); }Another loop, this time to set pins 5, 6, 7 and 8 to LOW (ie logic 0). Then there is a 1 second delay, and the serial monitor is started.Now under void loop ()First we turn on both Enable pins:digitalWrite(R_EN,HIGH); digitalWrite(L_EN,HIGH);After a delay, ramp up the PWM on the RPWM pin:for(int i=0;i<256;i++){ analogWrite(RPWM,i); // analogWrite(LPWM,255-i); delay(100); }Note that the 3rd line is commented out (// analogWrite(LPWM,255-i);) so it does nothing. At the moment LPWM is LOW, due to setup() when it was set to LOW.So the motor will gradually increase in speed, in steps of 1/256, from 1/256 to 255/256, increasing one step every 100 ms. It will take about 25 seconds to go from stopped to full speed. The next section of code ramps the speed down from full to zero.I believe the next section of code after that is intended to run the motor backwards, but there are two errors so it does nothing. Here is the code "as is" with my comments:Serial.println("EN LOW"); // prints to serial monitor, no effect on motor digitalWrite(R_EN,LOW); // disable Right motor driver digitalWrite(L_EN,LOW); // disable Left motor driver delay(1000); for(int i=0;i<256;i++){ analogWrite(RPWM,i); // RPWM ramp as before, // does nothing because motor driver is disabled delay(100); } delay(500); for(int i=255;i>0;i--){ analogWrite(RPWM,i); RPWM ramp as before, delay(100); } delay(500); }The simplest fix is to get rid of the two lines that disable the motor drivers (eg comment them out with // at the beginning of the line).And then change the two analogWrite lines from RPWM to LPWM. So now it looks like this:delay(1000); for(int i=0;i<256;i++){ analogWrite(LPWM,i); // LPWM rampupdelay(100); } delay(500); for(int i=255;i>0;i--){ analogWrite(LPWM,i); LPWM ramp down delay(100); }I hope this helps. I have not tested this code. See also comment from OlegK34 who does not mention changing the RPWMs to LPWMs. But I think he must have.Good luck,Keith

    View Instructable »
  • farmerkeith commented on deba168's instructable 5500mW Laser Engraver / Cutter9 months ago
    5500mW Laser Engraver / Cutter

    Hi, lots of good info here, but still some questions:1. What is the resolution of the cutting/engraving motion (depends on how many mm corresponds to one step in the stepper motors on x and y axes. Are they the same (probably))? If the documentation does not specify, maybe you can try engraving a pattern of lines that converge slowly, and use that to see where they merge.2. What type of stepper motors and what type of motor drivers are used? 3. What operating systems can BenBox software run with? Does it run under Linux variants like Xubuntu? If not is there an open source alternative that does?4. Can you add the wavelength of the laser to the information about the kit, since this seems to be a big factor in what it is capable of doing?Thank you.

    View Instructable »
  • farmerkeith commented on Mohannad Rawashdeh's instructable Motor Driver BTS7960 43A9 months ago
    Motor Driver BTS7960 43A

    Alik140, With this module you can control one motor in both directions (forward and reverse) or 2 motors each in one direction only. I hope you found your answer somewhere else before this.

    View Instructable »
  • farmerkeith commented on grahamhusband's instructable Easy, Mobile IR Thermometer9 months ago
    Easy, Mobile IR Thermometer

    Very useful project, just what I was looking for.

    View Instructable »
  • Reverse Polarity Protection Circuits

    For Atmel328 at 5V, I think you can use any general purpose PNP transistor. The Atmel328 itself only draws about 20 mA. However your circuit may have peripherals that take more current. Still, a PNP like the 2N3906 has a max current of 200 mA so it should be plenty - although I think if you actually need that much current then a) you should use either a transistor with more current capacity (eg TIP125) or go to the FET solution which is better anyway. For FET I would look at IRF4905 for a high power solution, or BS250 for lower currents. Both these FETs have a +-20V Gate - Source rating so you don't need the resistor and zener diode in circuits running at or below 12V, even with unregulated power supplies.

    View Instructable »