For those of you who don't know what a raspberry pi is, it's basically a low cost, tiny computer. You can apparently do all kinds of things with it. And no, it does not run windows like your used to, it runs linux, mostly. Most of the blind tend to ssh into them, I believe. If memory serves me right the audio output is too unreliable to do anything useful.
That aside, I don't yet own one, though I've been considering one since the 3b was released around two years ago. My question is this.
Are there any resources written for the VI community I can read up on that will allow me to take advantage of the GPIO pins on the device? I would really like to use this thing to it's full potential, and I see it kind of silly of me to purchase it, since I already have a linux box, even though it, um, doesn't really do much, lol.
99.9999999 percent of the tutorials out there regarding this tend to be diagrams and using LEDS with these devices, which is, well, kind of something I can't use, for obvious reasons. Lol.
I still may purchase one, for nothing more than to use it as a web testing area, and or a NAS hub and retire the ol box.
I love my Raspberry Pi! As for resources, one resource I can highly recommend is the Raspberry Vi mailing list, don't know the URL at the moment.
- abc_123_a.ogg, Undertale v1.000 -
There are quite a few fun little projects around for it, some casual browsing through the adafruit and other stores can turn up some cool accessories to mess around with, such as touch sensors, haptics, tts modules, various kinds of sensors, motors, etc. The Raspi VI mailing is [here], and the Raspi VI resource site is over [here].
I've wanted one for a while, but just had no reason for it. I tend to have a reason for buying something, even if its not a good one . I just don't know what I'd do with one.
This is great, but I'm still not understanding how I'd use the GPIO pins other than take this little thing, buy this other thing and plug this here. What? Where? Why? Lol.
Any parts for the most part, I can source with ease all day long, though putting them together for use with the pi is what I need help with.
I'm not comfortable throwing away $35 so I want to make sure I don't fry the pi, even though baking pie is good. Especially the smell of it. I mean the food item, lol.
6 (edited by magurp244 2018-03-13 07:32:16)
I've not messed with it much yet. Part of it involves power management, the raspi can operate at upwards of 3.3v or 5v, so anything powered off the pi would be confined to those ranges without changing the power supply. After connecting your devices to the proper GPIO pins you can access and control them through python scripts by importing the rpi.GPIO library, after that its all about scripting and modulating input/output. As an example, [here] is a script for controlling a stepper motor.
You can find a bit more about GPIO programming over [here], for more specific setups, projects, or questions it would probably be a good idea to hit up the raspberry pi forums [here]. I'm not sure if the pin layout is in an accessible format though, but if you like I can dig one up.
yes please, that would be much appreciated. Thanks for your help!
For the Raspi model 3 B, hold the pi with the GPIO pins at the top with them facing towards you and the USB ports facing right. The first pin is on the far left on the bottom row, the one above it on the top row is pin #2, the second pin on the bottom row is #3, the fourth pin is the second on the top row, etc. There are a total of 40 pins, here's the list of their designated functions:
1: 3.3v DC Power 2: DC Power 5v 3: GPIO 02 (SDA1, i2c) 4: DC Power 5v 5: GPIO 03 (SCL1, i2c) 6: Ground 7: GPIO 04 (GPIO_GCLK) 8: GPIO 14 (TXD0) 9: Ground 10: GPIO 15 (RXD0) 11: GPIO 17 (GPIO_GEN0) 12: GPIO 18 (GPIO_GEN1) 13: GPIO 27 (GPIO_GEN2) 14: Ground 15: GPIO 22 (GPIO_GEN3) 16: GPIO 23 (GPIO_GEN5) 17: 3.3v DC Power 18: GPIO 24 (GPIO_GEN5) 19: GPIO 10 (API_MOSI) 20: Ground 21: GPIO 09 (SPI_MISO) 22: GPIO 25 (GPIO_GEN6) 23: GPIO 11 (SPI_CLK) 24: GPIO 08 (API_CE0_N) 25: Ground 26: GPIO 07 (API_CE1_N) 27: ID_SD (i2c ID EEPROM) 28: ID_SC (i2c ID EEPROM) 29: GPIO 05 30: Ground 31: GPIO 06 32: GPIO 12 33: GPIO 13 34: Ground 35: GPIO 19 36: GPIO 16 37: GPIO 26 38: GPIO 20 39: Ground 40: GPIO 21
Thanks loads for this! I'll be sure to reference this if I ever do manage to make use of the GPIO pins. My current wishful thinking is a buzzer connected to the pi and making it beep selectively.
I've posted to the forums and as I suspected, some of them agree, a visually impaired person wiring up a circuit of this type could be nearly impossible.
We'll see where this goes though.
10 (edited by magurp244 2018-03-14 08:28:50)
It can present some challenges but I wouldn't consider it impossible by any means, don't let such thinking thwart your ambitions, heh. There are many ways to go about doing it, its just a matter of finding the way that works best for you.
Some prefer using breadboards and components, which may not be as difficult as some might imply. After that though such setups often move on to soldering their own custom PCB's, which is an approach that could prove challenging, but as it turns out is not unheard of for the visually imparied. There are other ways to build custom PCB's if necessary though, such as Press Fit Jumpers, conductive glue, wire wrapping, etc. They have their own quirks to be sure, but are a possibility.
The other easier option is to work with pre-built circuits, of which there are many, and use jumpers and connectors to just plug them together. You could even wire up your own by buying male/female header connectors and attaching wires, or JVT connectors. The Uxcell Buzzer module KnarfB linked in your post seems like a good fit for this approach, as it has all the required components built into it and just requires straight jumper connections. There are also stepper motors that come bundled with similar jumpered controller circuits as well.
@9 I'd just say you'd have to get creative with it. I don't know much about electronics, but prototype your circuit first on a breadboard. That's something I've always wanted to try.