Trying to do something simple on the Explorer Hat before I progress to more complicated setups I’m a little confused, There are four input and four output connections on the HAT. What GPIO pins are these connected to? I also thought that GPIO pins could be input or output depending on the code.
The pinout is here, https://pinout.xyz/pinout/explorer_hat_pro#
Those are “buffered” inputs and outputs. The Pi’s GPIO are only 3.3V tolerant. The buffered inputs and outputs let you use 5V logic devices. That’s why you see the 5V SAFE marked on the Hat. The i2c pins etc are only 3.3V safe.
The Pi’s GPIO can’t be an input and an output at the same time, so that’s my guess as to why they are separate on the Explorer hat. Four are set as inputs and four as outputs. You can still use any of the other GPIO not in use by the HAT as you wish. You’ll just have to figure out how to get access to them.
Thank you, saw that a couple of days back and really couldn’t make head nor tail of it BUT, after you posted link I looked again with Explorer HAT in front of me and now slowly sinking in, penny starting to drop :)
It’s one of the things you really have to watch out for. A lot of Arduino stuff uses 5V logic, while the Pi wants 3.3v logic levels. So far most of what I’m using is 3V tolerant and 3V safe. You can really mess up your Pi if its i2c or SPI.
It’s important to understand how rPi HATs work. Alphanumeric is right, but you should also understand the the Explorer HAT communicates with the rPi using I2C, a serial communication method. It doesn’t pass the voltage on to the rPi. It reads/writes the input/outputs on it’s own, and then talks to the rPi using I2C.
The nice thing with that method is, if you mess up (like me) and put too much voltage to an input, the rPi doesn’t get damaged. But the Explorer HAT might get damaged :-(
It’s not all done via 12c, not on the Explorer Phat or Hat anyway. Other GPIO Pins are used to send a signal to from the phat. The i2c is used for the capacitive touch chip, CAP1208. Turning on the LED’s ect is done via a GPIO PIN. That’s how it looks to me from the pinout.
There are some boards that are exclusively i2c. I have one Pi that has a BME680, DS3231, and Si1145. The only pins used are SDA, SCL, V+ and ground on those. Technically there aren’t hats though. They are just breakout boards.
Years ago I was in to programming, Basic and ARM code but the old saying - use it or lose it, I lost it :(
Still, logic slowly returning.
I haven’t done anything in Basic in a long long time, and even when I did, it wasn’t anything spectacular. lol.
I’ve learned a fair bit of Python since I bought my first raspberry Pi. I’m no expert but not a noob either.
I have several explorer pHats here. I haven’t done anything with them except drive some motors. I have plans to add some sensors just can’t find my round 2it.
Most of what I’m using is i2c.
Frustrating that Arduino and Pi use different language. Appreciate Pi can run C/C++ but everything geared round Python.
I have no idea of C/C++ but a simple timer project I want to do more suited to arduino, which I understand can run for a million years on a battery 😎
An Arduino is a Microcontroller, big difference from a SBC like a Pi. There is no OS running in the background like on a Pi. It boots up and goes right to work doing what ever you told it too. I have a couple of BBC-Micro bits that work that same way. I write my code in Micro Python, then have the MU editor flash the converted hex file to the Micro-Bit. I can’t make heads nor tails out of the block editor they recommend you use.