INHOUDSOPGAWE:

Prototipe Arduino-Raspberry Pi-klankbord: 9 stappe (met foto's)
Prototipe Arduino-Raspberry Pi-klankbord: 9 stappe (met foto's)

Video: Prototipe Arduino-Raspberry Pi-klankbord: 9 stappe (met foto's)

Video: Prototipe Arduino-Raspberry Pi-klankbord: 9 stappe (met foto's)
Video: Драм-секвенсор Arduino: 8 дорожек, 16 шагов на такт, 8 тактов на паттерн 2024, Desember
Anonim
Prototipe Arduino-Raspberry Pi-klankbord
Prototipe Arduino-Raspberry Pi-klankbord

Die prototipe klankbord wat met 'n Arduino en Raspberry Pi geskep is, is bedoel om 'n eenvoudige manier te wees om 4 verskillende klanke of geluide te speel, terwyl u die opsie het om klankstelle met 'n knop te verander en die huidige klankstel met 'n LCD -skerm te vertoon.

*Let wel: die kode vir die projek is 99% voltooi, maar is nie funksioneel nie.

Die Raspberry Pi beheer die 16x2 LCD -skerm en die roterende enkodeerder terwyl die Arduino die analoog insette lees van kraggevoelige weerstande (FSR's) en 'n sein na die Arduino stuur om 'n klank te speel. Ons het albei nog nooit 'n Arduino of Pi in die klas gebruik nie, maar ons professor het ons al die nodige gereedskap en leiding gegee om hierdie projek maklik te kodeer en te bou. TinkerCad, 'n gratis aanlyn 3D -modelleringsinstrument deur AutoDesk, is gebruik om ons projek te modelleer.

Die moeilikste deel van die projek was om 'n manier te vind om die Arduino en Raspberry Pi te laat kommunikeer met seriële kommunikasie. Ons wou oorspronklik slegs die Pi vir die hele projek gebruik, maar ons het die Arduino nodig gehad om die analoog sein van die FSR's te kon lees. Ons kon maklik reëls woorde of syfers vanaf die Arduino stuur en dit op die Pi vertoon, maar waar die probleem gekom het, was toe ons probeer om die waardes in Python in te lees en dit in toestandverklarings te implementeer om dit te verwerk.

Vaardighede benodig

  • Eenvoudige begrip van C/C ++ vir Arduino -kodering
  • Eenvoudige begrip van Python vir Raspberry Pi -kodering
  • Kennis oor hoe 'n broodbord bedraad is
  • Basiese 3D -modelleringsvaardighede
  • 'N Begeerte om programmering, bedrading en die bou van iets netjies te leer en uit te brei

Deellys

1 x Framboos Pi 3

1 x Elegoo Uno OF Arduino Uno

1 x 830 Tread Breadboard

1 x GPIO Breakout Board (RSP-GPIO)

1 x lintkabel vir uitbreekbord

4 x sensitiewe weerstande vir klein krag

1 x basiese 16x2 karakter LCD -skerm

1 x Rotary Encoder Module

24 x Manlike tot vroulike drade

10 x manlike tot manlike drade

4 x 10k weerstande

1 x 10k potensiometer

1 x knieskyf vir tuinskuim (dollarwinkel)

Stap 1: Toets die FSR met die Arduino

Toets die FSR met die Arduino
Toets die FSR met die Arduino

Ons het eers besluit om die FSR met die Arduino te probeer. Die FSR's stuur 'n analoog sein en daarom moes ons 'n Arduino gebruik, aangesien die Pi nie analoog ontvang sonder ander stroombane nie. Ons wou drempels toets om seker te maak dat die pers goed druk. Ons het gevind dat dit ongeveer 150 uit 'n totaal van 1000 was. Die reeksplotter op die Arduino IDE was baie nuttig vir hierdie stap.

Stap 2: Stel die planne vir die bord op

Stel die planne vir die raad op
Stel die planne vir die raad op
Stel die planne vir die raad op
Stel die planne vir die raad op

Ons het toe die planne vir die bord opgestel en gemeet. Ons wou 4 pads hê om klanke mee te speel, 'n plek vir 'n LCD -skerm om die huidige klankgroep te vertoon, en 'n roterende encoder om die klankgroep te verander.

Stap 3: Model die bord in TinkerCad

Model die bord in TinkerCad
Model die bord in TinkerCad
Model die bord in TinkerCad
Model die bord in TinkerCad
Model die bord in TinkerCad
Model die bord in TinkerCad

Nadat die planne opgestel is, het ons die bord gemodelleer op 'n aanlyn, gratis, 3D -modelleringswebwerf genaamd TinkerCad van Autodesk. Ons beveel dit sterk aan vir diegene onder u wat nie tonne geld wil spandeer op groot 3D -modelleringsagteware nie, aangesien dit maklik is om te gebruik, wolkgebaseerd is en volledige ondersteuning bied vir 3D -drukwerk.

Nadat dit gemodelleer is, moes ons dit in 2 stukke verdeel om dit op die drukker te pas. Dit het baie goed afgedruk, maar my fout was dat die grootte van die LCD -skerm nie so goed was nie (maak nie die fout nie!) Ons het die. STL -lêers aan die linker- en regterkant opgelaai as u dit wil sien.

Stap 4: Toets die LCD -skerm

Toets die LCD -skerm
Toets die LCD -skerm

Ons het die skerm op die Arduino reeds gebruik en dit was baie maklik om op te stel. Dit was egter moeiliker om dit met die Pi te bestuur. Met verskeie ure om probleme op te los op Google en met kabels te waai, het ons dit uiteindelik aan die gang gekry. Sien die finale Python -kode aan die einde om te sien hoe dit werk. Ons het 'n paar webwerwe gebruik om ons te help om dit oor te dra en die kode te skryf.

learn.adafruit.com/drive-a-16x2-lcd-direct…

www.raspberrypi-spy.co.uk/2012/07/16x2-lcd…

Stap 5: Toets die roterende enkodeerder met die LCD -skerm

Toets die roterende enkodeerder met die LCD -skerm
Toets die roterende enkodeerder met die LCD -skerm

Ons wou toe kyk of ons die teks van die LCD -skerm kan verander wanneer die encoder gedraai word. Die encoder het nie 'n vasgestelde hoeveelheid hoeke of rotasies nie, so in die kode het ons getel hoeveel keer dit met die kloksgewys of linksom gedraai is en dit laat tel tot 3. As dit oorgaan, gaan dit terug na 0, en as dit onder 0 gaan, gaan dit terug na 3. Die getalle kan ingestel word vir hoeveel klankstelle u wil, maar ons het slegs een klankstel getoets. Maak seker dat u klanke in dieselfde gids/plek is as waar die hoof Python -kode uitgevoer word.

Stap 6: Monteer die bord

Monteer die raad
Monteer die raad
Monteer die raad
Monteer die raad
Monteer die raad
Monteer die raad

Die FSR's skuif onder die vier verskillende gleuwe. Ons het hulle in die middel gesit en vasgemaak. Ons beveel kleeflint aan of selfs om dit vas te plak, want eenvoudige plakband was baie moeilik om aan die 3D -gedrukte materiaal vas te hou. Na 'n vinnige besoek aan die dollarwinkel, vind ons 'n sagte, knersende tuinknieblokkie wat ons in vier stukke kan sny om as knoppies vir die bord te gebruik. Ons sny dit sodat hulle goed op hul plekke kan pas, sodat hulle op hul plek kan bly, maar kan ook maklik verwyder word indien nodig.

Stap 7: Sluit alles aan

Draad alles op
Draad alles op
Draad alles op
Draad alles op

Nadat ons die bord bymekaargemaak het en die FSR's, encoder en skerm aangebring het, het ons alles opgestel. U kan 2 broodborde gebruik, maar ons kon alles op een pas. Die prentjie lyk soos 'n gemors, maar ons het 'n skematiese diagram gemaak in 'n gratis program genaamd Fritzing. Let daarop dat u die penne waarop u alles wil heg, kan verander, maar die diagram stem ooreen met ons kode.

Stap 8: Voltooi kodering ALLES

Dit was die moeilike deel. Soos in die inleiding genoem, kon ons hierdie deel nie voltooi nie. Die kode is 99% daar, maar die een deel wat nie gewerk het nie, was die reekskommunikasie van Arduino na Pi. Ons kon die inligting maklik stuur as ons die Arduino met die USB -kabel aan die Pi koppel, maar die Pi kon niks anders doen as om die inligting op die skerm te wys nie. Ons wou weet watter knoppie ingedruk is en 'n spesifieke klank laat speel, maar die data wat deur die kommunikasie kom, kan nie in 'n toestandstoestand geplaas word om te toets watter knoppie ingedruk word nie.

Sien die aangehegte kode; daar is kommentaar gelewer in die Python -kode vir die Pi. Die Arduino -kode moet 100%wees.

Stap 9: Maak af

Maak af
Maak af

Oor die algemeen was hierdie projek 'n GROOT leerervaring vir ons twee, en ons hoop dat hierdie opstel toekomstige studente, onderwysers of klinkers inspirasie vir hul eie projek kan gee en hulle kan begelei deur te leer uit ons foute. Skreeu na ons wonderlike robotika -professor wat geweldig baie gehelp het tydens ons tyd in die klas en ons die geleentheid gebied het om baie pret te hê en baie te leer in 'n senior COMP -klas! Dankie vir die lees:)

Aanbeveel: