Coder Social home page Coder Social logo

nfcassette-radio's Introduction

Description

The NFCassette Tape Radio project aim to create a portable hand-held radio capable of reading NFC powered cassette tapes and playing tracks through Spotify.

The RFID receiver is connected to a Raspberry Pi, which is then connected to a speaker. The Raspberry Pi runs Raspotify and Spotipy, two python libraries that allow the Raspberry Pi to interact with the Spotify API.

When a cassette tape is placed into the radio, the RFID receiver sends the stored data to the Raspberry Pi, which then plays the corresponding album from Spotify. Additionally, the project includes 3D-printed cassette tapes, which can be customized to display artwork from favourite albums.

Hardware Setup

The RFID reader that is being used in this project is the RFID RC522 (MFRC522). The MFRC522 is a highly integrated reader/writer IC for contactless communication at 13.56 MHz and supports ISO/IEC 14443 A/MIFARE mode.

Using the below diagram, connect the RFID RC522 to the raspberry pi.

Note: In my studies I found that there are multiple version of the RFID RC522, mainly a Red and a Blue version. I have no idea why, but they are slightly different. The naming of the pins is very similar, but they are out of order to the below diagram - make sure to read the labels of the pins you are connecting

Pasted image 20240627133531 Raspberry Pi GPIO Pinout Diagram

Testing of Hardware

To test the hardware, consider running the below scripts and writing / reading from a NFC tag

Write

# Import Libraries
import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522

# Define the RFID Reader
reader = SimpleMFRC522()

# User Input of data you wish to Write 
text = input('New data: ')

# Writing to NFC Tag
print("Now place your tag to write")
reader.write(text)
print("Written")

Read

# Import Libraries
import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522

# Define the RFID Reader
reader = SimpleMFRC522()

# Reading of an NFC Tag
print("Place card to read")
print(reader.read())

Software Setup

[...]

Future Plans

  1. Animal Crossing Soundtrack that changes based on the hour
  2. Home Assistant integration to tailor the music taste to the people currently home
  3. WebUI to control the radio, and write new cassette tapes

nfcassette-radio's People

Contributors

coopdogg24 avatar

Stargazers

Nathan Thomas avatar Cameron avatar Colby Prior avatar

Watchers

 avatar

Forkers

sassiest01

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.