Combineren van 1 of meer Arduinos met een RaspberryPi (3 / 6 stap)

Stap 3: De Code

Download dit programma uw RaspberryPi.

Compileer het met het commando:

gcc -o DRCtest DRCtest.c - lwiringPi - lpthread

En voeren met de opdracht:

sudo. / DRCtest

 /************************************************************************ * DRCtest.c - Test program for Drogon Remote Control. (DRC) * * On the first Arduino: * LEDs are connected to pins nine and eleven, with 560 Ohm current limiting resistors. * A push button switch is connected to pin five, with a 10K pull-down resistor. * A resistive sensor is connected to analog pin zero, with a 10K pull-down resistor. * The only connection to the RaspberryPi is the USB cable. * The program in the RaspberryPi is controling the Arduino. * The DRC.ino program must be installed and running. * * Nothing is connected to the second Arduino. * * On the RaspberryPi: * LEDs are connected to pins nine and eleven, with 560 Ohm current limiting resistors. * A push button switch is connected to pin five, with a 10K pull-down resistor. * The pin numbers for the RaspberryPi use the wiringPi pin numbering scheme. * * The loop() function does a digitalRead of the push button on the Arduino * and digitalWrites the value to the both red LEDs * Next it performs an analogRead of the force sensitive resistor, divides * the value by four, and pwmWrites the value to both green LEDs. * Then is does a digitalRead of the push button on the RaspberryPi * and digitalWrites the value to the both red LEDs * ************************************************************************/ 
 #include <stdio.h> #include <wiringPi.h> #include <drcserial.h> #define BASE 100 #define BASE2 200 
 /***************************************************************************** * The second thread blinks the built in LED on pin 13 of the Second Arduino. * The code here runs concurrently with the main program in an infinite loop. *****************************************************************************/ PI_THREAD(arduino2) { for(;;) { digitalWrite(BASE2+13, HIGH); // Turn pin 13 on. delay(500); digitalWrite(BASE2+13, LOW); // Turn pin 13 off. delay(500); } } 
 /************************************************************************** * setup() function **************************************************************************/ void setup(void) { wiringPiSetup(); drcSetupSerial(BASE, 20, "/dev/ttyACM0", 115200); drcSetupSerial(BASE2, 20, "/dev/ttyACM1", 115200); int x = piThreadCreate(arduino2); // Start second thread. if (x != 0) printf("It didn't start.\n"); // Pins on Arduino: pinMode (BASE+11, PWM_OUTPUT); // Reset pin to maximum value pwmWrite(BASE+11, 255); // after PWM write. pinMode (BASE+5, INPUT); // Pin 5 used for digitalRead. pinMode (BASE+9, PWM_OUTPUT); // Pin 9 used for pwmWrite. // Pin A0 is used for analogRead. // Pins on second Arduino: pinMode (BASE2+13, OUTPUT); // Pin 13 used for digitalWrite. // Pins on RaspberryPi: pinMode(0, OUTPUT); // Pin 0 used for digitalWrite. pinMode(5, INPUT); // Pin 5 used for digitalRead. pinMode(1, PWM_OUTPUT); // Pin 1 used for pwmWrite. } 
 /************************************************************************** * loop() function **************************************************************************/ void loop(void) { digitalWrite(BASE+11, digitalRead(BASE+5)); // If Arduino button is pressed digitalWrite(0, digitalRead(BASE+5)); // turn on both red LEDs. pwmWrite(BASE+9, (analogRead(BASE)/4)); // Varies the brightness of both green pwmWrite(1, (analogRead(BASE)/4)); // LEDs according to pressure applied // to the force sensitive resistor. digitalWrite(BASE+11, digitalRead(5)); // If RaspberryPi button is pressed digitalWrite(0, digitalRead(5)); // turn on both red LEDs. } 
 /************************************************************************** * main() function **************************************************************************/ int main (void) { setup(); for(;;) { loop(); } return 0 ; } 

Gerelateerde Artikelen

Hoe de controle van de arduino met een mail

Hoe de controle van de arduino met een mail

Er zijn een heleboel oplossingen waarmee een Arduino board: web oplossingen, desktop applicatie oplossingen, hardwareoplossingen. Maar hoe zit het met e-mail? Ja, vind je iets op het web, maar ze nodig hebben voor ethernet schilden en vaak is Arduino
Hoe te uploaden schetsen naar een Arduino met een kapotte Usb Port / Chip

Hoe te uploaden schetsen naar een Arduino met een kapotte Usb Port / Chip

Welkom bij mijn allereerste instructable :)Enige tijd geleden, ik had een sensor aangesloten op mijn Arduino Nano, maar de sensor werkte niet, dus heb ik besloten om mijn multimeter om te controleren de verbindingen. Ik een eind te maken op de 5 v-pi
Programmering Arduino met een Arduino

Programmering Arduino met een Arduino

Dit is mijn eerste Instructable. In dit Instructable ga ik u tonen hoe te programmeren van een Arduino met een Arduino. Er zijn geen stuurprogramma's nodig! Dit Instructable is ook handig voor het uploaden van schetsen aan de Chinese ArduinoStap 1: D
Program je Arduino met een Android toestel!

Program je Arduino met een Android toestel!

Halloin dit Instructable die ik wil je laten zien, kunt hoe u programmeren uw Arduino met uw Androïde apparaat. Het is zeer eenvoudig en goedkoop. Ook het laat ons toe om onze Arduino program waar ooit wij wilt, dit is nuttig voor permanent geïnstall
Hoe digitaliseren van dia's en negatieven met een DSLR film

Hoe digitaliseren van dia's en negatieven met een DSLR film

Een veelzijdig en stabiele setup voor het digitaliseren van dia's en negatieven met een DSLR of een camera met een macro-optie.Dit instructable is een update over het digitaliseren van 35mm negatieven (geupload juli 2011) met een aantal verbeteringen
Een Arduino met een ZIF-Socket bootload

Een Arduino met een ZIF-Socket bootload

Bootloading een Arduino met een ZIF-socket kunt u gemakkelijk programma een heleboel chips tegelijk zonder zorgen te maken over de pinnen mangelen. De reden hiervoor is dat de ZIF voor "zero insertion force staat", en zoals de naam al impliceert
Gebruik van een Arduino met een N64-controller

Gebruik van een Arduino met een N64-controller

er zijn tutorials die er voor het gebruik van een NES-controller met een Arduino, maar met behulp van de meer gecompliceerde N64-controller en de analoge joystick heeft een duidelijke aantrekkingskracht. Als u een Arduino rond hebt en wil niet te kop
Hoe te meten van de temperatuur zeer nauwkeurig met een Arduino en een TSYS01 Temperatuur Sensor Board.

Hoe te meten van de temperatuur zeer nauwkeurig met een Arduino en een TSYS01 Temperatuur Sensor Board.

Tijdens zijn studie in de Universiteit werden we uitgedaagd als onderdeel van een cursus werken in het ontwerpen van een doos met zeer nauwkeurige temperatuurregeling. Mocht het project te doen slagen, moesten meerdere vakken worden gebouwd en gebrui
Meten van Li-ion cel capaciteit met een arduino

Meten van Li-ion cel capaciteit met een arduino

Abstract: Programmeren van een arduino en bouw een circuit voor het meten van de bruikbare capaciteit van lithium-ion cellen.De motivatie voor dit project kwam tot stand omdat ik heb een heleboel 18650 lithium-ion-cellen die ik uit laptopbatterijen g
Controle van een Arduino met een horloge (TI eZ430 Chronos)

Controle van een Arduino met een horloge (TI eZ430 Chronos)

het horlogeDe Texas Instruments eZ430 Chronos is een coole gadget. Het heeft bidirectionele radiocommunicatie, en een gehele bos van sensoren: temperatuur, druk, versnelling.Het is in feite een development kit voor de MSP-430 (een low-power microcont
Beheren van 120-240 v wisselstroom met een relais met behulp van arduino

Beheren van 120-240 v wisselstroom met een relais met behulp van arduino

Ik ben gekomen over een heleboel instructables, tutorials, video's, waarin wordt beschreven hoe deze relais controle en dat is geweldig dat mensen maken deze. Maar elke één van hen vertelt me dat als ik niet hoe om te gaan met hoge spanningen weet, u
Android App MIT met behulp van de HC06 van de Bluetooth verbinding maken met een Arduino Uno

Android App MIT met behulp van de HC06 van de Bluetooth verbinding maken met een Arduino Uno

Speciale dank aan de volgende onlinebronnen voor getting mij begonnen...Willekeurige Nerd TutorialsForceTronics - youtubeStap 1: materialen:HC-06 Bluetooth-apparaatAndroid telefoon---ik heb een HTC 8, emulators voor iPhones zijn beschikbaar, maar ik
Controle van uw Arduino met een afstandsbediening

Controle van uw Arduino met een afstandsbediening

benieuwd over hoe om te controleren alles in uw huis met een eenvoudige afstandsbediening? Het is vrij eenvoudig en goedkoop.Stap 1: Verzamel spullen Hier is wat u nodig heeft:-Arduino (ik gebruik UNO)-Solderless breadboard-Een infrarood ontvanger-So
Macht van de Arduino met een mobiele telefoon

Macht van de Arduino met een mobiele telefoon

oude mobiele telefoons zijn makkelijk te verwerven, en ze hebben gebouwd in lithium opladen circuits. Wat een prachtige uitvalsbasis voor een voeding voor kleine mobiele dingen. Ik aangesloten een cellphone aan de arduino met de mogelijkheid om de mo