author
11Instructables33,177Views39CommentsNewmarket, Ontario Canada
Life long maker and Arduino fanatic! High School Computer Science teacher. Go out and make something Wonderful!

Achievements

10K+ Views Earned a bronze medal
  • hausofpayne17 commented on shiura's instructable Casino'clock
    Casino'clock

    I had the same issue. I am not the creator of the project so I can't adjust the .STL files. I wound up trimming my cards so they'd fit.

    View Instructable »
    • EASY 3D Print Monitoring With ESP32 CAM
      150 views
      1 favorites
      0 comments
  • ESP32 Camera Robot - FPV

    The camera library takes over al but 2 of the pins. So you cannot use the esp32 to drive motors and run the camera. That's why I had to use the Arduino Micro to control the motors.

    View Instructable »
  • BluBerriSix - a TFT TouchScreen / Arduino Tutorial

    Hi there:Here's the makeKbd() function for drawing the entire keyboardJust modify the sketch to incorporate this stuffString cString = "1234567890qwertyuiopasdfghjkl?zxcvbnm,.! ";// characters for keyboardchar letter[] = {'1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', '?', 'z', 'x', 'c', 'v', 'b', 'n', 'm', ',', '.', '!'};void makeKbd() {// draw the keyboard on the screen pinMode(YP, OUTPUT); //restore the TFT control pins pinMode(XM, OUTPUT);// for display after detecting a touch int cC = 0;// current character to draw on keyboard tft.fillScreen(BLACK); int xVal = 15;// x,y coordinates for screen objects int yVal = 100; String curLet = "";// current letter/strin…

    see more »

    Hi there:Here's the makeKbd() function for drawing the entire keyboardJust modify the sketch to incorporate this stuffString cString = "1234567890qwertyuiopasdfghjkl?zxcvbnm,.! ";// characters for keyboardchar letter[] = {'1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', '?', 'z', 'x', 'c', 'v', 'b', 'n', 'm', ',', '.', '!'};void makeKbd() {// draw the keyboard on the screen pinMode(YP, OUTPUT); //restore the TFT control pins pinMode(XM, OUTPUT);// for display after detecting a touch int cC = 0;// current character to draw on keyboard tft.fillScreen(BLACK); int xVal = 15;// x,y coordinates for screen objects int yVal = 100; String curLet = "";// current letter/string that will be drawn on each key tft.setTextColor(WHITE); tft.setTextSize(2); for (int i = 1; i <= 10; i++) { tft.fillRoundRect(xVal - 10, yVal - 10, 24, 24, 2, BLUE); curLet = cString.substring(cC, cC + 1); tft.setCursor(xVal - 3, yVal - 6); tft.print(curLet); // tft.fillCircle(xVal+2,yVal,2,RED); cC = cC + 1; xVal = xVal + 30; } xVal = 13; yVal = yVal + 30; for (int i = 1; i <= 10; i++) { tft.fillRoundRect(xVal - 10, yVal - 10, 24, 24, 2, BLUE); curLet = cString.substring(cC, cC + 1); tft.setCursor(xVal - 3, yVal - 6); tft.print(curLet); // tft.fillCircle(xVal+2,yVal,2,RED); cC = cC + 1; xVal = xVal + 30; } xVal = 20; yVal = yVal + 30; for (int i = 1; i <= 10; i++) { tft.fillRoundRect(xVal - 10, yVal - 10, 24, 24, 2, BLUE); curLet = cString.substring(cC, cC + 1); tft.setCursor(xVal - 3, yVal - 6); tft.print(curLet); //tft.fillCircle(xVal+2,yVal,2,RED); cC = cC + 1; xVal = xVal + 30; } xVal = 27; yVal = yVal + 30; for (int i = 1; i <= 10; i++) { tft.fillRoundRect(xVal - 10, yVal - 10, 24, 24, 2, BLUE); curLet = cString.substring(cC, cC + 1); tft.setCursor(xVal - 3, yVal - 6); tft.print(curLet); // tft.fillCircle(xVal+2,yVal,2,RED); cC = cC + 1; xVal = xVal + 30; } xVal = 15; yVal = yVal + 30; tft.fillRoundRect(xVal - 10, yVal - 10, 60, 20, 2, BLUE); // SHIFT key tft.setCursor(xVal + 6 , yVal - 5); tft.setTextSize(1); tft.print("Shift"); // tft.fillCircle(xVal,yVal,2,YELLOW); xVal = 100; tft.fillRoundRect(xVal - 10, yVal - 10, 130, 20, 2, BLUE); //SPACE BAR xVal = 250; // tft.fillCircle(xVal,yVal,2,YELLOW); tft.fillRoundRect(xVal - 10, yVal - 10, 60, 20, 2, BLUE); //BACK button tft.setCursor(xVal + 2 , yVal - 5); tft.print("<-Back"); // tft.fillCircle(xVal,yVal,2,YELLOW);}

    View Instructable »
  • hausofpayne17 made the instructable Casino'clock
    Casino'clock

    Just finished the project. Mine runs on an Arduino Mega with a DS3231 real time clock module and I can update the time via a bluetooth app on my phone. Great project from the creator!

    View Instructable »
  • hausofpayne17 commented on shiura's instructable Casino'clock
    Casino'clock

    Thanks very much for your support of your project!I wound up creating a global int array that keeps the current position of each wheel before a time update is sent to your setNum() method. I then just update the respective value with the post-update position.Seems to be working well.I'm just about to cut a piece of plywood for the base to mount everything.I'll post some pics when it's done later today.Thanks for a great project! You're a very innovative designer!Best wishes,GordNewmarket, Ontario

    View Instructable »
  • hausofpayne17 commented on shiura's instructable Casino'clock
    Casino'clock

    Good evening:I'm making good progress on the clock project.I've got the sketch reading the RTC module correctly andshowing the correct time in the Serial Monitor.It works fine for all minute values other than 3,4 and 5.Here's my card order in the array for minutes 0 to 9:{6, 13, 0, 1, 2, 7, 8, 9, 3, 4, 5, 10, 11, 12}The minute cards correctly display0(Joker), 1(Ace), 2 and then it just shows 8,9,3 instead of 3,4,5Here's what the setNum(m,n) call shows for doing the 3 value:Next minute: 3 TIME CHANGE: SET NUM:0-3newPos= 8 (this is the correct position of the '3' card in the array)pos= -2340advance=586It seems strange that the pos would go negative.It only happens for the cards 3, 4,5 which instead show as 8,9,3Any thoughts?I'm enjoying this project and it'll be great when…

    see more »

    Good evening:I'm making good progress on the clock project.I've got the sketch reading the RTC module correctly andshowing the correct time in the Serial Monitor.It works fine for all minute values other than 3,4 and 5.Here's my card order in the array for minutes 0 to 9:{6, 13, 0, 1, 2, 7, 8, 9, 3, 4, 5, 10, 11, 12}The minute cards correctly display0(Joker), 1(Ace), 2 and then it just shows 8,9,3 instead of 3,4,5Here's what the setNum(m,n) call shows for doing the 3 value:Next minute: 3 TIME CHANGE: SET NUM:0-3newPos= 8 (this is the correct position of the '3' card in the array)pos= -2340advance=586It seems strange that the pos would go negative.It only happens for the cards 3, 4,5 which instead show as 8,9,3Any thoughts?I'm enjoying this project and it'll be great when it's done.Thanks for your suggestions.Gord

    View Instructable »
  • hausofpayne17 commented on shiura's instructable Casino'clock
    Casino'clock

    The Triangle worked! It's 34mm from the underside of the base to the peak, with a base width the same as the base of the holder.I notice that when it starts to run in the test sketch, the first card correctly stops at the correct spot, but then it ALWAYS skips the second card and stops at the 3rd. After the complete cycle of 14 cards, it then correctly stops at the second card every time.Can you suggest how I can get this to work correctly from the moment it is powered on? Otherwise each wheel will be out by one card on first cycle of each wheel. So it'll be out by a minute, then 59 minutes and an hour for the first 12 hour cycle.Thanks for the fix suggestion.Gord

    Thanks for the suggestion. I'll try it later this morning. Worst case, I'll just cut the feet of the base and use a couple of L-brackets for new feet with them about 7mm higher will do the trick. I'll try your idea first. I'll let you know what I find.Thanks again for a great project and your quick reply.Gord

    View Instructable »
  • hausofpayne17 commented on shiura's instructable Casino'clock
    Casino'clock

    I'm LOVING this project!Just an issue. When the sketch starts to by reversing to the home position, the cards jam against the base and then when it goes forward any cards sweeping forward in the base also jam and throw the calibration off. The distance from the base to the throat of the slot in the card holder is 80mm but the height of the cards is 89mm (French deck).How can I fix this? Should I cut the vertical side of the base and extend it about 7mm so the cards are vertical and not touching the base as they swing through the lowest position? Or is there another suggestion?I'm going to put it at my high school but the employer doesn't let me put ESP32s on the wifi. So instead, I'm using an Arduino Mega with a real time clock module and I'll use a bluetooth transceiver to update the ti…

    see more »

    I'm LOVING this project!Just an issue. When the sketch starts to by reversing to the home position, the cards jam against the base and then when it goes forward any cards sweeping forward in the base also jam and throw the calibration off. The distance from the base to the throat of the slot in the card holder is 80mm but the height of the cards is 89mm (French deck).How can I fix this? Should I cut the vertical side of the base and extend it about 7mm so the cards are vertical and not touching the base as they swing through the lowest position? Or is there another suggestion?I'm going to put it at my high school but the employer doesn't let me put ESP32s on the wifi. So instead, I'm using an Arduino Mega with a real time clock module and I'll use a bluetooth transceiver to update the time with my phoneThis is going to be great when it's done! Thanks again for a great project!Gord

    View Instructable »
  • Battery Case for Tiny Apple Pi

    As a former Apple employee from the early 1990s, I have fond memories of the Mac SE and 20 Megabyte external HD that was on my desk at home.Thanks for such a great project! The HD battery case is just is the 'icing under the cake'.Well done! Keep creating great things!Best wishes,Gord

    As a former Apple employee from the early 1990s, I have fond memories of the Mac SE and 20 Megabyte external HD that was on my desk at home.Thanks for such a great project! The HD just is the 'icing under the cake'.Well done!Best wishes,Gord

    View Instructable »
    • TFT Touch Display - Aligning Touch Points to Display Pixels
      63 views
      0 favorites
      0 comments
  • Two Ways to Reset Arduino in Software

    Thanks for your help. I've spent all day trying to get a bunch of char arrays to reset and finally gave up. Your software method did the trick!

    View Instructable »
    • The Treat Trough of TERROR!
      106 views
      1 favorites
      2 comments
  • The Treat Trough of TERROR!

    thank you for your very kind commetns Rach. Much appreciated. It was a load of fun to make and I tried it out on some young relatives on Thanksgiving and they loved it. We'll have fun Halloween night! Best wishes, Gord

    View Instructable »
  • Dave - the Remote Control Duck

    Had to go to my mom's garage to get the duck. Yes, it's a molded halves decoy but the prop shaft runs down through the bottom. The radio and servos are long gone. Was a 1960s vintage Nutronix radio. HUGE! Lots of fun for a kid though.

    View Instructable »
  • 3D Printed & Foam Board Wing

    This is GREAT! I'm just about to upgrade my super cub to a brushless motor and I want to build an aileron wing. Have you flown it more since? How is it performing? Thanks for this instructable. I look forward to your comments on your later flight performance. Best wishes, Gord

    View Instructable »
  • ESP32 Camera Robot - FPV

    Thank you for your kind comments. Was a great project. Best wishes!

    View Instructable »
  • Fun Micro:bit Robot - EASY and Inexpensive!

    Any type will work. Is it possible you've got the microBit in the connector upside down? The LED array should be face up in the connector when the connector's pin labels are up. Plug it in and use a multimeter set to 200 Ohms resistance and touch the pin 0 HOLE on the mocrobit with one probe and the Pin 0 pin on the connector. If the resistance goes to 0, you've got the connector and microbit mated correctly.

    View Instructable »
  • FeatherQuill - 34+ Hours of Distraction-Free Writing

    Fantastic design! Great work! Congratulations on the battery management. That's challenging. A great achievement.

    View Instructable »
  • MicroBit Room Occupancy Counter and Controller

    If you could link my Instructable on your website I'd appreciate it. Thank you.

    Thank you for your very kind thoughts!I find the key to accuracy in LDRs is getting a good threshold sample before the progam actually gets into the main loop.You may not get predictable and reliable results in a dimly lit roomI'm working on another project and I've set my activation threshold to 97% of the average of 100 samples of the ambient light. Seems to work pretty well.An LDR is a sensor worth about 2 cents. So it's not a high accuracy device. But in many applications, it does a great job.If you want, put a light source across from the LDRs to give them brighter illumination like the light beams in elevators. You'll get reliable results.Thanks again!Gord

    View Instructable »
    • MicroBit Room Occupancy Counter and Controller
      91 views
      1 favorites
      0 comments
  • Miniature Beeping Circuit Prank

    Turned out Great! now I can feed it down the wall cavity to help locate a wire exit. THANKS!

    View Instructable »
  • Miniature Beeping Circuit Prank

    Thank you so much! I made a beeper that I can feed down a wall cavity to find where it winds up! Using a 12V garage door opener battery. Lots of volume. Substituted a 4.7K resistor and get 0.47s period.

    View Instructable »
    • ESP32 and Blynk - Air Conditioner Control Centre
      72 views
      0 favorites
      0 comments
    • POiNG! - Arduino Arcade Game!
      53 views
      1 favorites
      0 comments
  • ESP32 Camera Robot - FPV

    Terrific work! Very impressive! Love the cookie dispenser! Glad you found the tutorial helpful. Best wishes, Gord

    View Instructable »
  • DEC H-500 Computer Lab Reproduction

    Congratulations! I'm a high school CompSci teacher in Newmarket, Ontario and I may try to build this with my AP students. Thanks for your work! Go Canada Go!

    View Instructable »
  • ESP32 Camera Robot - FPV

    Terrific work Charles! Now you can patrol the laundry room and keep it safe for Democracy!Well done!Gord

    View Instructable »
  • ESP32 E-Paper Thermometer

    That's great Carlos! Bravo!Now go make something wonderful!

    View Instructable »
  • ESP32 E-Paper Thermometer

    Hi Carlos:I see what you mean.In truth, this sketch is pretty simple and you can take bits of it and incorporate it into a Gx_EPD2 sample sketch likethe Gx_EPD2_Example sketch, the first one in the list in the Examples for the Gx_EPD2 libary.You'll be able to see how graphics work and putting text on the paper including full and partial updates. I frankly gave up on Gx_EPD and the writer of that library intentionally created Gx_EPD2 as a simplified way to interact with e-papers. It's still an extremely powerful set of features and it's a one-line object definition and then you can get into the programming.My I suggest you set this temperature demo aside for a few hours. install Gx_EPD2, wire up the epaper as I suggest and defining the pins in the GX_EPD2_Example sketch and see if you can …

    see more »

    Hi Carlos:I see what you mean.In truth, this sketch is pretty simple and you can take bits of it and incorporate it into a Gx_EPD2 sample sketch likethe Gx_EPD2_Example sketch, the first one in the list in the Examples for the Gx_EPD2 libary.You'll be able to see how graphics work and putting text on the paper including full and partial updates. I frankly gave up on Gx_EPD and the writer of that library intentionally created Gx_EPD2 as a simplified way to interact with e-papers. It's still an extremely powerful set of features and it's a one-line object definition and then you can get into the programming.My I suggest you set this temperature demo aside for a few hours. install Gx_EPD2, wire up the epaper as I suggest and defining the pins in the GX_EPD2_Example sketch and see if you can get your epaper to start displaying stuff. Then you could move across the temperature sensor code from the other sketch and get your temperature sketch working.I understand your frustration Carlos. I got my first e-paper displays in October and didn't get the Black and White one working until February when I updated the Gx_EPD2 library and found the new wiring plan, which I only discovered by chance and blind searching. It was really disheartening. I actually thought my two black and white screens from two different manufacturers were both defective. But now I'm able to proceed with some great features of the e-paper and I'm very happy with the performance.Good luck and keep at it!Gord

    Hi Carlos: Yes, I have solved the problem. My situation is using the 1.54" BW display.1. Make sure you have the Latest version of the GxEPD2 library. Currently it's 1.2.8 but 1.2.6 fixed it for me.There's a NEW definition for the 1.54BW display. Use this one:GxEPD2_BW display(GxEPD2_154_D67(/*CS=5*/ SS, /*DC=*/ 22, /*RST=*/ 21, /*BUSY=*/ 4)); // GDEH0154D67 <----- THIS ONENotice the different pin definitions in the statement. The way you wire the pins to the ESP32 Dev Kit V1 is:Display ESP32 DevKit V1VCC 3.3VGND GNDSDI 23SCLK 18CS 5DC 22RST 21BUSY 4That works for me and I'm able to use the basic display demo sketch for the GxEPD2 library. Just activat…

    see more »

    Hi Carlos: Yes, I have solved the problem. My situation is using the 1.54" BW display.1. Make sure you have the Latest version of the GxEPD2 library. Currently it's 1.2.8 but 1.2.6 fixed it for me.There's a NEW definition for the 1.54BW display. Use this one:GxEPD2_BW display(GxEPD2_154_D67(/*CS=5*/ SS, /*DC=*/ 22, /*RST=*/ 21, /*BUSY=*/ 4)); // GDEH0154D67 <----- THIS ONENotice the different pin definitions in the statement. The way you wire the pins to the ESP32 Dev Kit V1 is:Display ESP32 DevKit V1VCC 3.3VGND GNDSDI 23SCLK 18CS 5DC 22RST 21BUSY 4That works for me and I'm able to use the basic display demo sketch for the GxEPD2 library. Just activate the display object definition line as above and set the pins in that statement as above.Good luck!

    HI Carlos.I'm not sure my last reply took.I gave up on the Gx_EPD library. I find everything I could possibly want to do, I can do with great refresh rate using the Gx_EPD2 library. The author of Gx_EPD did the '2' version to make it easier to work with.Why not load up Gx_EPD2, wire up the board/epaper as per my instructions and try the Gx_EPD_Example sketch in the library.Once you get that going, you can easily take the thermometer specific code out of your sketch, put it in the other and you're up and running!Good luck Carlos! Keep at it!Gord

    View Instructable »
  • ESP32 Camera Robot - FPV

    here's the direct link if you can't wait for the instructables refreshhttps://docs.google.com/document/d/1s004z8AADX5EO9NAduEAhE_SPiXLsVvlekRPx1yNFQg/edit?usp=sharing

    Thanks for the kind comment! Yes, the html/javaScript side a royal pain in the backside. I'll try to make a tutorial in the next week or so. I think I'll just save it as a PDF and post it with the robot entry on my arduino website. I'll post a comment here with the link when it's done. Just up front, I'm no expert in HTML and Java Script so what you'll see in the PDF is the extent of my expertise. I know next to NOTHIN' :-)I'll paste my entire index.h contents with comments and the related sketch code so you can see what I did. And I'll include how to use the CyberChef to go back and forth between HTML and Byte code.I will say that overall, I'm REALLY impressed with the ESP32 architecture overall. I'm working on a project right now that uses an e-paper display and has a lot of bitmap imag…

    see more »

    Thanks for the kind comment! Yes, the html/javaScript side a royal pain in the backside. I'll try to make a tutorial in the next week or so. I think I'll just save it as a PDF and post it with the robot entry on my arduino website. I'll post a comment here with the link when it's done. Just up front, I'm no expert in HTML and Java Script so what you'll see in the PDF is the extent of my expertise. I know next to NOTHIN' :-)I'll paste my entire index.h contents with comments and the related sketch code so you can see what I did. And I'll include how to use the CyberChef to go back and forth between HTML and Byte code.I will say that overall, I'm REALLY impressed with the ESP32 architecture overall. I'm working on a project right now that uses an e-paper display and has a lot of bitmap images. Working quite nicely so far and the touch-sensitive pins are terrific! Nice alternative to buttons.STAY SAFE and KEEP MAKING!!Gord

    I've put a Step 6 in the instructable with a link to a detailed Google Doc of how to manage the HTML.Good Luck!(at least ONE good thing came out of COVID-19 lockdown :-)

    View Instructable »
  • ESP32 E-Paper Thermometer

    Hi Nick:I've wired my waveshare 1.54 bw display exactly like yours to my esp32 wroom-32.I tried selecting both the esp32-dev board and the DOIT ESP32 Dev Kit V1 boards. It uploads in both cases and the temperatures display in the serial monitor at the correct 5 second interval. but NO DISPLAY on the e-paper. I've triple checked my wiring.Any suggestionsThank you for your tutorial NickGord

    View Instructable »
  • Accesspoint - Station Communication Between Two ESP8266 MCUs

    Thanks very much! Works Great! I'm going to make a chime sound when an LDR detects bright light.

    View Instructable »
    • ESP32 Camera Robot - FPV (Teacher Entry)
      119 views
      1 favorites
      1 comments
  • hausofpayne17 made the instructable Walking Pumpkin II
    Walking Pumpkin II

    Great Project! I may put an Arduino Micro in mine and have it blink lights, make sounds and swing up a 'Happy Halloween' sign with a servo eventually.Thanks for a fun activity!

    View Instructable »
  • hausofpayne17 commented on hausofpayne17's instructable Joke-o-Lantern
    Joke-o-Lantern

    Thanks for your kind comments. I'm sincerely impressed by your work!

    View Instructable »
  • hausofpayne17 commented on hausofpayne17's instructable Joke-o-Lantern
    Joke-o-Lantern

    Thanks kindly! Was a lot of fun to design and build!

    View Instructable »
  • hausofpayne17 made the instructable Walking Pumpkin II
    Walking Pumpkin II

    Great Project! Very well designed parts. Quite a lot of sanding and grinding to do to get the parts to fit, especially the motor housing. Mine doesn't walk forward very well as the feet are pointy and slippery. Maybe I'll try some spray on silicone adhesive. Eventually I'd like to put an Arduino Micro inside and have it flicker some LEDs, extend a little 'Happy Halloween' sign, play a tune. I just used a small SPST switch inside instead of the magnets and reed switch. 9V battery works great and it slides into the top opening in the frame.Thanks very much for a fun project!

    View Instructable »
    • BluBerriSix - a TFT TouchScreen / Arduino Tutorial
      597 views
      8 favorites
      0 comments
    • Fun Micro:bit Robot - EASY and Inexpensive!
      362 views
      1 favorites
      3 comments