Stap 11: Arduino Teensy software
Ik heb al gesproken over de grote hardwarespecificaties van de Teensy bestuur. Maar in combinatie met de Arduino software-omgeving, de Teensy biedt ook enkele grote mogelijkheden. Maar eerst laten we installeren de plug-in
Nu moet je een categorie "Teensy" zien wanneer u uw bord kiest. En als u het selecteert, dan hebt u toegang tot verschillende andere opties zoals de "USB-seriële Type" direct omzetten uw bord in een USB-toetsenbord of -muis (sommige mogelijkheden vindt u op Arduino Leonardo). Het type USB-communicatie is een "Full Speed", wat betekent dat het kan communiceren van 12Mb/s. U kunt ook de snelheid van de Raad van bestuur (op dit project ik gebruikte de overclock 92 MHz).
Voor nu, zijn alle van mijn Arduino UNO-codes met succes gebouwd op de Teensy waardoor de aanpassing tussen de ARM Cortex M4 en de AVR Atmega328 heel goed hebben gedaan. Ik heb geprobeerd te schrijven van de code te begrijpen. Hier is de structuur van de hoofdlus:
- A voor lus van 0 aan het aantal LED
-Sla een LED op (zoals de LEDs zijn aangesloten met de Anode op VCC en kathode op de PIN, u moet geven een lage stand te schakelen)
-ClearCCD(), de sensor moet worden uitgeschakeld zodra voordat de waarde wordt gelezen... Ik weet niet waarom. Als iedereen een idee heeft van hoe ik dit deel zou kunnen versnellen, zou ik zeer waarderen.
-readCCD(), lees de sensor, als een waarde hoger dan de kalibratie het is is opgeslagen en de functie als resultaat 1. Als iets hebben geconstateerd, is de flag_detect ingesteld op 1.
-De LED uitschakelen door (hoge staat voor OFF in deze configuratie)
- Iets is geconstateerd, dan de flag_detect is ingesteld op 1 als u de functie als. U kunt vervolgens uw kalibratie tussen de volgende:
-OPTIE 1; Stuur seriële monitor.
Fundamentele foutopsporing: met deze optie kunt u lezen de 16 clusters rechtstreeks op de seriële monitor.
-OPTIE 2; berekenen van positie + stuur seriële monitor
Foutopsporing positie: Stuur de coördinaten X en Y naar de seriële monitor
-OPTIE 3; Stuur verwerking interface
Foutopsporing visual: Kijk naar de resultaten van de CCD op een verwerking GUI. De interface is gonna moeten worden aangepast aan het aantal LED (16 standaard).
-OPTIE 4; berekenen van positie + Stuur Python Pi interface
De positie verzenden de PyQT-interface
-OPTIE 5; berekenen van positie + muis verzenden (alleen op Teensy)
Stuur de positie als een USB-muis interface. Gebruik deze optie hebt om te gaan naar "Tools" -> "USB Type" -> "Toetsenbord + muis + Joystick". (Zie de waarschuwing aan de onderkant van deze stap)
-OPTIE 6; berekenen van positie + toetsenbord verzenden (alleen op Teensy)
Stuur de positie als een USB-toetsenbord-interface. Gebruik deze optie hebt om te gaan naar "Tools" -> "USB Type" -> "Toetsenbord + muis + Joystick".
-OPTIE 7; Aanwijzen en klikken. Dezelfde als muis klikt u maar op in plaats van na de positie
- U kunt een vertraging uiteindelijk toevoegen aan het einde van de loop. Afhankelijk van de snelheid die u nodig
Waarschuwing: OPTIE 5 maakt gebruik van de opdracht mouse.mouveTo (X, Y) die niet werken op een Linux-station. Als u wilt dat dezelfde configuratie als ik met een Linux Raspberry Pi u wilt gebruiken de LELIJKE HACK gemaakt door Paul Stoffregen die lijkt zult te zijn een van de ontwikkelaars van de Teensy Project. Hij is echt goed en hij helpt veel met de foutopsporing als u vragen hebt. Bedankt Paul!
Voor deze hack, waarvan u de naam wilt wijzigen van een deel van het bestand naam usb_desc.c dat moet worden geïnstalleerd in de map van de Arduino. De nieuwe configuratie gegeven door Paul is iets anders, maar hij maakt het werk! Tegen die tijd, zit de mouse.move() functie niet werking anymore.