If you are going to have a beefy audio track on the opening credits, can you please balance the audio volume to match your own audio. It plays unbelievably loud. Rise above the YOUTube hype, you are much humbler than that, it is one of your best features.
The Ben Heck Show What you were explaining about cabTemp and cabNet is called atomicity. This is used a lot when dealing with file systems or multi-threading environments. Also being a programmer I'm loving the amount of coding in this with hardware!
I am loving this, has been a project for years I've wanted to do replicate and convert the larger machines (Williams gottlieb) into a portable home tabletop. May still have a go when my 3d printer is built. So thanks Ben nice to see
What would be really neat to make would be a pocket-sized synth/keyboard. You could use a small computer (arduino,raspberry pi,Etc) and install some kind of music writing software, they have a couple of knobs to adjust a few things (pitch bending, LFO rate, low pass filter,Etc) it just sounds like a cool project. Likeliness of you seeing this is incredibly slim, but I thought it was worth bringing up, have an splendid day :)
Ben! You should have totally used cstdint to specify fixed width values, like uint16_t. It makes everything so much easier to read, especially on a uC like the teensy.
Worth noting: In teensyduino, the author wrote functions called 'digitalwritefast' and 'digitalreadfast' that take only 1 cpu cycle to complete...much faster than default :D (without needing to resort to port addressing)
Robonza Definitely a trade between novice usability and efficiency...I just mentioned that one because ports and bitwise operations are a bit heavy for the beginner and if the other goal is speed then it's already been taken care of :)
Ben, you are an animator, but you choose a display that really can't be that animated. I would have loved for this to be a 3 parter, where you improve on ordinary pinball-machines and use a modern LCD/LED display and make a few short animations in full RGB color.
Any listing is a great and can be improved with feedback over time. As a newb, part numbers and links to items I can buy on E14 are great. Since so some of this is from scrounged parts, substitutions or specs for similar parts would be helpful. I would think over time makers who give it a try will share their own links and sources for scrounged parts or alternative parts as well and it can grow organically. That's my take from someone just stepping into the pool, others who are already knee or hip deep probably don't need as much or have other preferences. I hope that helps.
I know that there is a low chance of you doing this. But I can't find a lot of videos explaining how to add buttons or hopefully a joystick to a teensy. After this, think you could make a video on adding a joystick and button to teensy?
Instead of using the read, modify, write on the pin registers, can't you use bitbanding? Teensy 3.1 is an ARM Cortex-M right? I'm not a 100% sure, it might be manufacturer dependent or something, but that would allow much faster access to individual pins as every bit in a pin register is aligned and can be accessed individually.
The Ben Heck Show I might be missing a trick - but on the score 'number' to string code, could you not just use cstr to convert the actual number to an ascii string. Then all you would need is a loop through and replace the 'val' of each -48 to get the ascii values correct. Would read a lot easier I think. Also as a quick thing, don't forget to right justify your score :) (I don't know about Arduino or Teensy code but in the old days of basic you could set the length of string you wanted to return and justify your number in it) - just my 2p worth :) Cheers Wayne.
I'm very interested in making a similar project but have some fundamental questions. How do you turn the closing of a switch (say a stationary target on the play-field being hit by the pinball) into a digital signal that can be used to increase the score? Also how would the same concept work but this time the ball would hit a switch which activates a solenoid (say a kicker)? Thanks!
On the Mosfet, Ben called the diode a 'Fly-back' however I have learnt it as a 'Rerversed Bios'. If this just language diffrence (I am from the UK) or have I learnt it wrong?
Thomas Jarvis _A flyback diode (sometimes called a snubber diode, freewheeling diode, suppressor diode, suppression diode, clamp diode or catch diode) is a diode used to eliminate flyback, which is the sudden voltage spike seen across an inductive load when its supply voltage is suddenly reduced or removed._
Thomas Jarvis No, you learned it right. The reversed biased diode is being used in a fly-back configuration, across the coil in the relay. This is one of the many uses of a reverse-biased diode - flyback voltage spike suppression across a DC-driven inductor. When the MOSFET switches from on to off, the magnetic field in the coil collapses, but while it does, it can generate a substantial reversed voltage spike across the coil. The diode provides a safe way to drain the energy within the coil, thus preventing you from "flying back across the room" from touching a coil that is supposedly "off". Here, it's primarily to protect the MOSFET from damage, but in higher-energy circuits, it can prevent arc events.
Falbert Forester Ah, okay. Thanks. That makes sense now. I have my electronics exam this week and there is always a question on Mosfets or BJTs with an electromagnetic thing, so that very useful.
Hey Ben I've have a pair of broken heads laying around, well they not broken I guess. They still work its just the right plastic thing broke off. I was wondering if you could fix it or even make it better some how. Please send me a message if you can.
I haven't finished watching the video yet, but I've gotten to the start of the code portion. Why are you storing the numbers as ASCII values and then subtracting 48 instead of just storing them as integer values to start with?
Hello World! The compiler will optimize away the subtraction so it's just more convenient to let it do the math like that and makes it easier to modify for the programmer.
Cannot recommend the Teensy enough. The price/performance is so far above anything else I have seen in the MCU world. PJRC also has some of the best support for software on their forums.
How does he not run into data bottlenecking issues with so few pins? I would put everything on its own port (excluding group operations) but I guess that would make it more complicated.
Hello I would like to see a video in which you convert a single android tablet into a tablet gamepad as JXD and please send a mail with how make this....
The Ben Heck Show yeah. personally I prefer Notepad2, which is used more like the original Notepad (IOW: you open a bunch of instances in parallel, with one instance for each file).
You should build a portable ps2. Now that would be amazing!! Or a raspberry pi controlled hand built 3d printer:) ( is that even possible if so you can do it) thanks!
Ben, I enjoy your show very much - I think I just finished watching all the past episodes - but the parts where you teach programming are almost impossible to follow: there is not always a good synchronization between what you say and what is shown, there are too many lines of the program that are highlighted at the same time, and by the time the viewer has found what line you are describing, there are some comments that are added at the bottom of the screen... You are going way too fast! And I am a programmer. While the electronic part is much easier to understand, even for me with no prior knowledge of electronic (or a level way more limited than my computer knowledge).
Your buildings are so amazing, and i want to build them, but im only 12 Years old, and cant build your Projects... Is there any Solution (except asking Elders or Relatives for Help), that i can build your Projects? P.S. Mostly Problems are 3D Printing, the lovely Money. Time is not the Problem
The Ben Heck Show I noticed this too, but this is the first episode in a while that I've watched on my laptop (as opposed to my phone). Maybe eevblog's 60 fps is screwing with me...
22:30 This is not true! bitRead, bitWrite, bitClear and bitSet are macros in wiring.h (Teensyduino) or in Arduino.h (Arduino), they are bitwise operations, that run just as fast as your functions. For digitalWrite and digitalRead your argument is only true if you run these commands with dynamic parameters otherwise they will be single-cycle instructions.
systemmaster128 There is little correction, writing constant to SFR on ARM or Atmel is not single-cycle instructions (it is possible to be single-cycle instruction only if you have prepared values in general-purpose, which is rarely case) changing one bit on SFR usually take 3 instructions. bitWrite is macro but it use conditional assignment to select which macro it will use (which can be determined during compilation for static parameter if you use some good compiler, GCC dont do that) digitalWrite and digitalRead are never single-cycle instructions (they never cant be even compiled to 3 instructions), and there is no difference if you use dynamic parameters or static parameter.