Google spelar musik Internet Radio (Raspberry Pi och Arduino) (1 / 12 steg)
Steg 1: User Interface Electronics
I så fall först upp är elektronik vilken kontroll kommunikation mellan radion och användaren, i min radio ingår 6 knappar, två roterande pulsgivare som också har en omkopplare för när de trycks och en 4-raders, 20 kolumn bakgrundsbelyst LCD, majoriteten av detta styrs med en ATmega 328p vilket gränssnitt med Raspberry Pi med RS232 (via en nivå omvandlare sedan Pi har en logik 3.3V och Arduino är 5v), det enda undantaget är den LCD-bakgrundsbelysning som slås på och av med hjälp av en GPIO pin från Pi.
Så är här en översikt över vilka IO enheter var faktiskt anslutna till Arduino, hur de var anslutna och varför:
- Stift 0 och 1 ansluten till rubriken Raspberry Pi GPO genom en MOSFET nivå omvandlare, detta var för seriell kommunikation mellan Pi och Arduino.
- På frontpanelen knappen var anslutna till ADC stift 0 5 med antingen en extern dra upp eller dra ner motstånd (beroende på vilket som är enklast, i efterhand dra upp hade varit lättare då jag skulle bara behöva marken på min frontpanelen ombord).
- LCD-skärmen är ansluten på digital stift 8 till 13, den faktiska Stifttilldelning är inte viktigt i detta skede som den kan konfigureras i skriptet Arduino.
- Encoder knapparna är på stift 6 och 7, med hjälp av den interna dra upp motstånd.
- Kodare är på stift 3 och 5 och 2 och 4, det är viktigt att ha minst en avbryta pin per encoder, detta kommer att avsevärt förbättra prestanda.
Merparten av detta syns lätt på den schematiska som har alla av dessa relevanta avsnitt kommenteras, Observera att detta är schematiska för moderkortet bara, så de faktiska enheterna visas som pin rubriker, jag kommer att gå över ledningar de faktiska enheterna i nästa steg.