Stap 12: Draadloos Arduino programmering/seriële verbinding
Hebt u een Arduino project waar de dev-bestuur is vast binnen een machine, of gekoppeld aan de balken of advertentiebanner op een andere manier, een draadloze verbinding van de programmering/debuggen bespaart u ton van de tijd. Deze tutorial is een uitbreiding op Rob's versie. In deze tutorial is geen extra firmware of hardware (met uitzondering van een condensator) noodzakelijk. Gebruik gewoon de standaard bootloader. Ik gebruik een 'klassieke' Arduino maar natuurlijk dit gemakkelijk kan worden aangepast aan elke versie of kloon.
Je moet 2 XBee adapter kits, 2 matching-protocol XBee modules, een FTDI kabel (of andere FTDI breakout board, als u kunt de draad het omhoog correct) alsook een 0.1uF keramische condensator, 10Kohm weerstand en NPN-transistor. De weerstand en een condensator kunnen nogal variëren als u geen exacte waarden
Deze tutorial is bijgewerkt op 22 februari 2009 robuuster te maken het... het lijkt te werken een stuk beter met de correcties!
Stap 1. Configureren van de zender
Één XBee zal fungeren als de 'reset '-zender, het zal worden aangesloten op de computer via een FTDI kabel en draadloos verzenden programmeren van opdrachten naar de ontvanger. Laat dit een eerst instellen
De adapter van de zender met XBee modem op uw computer met behulp van de FTDI-kabel aansluiten
En start X-CTU, net als op de pagina configureren.
Zodra u aangesloten/getest hebt dat u met de modem communiceren kunt, ga naar het tabblad configureren en lezen in de huidige setup
Stel vervolgens de volgende:
De PAN-ID moet een 4-cijferige hex aantal dat alleen om verwarring te voorkomen zal worden gebruikt door deze twee modems-
Stel de baud-rate op 19200 als u van een Arduino met een 168 gebruikmaakt chip of oudere ' 328 p chip. U kunt de documentatie van de Arduino om erachter te komen welke baud-rate te gebruiken
Of 57600 als u een recentere Arduino met ' 328 p chip
Vervolgens stellen we de time-out van de Packetization. Dit is wat bepaalt hoe lang moet worden gewacht voordat het verzenden van de tekens. We doen sommige 'bulk-overdracht' bij het verzenden van 10K programma's, dus zult u waarschijnlijk willen van dit nummer hoog zoals 10
Pincode D3 te zijn van een digitale ingang instellen
En reeks de digitale IO verandering detecteren naar FF. technisch kunt u dit instellen op 0x08, oftewel het masker om te luisteren voor alleen D3 maar dit werkt zeker prima.
Nu is de zender geconfigureerd voor het verzenden van de huidige status van pin D3 naar elke luisteren modems.
Soldeer nu in een kleine jumper tussen de RTS pin en D3. Dit zal het binden van de status van D3 de status van de RTS pin die kan worden geconfigureerd als de 'arduino resetpin' worden gebruikt
Ten slotte setup de FTDI kabel zodat de RTS-pin wordt opnieuw ingesteld op de Arduino. Voor Mac/Linux dat zal al gebeuren, maar als u van Windows gebruikmaakt moet u een kleine wijziging aanbrengen in de voorkeuren voor stuurprogramma's. Selecteer de USB-COM-poort in de Device Manager,
Vervolgens vlak tikken en uitgezocht Eigenschappen
Klik op het tabblad Poortinstellingen , en klik op Geavanceerd...
Zorg ervoor dat RTS ingesteld op nauwe is geselecteerd. Klik op OK.
Stap 2. Configureren van de ontvanger
Wij zullen nu de andere XBee instellen zodat het op wijzigingen op pin D3 luisteren zal. Het verbinden met de FTDI kabel en lees in de huidige configuratie net zoals de eerste.
De PAN-ID moet overeenkomen met dat van de zender
De baud-rate 19200 of 57600 overeenkomt met de zender, opnieuw instellen
Vervolgens stellen we de time-out van de Packetization. Dit is wat bepaalt hoe lang moet worden gewacht voordat het verzenden van de tekens. We doen sommige 'bulk-overdracht' bij het verzenden van 10K programma's, dus zult u waarschijnlijk willen van dit nummer hoog zoals 10
Pincode D3 te zijn van een digitale uitgang, standaard hoog instellen.
De i/o-uitvoer ingesteld op uitgeschakeld. Dit zal verhinderen dat de ontvanger de statusupdate in de seriële lijn weer te geven en in plaats daarvan gewoon schakelen de overeenkomende pin.
Ten slotte stelt I/O lijn input adres doorgeven aan FFFF. Als u een unieke adressen voor de ontvanger en zender xbees ingesteld, natuurlijk moet u dit aan maar FFFF komt overeen met alle adressen.
Nu schrijven de wijzigingen aan de ontvanger XBee.
Stap 3. Kabellengte tot de ontvanger
De zender die XBee maakt rechtstreeks verbinding met de FTDI kabel/computer en de ontvanger is aangesloten op het doel van de Arduino. Ik gebruik hier een half-sized breadboard en rubber band omdat niet veel ruimte nodig is. Soldeer een draad van een pin D3 op de ontvanger XBee adapter, zodat u het op het breadboard aansluiten kunt. Dit is de lijn van de gespiegelde reset van de zender Xbee.
XBee van zijn vrij zwak en hebben niet de oomph opnieuw instellen van een Arduino op hun eigen, dus we het kabellengte moeten tot aan een transistor die de zware opheffing doen zal van de reset lijn naar beneden trekken. Vrijwel elke kleine NPN-transistor werkt prima hier. Zet een 0.01uF aan 0.1uF condensator in serie met de draad van de XBee en verbind de andere kant met de basis NPN-transistor. De zender van de transistor verbindt met grond. Zet een weerstand van ongeveer 10K tussen de basis en de emitter. Dit zal pull-down de base om te voorkomen dat de Arduino resetten per ongeluk.
De verzamelaar dan gaat de Arduino reset lijn. Zorg ervoor dat de gronden zijn allemaal verbonden, en dat de XBee uit 5V van de Arduino is aangesloten
Nu sluit de Arduino via de USB-kabel of een DC hetstopcontact. That's it! U kunt nu het herprogrammeren en ook kijken naar de seriële monitor van meer dan 100 voet weg. Vergeet niet dat de seriële monitor-- moet op de dezelfde baud-rate als programmeren omdat de XBees alleen bij hun geconfigureerde baud-rate kunt praten. U kunt ook AVRdude 'out of the box', die ik liever omdat je een mooie kleine voortgangsbalk. Gewoon ga naar de directory waar uw schets is opgeslagen en zoekt u het hexadecimaal bestand in de submap applet