Inhoudsopgave:
- Stap 1: Bepaal de maat en de snit
- Stap 2: Draad-LED's
- Stap 3: monteer hout
- Stap 4: Arduino en Bluetooth toevoegen
- Stap 5: Schrijf de iPhone-app
- Stap 6: Arduino-code
- Stap 7: Aanpassen aan jouw stijl
- Stap 8: Arduino-code en IOS-code
- Stap 9: Wat is er nieuw? + Onlangs bijgewerkte code
Video: Bluetooth LED-tekentafel en IOS-app - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
In deze zelfstudie kun je een Bluetooth LED-bord maken dat afbeeldingen kan tekenen vanuit de iPhone-app die we maken. In deze app kunnen de gebruikers een Connect 4-spel maken dat ook op dit spelbord wordt weergegeven. Dit wordt een goedkope maar effectieve versie, zodat iedereen kan bouwen en ontdekken! In totaal zal ik de basisconcepten uitleggen die kunnen worden veranderd, maar hetzelfde effect hebben. Mijn led-bord bevat bijvoorbeeld 88 leds. Dit aantal kan worden verhoogd of verlaagd, afhankelijk van de voorkeur, tijd of grootte van het bord.
Benodigde onderdelen:
ws2812b led-verlichting (of gelijkwaardig) - $ 21
5v 10 amp stroomadapter (mijn project trekt ongeveer 5 ampère als het volledig is ingeschakeld) - $ 18
Foam Board (ontvangen de mijne in de dollarwinkel) - $ 1
Elk type hout (ontvangen bij Menards) - $ 10
Acrylplexiglas (bewolkt / wit, ook bij Menards) - $ 10
Arduino Nano - $ 8
(eBay) Bluetooth-module HM-10-apparaat - $ 3 (Amazon) Bluetooth-module HM-10-apparaat - $ 10
Over het algemeen kost dit project vanaf het begin niet meer dan $ 75 en kan leuk zijn voor kinderen of een coole lichtshow! Ik kijk graag op eBay voor goedkope onderdelen, maar let op oplichting of kapotte onderdelen. Er kunnen kleinere versies worden gemaakt om nog meer tijd te besparen. LED-matrix is beschikbaar om kleine formaten van dit bord te maken. Vergeet niet om te wijzigen hoeveel LED's worden gebruikt in de Arduino-code en de IOS-app
Stap 1: Bepaal de maat en de snit
Dingen om te overwegen voor de grootte zijn hoeveel LED's er zijn voor het project, hoeveel hout er is en hoe groot de vierkanten zijn voor elke led.
Afmetingen bord:
Bovenkant bord: 20 "bij 27"
Uitgesneden in het midden: 23 "bij 16"
Zijkant: 0,75" hoog + dikte onderkant en bovenkant = 1,75" dik
De dikte van hout: 1/2"
De afmeting van de foamboard:
elk vierkant is 2"
De afmeting van LED's:
Breedte: 8 LED's
Hoogte: 11 LED's
Totaal: 88 LED's
Stap 2: Draad-LED's
Knip elk stuk LED af en plaats het in het midden van elk vierkant. Strip de draden volgens de lengte die nodig is voor elke LED. De datalijn gaat van kolom naar kolom. Begin met de eerste LED en soldeer door tot aan de 11e LED. Eenmaal bovenaan, strip je een stuk draad dat helemaal naar beneden reikt tot aan de volgende led rechts van de eerste. Als u met de positieve en negatieve LED op de LED werkt, gaat u door met het solderen van elke LED totdat u de laatste LED in de kolom bereikt. Ik heb twee stroomrails van draad gemaakt, één positief, één negatief, en deze aan elke kolom bevestigd. Om ze te verbinden. Ik heb het midden van de draad gestript en van daaruit naar de LED gesoldeerd. De twee positieve en negatieve busdraden zijn verbonden met de gnd op de Arduino en de VIN-pin op de Arduino die ook de stroom van het stopcontact raakt. De eerste LED heeft een draad die naar pin D3 op het Arduino Nano-bord gaat. Dit kan naar wens worden gewijzigd.
Ik gebruik hete lijm om draden, LED's en schuim vast te lijmen nadat ik de stekker in het stopcontact had gestoken en zag dat alles werkte.
Stap 3: monteer hout
Lijm de stukken hout aan elkaar met behulp van houtlijm of vloeibare nagels. Voor extra ondersteuning heb ik kleine stukjes hout toegevoegd en deze in de hoeken gelijmd waar de achterkant aan elke kant samenkomt. Ik heb twee 12 beugels van Menards gekocht en deze in het boven- en zijstuk van het bord geschroefd zodat het als een deur opent. Ik deed dit voor het geval er LED-storingen optreden of ik later meer componenten wil toevoegen.
Stap 4: Arduino en Bluetooth toevoegen
Voeg een DC-aansluiting toe aan de achterkant van het bord. De achterste metalen plaat is positief, terwijl de middelste plaat negatief is. Dit biedt een gemakkelijke manier om het bord in en uit te schakelen. Ik liet de DC-aansluiting een beetje bungelen in plaats van hem veilig in de doos te plaatsen voor het geval ik deze aan de muur wilde hangen. Anders zou de achterkant ver naar buiten steken omdat het snoer dat erin steekt tegen de muur zou zitten. De positieve pluggen in de VIN op de Arduino Nano terwijl de negatieve naar de grond gaat. De positieve en negatieve LED's worden ook gesoldeerd aan de VIN en aarde.
Ik heb een diagram geüpload voor de HM-10-module en de Arduino Nano. de HM10 TXD gaat de RXD-pin op de Nano in, terwijl de RXD-pin op de HM10 is verbonden met de TXD-pin op de Arduino. Dit gebeurt omdat de Nano leest wat de Bluetooth-module heeft geschreven en vice versa. Sluit ook het VIN aan op de +5v op de Arduino en verbind de gronden met elkaar.
Ten slotte is de schakelaar of knop optioneel tussen de Arduino RXD en de HM10 TXD. Om de een of andere reden kunnen veel mensen geen nieuwe code uploaden wanneer ze verbonden zijn, dus het maakt het gemakkelijk om ze elke keer dat de code wordt geüpload los te koppelen en ze na het uploaden weer samen te schakelen.
Als u klaar bent, controleert u of alles werkt. Als dat zo is, lijm dan alle draden vast en laat het er mooi uitzien. Onthoud dat er niet zoiets bestaat als teveel lijm.
Stap 5: Schrijf de iPhone-app
Ik zal het Xcode-project in de beschrijving verstrekken. Ik heb 3 Bluetooth-klassen die verbinding maken met het BLE-apparaat en informatie verzenden. ScannerViewController zoekt naar elk beschikbaar Bluetooth Low Energy-apparaat. BluetoothSerial beschrijft elk proces van verbinden/loskoppelen van het geselecteerde apparaat en kan de gegevens verzenden. Ten slotte is de SerialViewController de hoofdweergave van de app. Ik heb een collectionView met een dubbele array die elke HSB-waarde bevat en deze opslaat voor later gebruik als de gebruiker wil terugkeren naar de kleur die hij had.
De gebruiker kan het kleurenwiel gebruiken om een kleur te selecteren die ook voor later kan worden opgeslagen. De gebruiker kan dan tekenen met de gekozen kleur. Er is een vulknop samen met een ongedaan maken.
In de connect 4-sectie kan de gebruiker kiezen tussen verschillende spelmodi om andere spelers uit te dagen. Elke beweging stuurt gegevens naar het Arduino Nano- en HM-10-apparaat, die op het scherm worden weergegeven. Je kunt deze afbeeldingen altijd bewerken, omdat ze er behoorlijk slecht uitzien.
Elke keer dat een cel wordt ingedrukt, verzendt deze de code (bijvoorbeeld) "P; 15; 0,56; 0,81; 1\n". De P staat voor "Play", die ik de Arduino heb ingesteld om te herkennen en het zal kleuren weergeven voor de 15e cel. De kleuren zijn de volgende 3 waarden die worden verzonden. Het is Tint, Verzadiging en Helderheid. Het is belangrijk om \n aan het einde toe te voegen, zodat de Bluetooth-module weet wanneer hij moet stoppen met het lezen van de binnenkomende gegevens. Om het display leeg te maken, stuur ik de code "z\n". Toen ik een "z" voor de eerste letter ontving, stelde ik deze in om het bord leeg te maken. En natuurlijk sluit ik het af met \n om het HM10-apparaat te laten weten wanneer het moet stoppen met het lezen van de gegevens.
Als er vragen zijn, laat het dan gerust achter in de comments:)
Stap 6: Arduino-code
Ik zal de Arduino-code verstrekken die naar de Nano moet worden geüpload. Deze code ontvangt elk teken afzonderlijk en combineert en slaat het op in een array. Bij gebruik van de array wordt elke waarde (tint, verzadiging, helderheid) die naar de array is verzonden, gesplitst tussen de komma. Dit verandert dan de kleur van de benodigde pixel op het bord. Hetzelfde concept geldt voor het connect 4-gedeelte. Tint, verzadiging en helderheid worden vanuit de IOS-app verzonden en aan de Arduino geleverd, samen met welke pixel op het bord die moet worden gekleurd.
Nogmaals, als er vragen zijn over de code, laat het me dan weten in de comments:)
Stap 7: Aanpassen aan jouw stijl
Onthoud dat dit project voor de lol is en kan worden gepersonaliseerd. Verf het hout of voeg ontwerpen toe. Laat de LED's reageren op muziek door een microfoon en een kleine luidspreker toe te voegen. Voeg aanraakgevoelig toe met behulp van IR-sensoren. Voeg scrollende tekst toe in de Arduino- of IOS-app. Voeg een nieuwe spelmodus toe in de IOS-app. Tetris is een andere optie om toe te voegen.
Dit project is fundamenteel in de hoop anderen te inspireren om hier iets groots en innovatiefs van te maken. Dank u wel voor de steun!
Stap 8: Arduino-code en IOS-code
Hier is de link naar het Swift- en Arduino-project op GitHub. Als er problemen zijn, laat het me weten.
github.com/oKeeg/LED-Coloring-Board
Stap 9: Wat is er nieuw? + Onlangs bijgewerkte code
In de nieuwste update kunnen gebruikers het hele raster met één kleur vullen in plaats van ze allemaal aan te raken. Er is een knop voor ongedaan maken voor het geval er een ongeluk gebeurt. Ten slotte is er de nieuwe animatiemodus waarin de gebruiker nieuwe animaties kan kiezen of toevoegen om voor het bord te spelen.
Nieuwe animaties zijn onder meer -
Fading Colors - Vervaagt periodiek willekeurige kleuren.
Breathing Rainbow - Beweegt kleuren van de regenboog in één grote horizontale lijn.
Animaties werken meer aan de Arduino-kant dan aan de telefoonkant. Wanneer ingedrukt, stuurt de telefoon een regel code voor de Arduino om uit te voeren (bijvoorbeeld) "A;0\n". "A" staat voor Animatie en de "0" is de eerste animatie die wordt ingedrukt en dat is Fade Colors. De Arduino leest de 0 en speelt de vervaagde kleurenanimatie af.
Aanbevolen:
Coderen met IOS-codeblokken: 6 stappen
Coderen met IOS-codeblokken: coderen met iOS is een unieke manier om uw iOS-apparaat automatiseringen te laten doen, het nieuws op te halen, cyberoorlogsvoering te starten en zelfs sms-berichten te plannen. Voor deze instructable zullen we ons concentreren op cyberoorlogvoering, met name het spammen van vrienden en c
Autocorrectie voor slechts één woord uitschakelen (iOS): 3 stappen
Autocorrectie uitschakelen voor slechts één woord (iOS): Soms corrigeert Autocorrectie iets dat u niet wilt corrigeren, bijvoorbeeld. tekstafkortingen beginnen zichzelf allemaal hoofdletters te maken (imo corrigerend naar IMO bijvoorbeeld). Hier leest u hoe u het kunt dwingen om te stoppen met het corrigeren van één woord of zin, zonder aut
Herinnering schermtijdgebruik (werkt alleen op Windows, iOS werkt niet): 5 stappen
Herinnering schermtijdgebruik (werkt alleen op Windows, Ios werkt niet): Inleiding Dit is een handige machine gemaakt van Arduino, het herinnert je eraan om te rusten door een "biiii!" geluid en uw computer terug te laten gaan naar het vergrendelscherm na 30 minuten schermtijd te hebben gebruikt. Na 10 minuten rusten zal het "b
Maak een veilige zone voor Android/IOS/WIN10-apparaten om ontgrendeld te blijven: 6 stappen
Maak een veilige zone voor Android/IOS/WIN10-apparaten om ontgrendeld te blijven: in dit artikel willen we een coole gadget maken die een veilige zone kan maken voor je apparaten om te worden ontgrendeld. Aan het einde van dit project: leer je hoe je een vingerafdruksensor gebruikt. leer je hoe je je apparaten kunt koppelen met je safe zone-gadget
Niet-ondersteunde controllers gebruiken met een IOS 9.3.5-apparaat: 23 stappen
Niet-ondersteunde controllers gebruiken met een IOS 9.3.5 Apparaat: Benodigde materialen: PlayStation 4-controller Lightning-oplaadkabel Laptop met Windows 10 iPod Touch 5e generatie laptopmuis Respectieve oplaadkabel van laptop