Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Earth_Analyzer

Componenten en benodigdheden

Bolt IoT Bolt WiFi-module
× 1
Arduino UNO
× 1
Arduino Nano R3
× 1
nRF24l01
× 2
DC-motor, 12 V
× 2
DFRobot Solar Power Manager voor 12V loodaccu
× 1
SparkFun Dual H-Bridge motordrivers L298
× 1
Jumperdraden (algemeen)
× 1
LM35
× 1
DFRobot Zwaartekracht:analoge capacitieve bodemvochtsensor - corrosiebestendig
× 1
SG90 Micro-servomotor
× 1
Joystick, 10 kohm
× 1

Benodigde gereedschappen en machines

Soldeerbout (algemeen)
Soldeerdraad, loodvrij
Soldeervloeistof, solderen
Multitool, schroevendraaier

Apps en online services

Arduino IDE
Bolt IoT Bolt Cloud
integromat
Twilio SMS Messaging API
mailgun
Bolt IoT Android-app
Bolt IoT iOS-app

Over dit project

HALLO, HALLO IEDEREEN

Dit project gaat vooral over de rover voor aarde die boeren kan helpen. Dit project bevat voornamelijk drie modulus.

MODULE 1:

Hardware-aansluitingen voor de complete installatie houden nu rekening met de gelijkstroommotoren.

Dit vereist de twee gelijkstroommotoren en een motorstuurprogramma. motor driver bevat

Hier moet je de v +, en1, en2, verbinden met het enkele punt in breadboard en motor vier draden naar de vier input in de 1 ma 2 pinnen. Nu zijn de outputpinnen van de motordriverpin verbonden met de arduino en batterij moet als volgt worden aangesloten.

Nu moeten we ze aansluiten op de bout. Dezelfde vier pinnen moeten worden aangesloten op de digitale pinnen van de bout (0, 1, 2, 3).

nu moet de bodemsensor op de bout worden aangesloten, maar de digitale pen op de bout plaatsen (digitale 4-pins). Nu is het eindelijk tijd om de temperatuursensor aan te sluiten op de analoge pen van de bout (A0).

Nu deze keer alle aarde en de v+(temperatuursensor, vochtsensor), en1, en2 naar de 5v van de arduino en tenslotte moet deze alle pin worden voorzien van de benodigde spanningsbatterijen.

MODULE 2:

NRF-VERBINDINGEN:

Het bovenstaande diagram wordt de nrf-module genoemd die wordt gebruikt voor radiocommunicatie. Het bovenstaande diagram moet ook in ons circuit worden opgenomen om de auto in de nabije gebieden te besturen.

LAATSTE VERBINDING VAN DE NRF MET DE ARDUINO

NU IS HET TIJD OM JOY STICKS TE VERBINDEN:

Er worden twee joysticks gebruikt:

1) om de richting van de auto te regelen.

2) om de servo te besturen.

MODULE 3:

LAATSTE CODERING

1)ARDUINO-CODERING:

zender:

#include 
#include
#include
#include
#include

RF24-radio(7, 8); // CSN, CE
const byte-adres [6] ="00001";

int x_key =A1;
int y_key =A0;
int p_key =A3;
int q_key =A2;
int x_pos;
int y_pos;
int p_pos;
int q_pos;

void setup() {
radio.begin();
radio.openWritingPipe(adres)
;
radio.setPALevel(RF24_PA_MIN);
radio.setChannel(87);
radio.setDataRate(RF24_
250KBPS);
radio.stopListening();

Serial.begin(9600);
pinMode (x_key, INPUT);
pinMode (y_key, INPUT);
pinMode (p_key, INPUT);
pinMode (q_key, INPUT);
}
int pos;
void loop() {
x_pos =analogRead (x_key);
y_pos =analogRead (y_key);
p_pos =analogRead (p_key);
q_pos =analogRead (q_key);
Serial.println(x_pos);
Serial.println(y_pos);
Serial.println(p_pos);
Serial.println(q_pos);
if ( p_pos>400 &&p_pos<600 &&q_pos>400 &&q_pos<600)
{
if(x_pos>400 &&x_pos<600 &&y_pos>400 &&y_pos<600)
{
pos=100;
radio.write(&pos, sizeof(pos));
}
if(x_pos>400 &&x_pos<600 &&y_pos<400)
{
pos=200;
radio.write(&pos, sizeof(pos));
}
if(x_pos>400 &&x_pos<600 &&y_pos>600)
{
pos=300;
radio.write(&pos, sizeof(pos));
}
if(y_pos>400 &&y_pos<600 &&x_pos<400)
{
pos=400;
radio.write(&pos, sizeof(pos));
}
if(y_pos>400 &&y_pos<600 &&x_pos>600 )
{
pos=500;
radio.write(&pos, sizeof(pos));
}
Serial.println(pos);
delay(100);
}
else if(p_pos<400 || p_pos>600)
{
if(p_pos<400)
{
pos=600;
radio.write(&pos, sizeof(pos));
}
if(p_pos>600)
{
pos=700;
radio.write(&pos, sizeof(pos));
}
delay(100);
}
}

ontvanger:

#include 
#include
#include
#include
#include
#include
Servo servo;

RF24 radio(7, 8); // CSN, CE
const byte-adres [6] ="00001";
int servo_pin =9;
int sensor_pin=A0;
int output_value;

void setup() {
Serial.begin(9600);
radio.begin();
servo.attach (servo_pin );
radio.openReadingPipe(0, adres);
radio.setPALevel(RF24_PA_MIN);
radio.setChannel(87);
radio.setDataRate(RF24_250KBPS);
radio.startListening();
}
int pos;
void loop() {
if (radio.available()) {
radio.read(&pos, sizeof(pos));
Serial.println(pos);
if(pos==100)
{
digitalWrite(6,LOW);
digitalWrite(5,LOW);
digitalWrite (4,LAAG);
digitalWrite(3,LAAG);
// Serial.println("gk0");
}
else if (pos==200){
digitalWrite(6,HOOG);
digitalWrite(5,LAAG);
digitalWrite(4,HOOG);
digitalWrite(3,LAAG);
vertraging( 10);
// Serial.println("gk1");
}
else if (pos==300){
digitalWrite(6,LOW);
digitalWrite(5,HOOG);
digitaal Write(4,LOW);
digitalWrite(3,HIGH);
delay(10);
// Serial.println("gk2");
}
else if (pos==400){
digitalWrite(6,LOW);
digitalWrite(5,HIGH);
digitalWrite(4,HIGH);
digitalWrite(3 ,LOW);
vertraging(10);
// Serial.println("gk3");
}
else if (pos==500){
digitalWrite(6,HOOG);
digitalWrite(5,LAAG);
digitalWrite(4,LAAG);
digitalWrite(3,HOOG);
vertraging(10);
// Serial.println("gk5");
}
else if (pos==600){
servo.write(90);
vertraging(10 );
// Serial.println("gk6");
}
else if (pos==700){
servo.write(180);
delay( 10);
// Serial.println("gk7");

}
}
else
{
Serial.println( "verbinding verbroken");
}
}
}

nu om een ​​telegrambericht te ontvangen :(servercode)

log in op een van de servers zoals ripl.it en upload vervolgens de codes

hoofd.py

importverzoeken # voor het maken van HTTP-verzoeken
import json # bibliotheek voor het verwerken van JSON-gegevens
importtijd # module voor slaapstand
vanuit boltiot import Bolt # importeer Bolt uit boltiot-module
import conf # config file
mybolt =Bolt(conf.bolt_api_key, conf.device_id)
def get_sensor_value_from_pin(pin):
try:
response =mybolt.digitalRead (pin)
data =json.loads(respons)
if data["succes"] !=1:
print("Verzoek niet succesvol")
print("Dit is de respons->", data)
return -999
sensor_value =int(data["value"])
return sensor_value
behalve uitzondering als e:
print("Er is iets misgegaan bij het retourneren van de sensorwaarde")
print(e)
return -999
def send_telegram_message(message):
"""Stuurt bericht via Telegram" ""
url ="https://api.telegram.org/" + conf.telegram_bot_id + "/sendMessage"
data ={
"chat_id":conf.telegram_chat_id,
"text":bericht
}
probeer:
re sponse =requests.request(
"GET",
url,
params=data
)
print("Dit is het antwoord van Telegram")
print(response.text)
telegram_data =json.loads(response.text)
retourneer telegram_data["ok"]
behalve Exception as e:
print("Er is een fout opgetreden bij het verzenden van het waarschuwingsbericht via Telegram")
print(e)
retourneer False
terwijl True:
# Stap 1
sensor_value =get_sensor_value_from_pin("4")
print("De huidige sensorwaarde is:", sensor_value)
# Stap 2
if sensor_value ==-999:
print("Verzoek is niet gelukt. Overslaan.")
time.sleep(10)
verder
# Stap 3
if sensor_value>=conf.threshold:
print("De huidige temperatuurwaarde is ")
message ="De vochtigheidswaarde is net groter dan de drempel "
telegram_status =send_telegram_message(message)
print("Dit is de Telegram-status:", telegram_status)
# Stap 4
time.sleep(100)

conf.py:

"""Configuraties voor telegram_alert.py"""
bolt_api_key ="XXXX" # Dit is uw Bolt Cloud API-sleutel
device_id ="XXXX" # Dit is de apparaat-ID en zal vergelijkbaar zijn met BOLTXXXX waar XXXX enkele getallen is
telegram_chat_id ="@XXXX" # Dit is de kanaal-ID van het aangemaakte Telegram-kanaal. Plakken na @
telegram_bot_id ="botXXXX" # Dit is de bot-ID van de aangemaakte Telegram Bot. Plakken na bot
drempel =0 # Drempel waarboven de waarschuwing moet worden verzonden

voer uw bot- en api-waarden in

PROCES:

Waarschuwingsberichten via Telegram

Wat is Telegram?

Telegram is een berichten-app vergelijkbaar met WhatsApp. U kunt naast bestanden ook berichten verzenden en ontvangen. Het is GRATIS te gebruiken. Je hebt toegang tot het platform via je Android/iOS/Windows-telefoon en ook via je pc of Mac.

Enkele Telegram-terminologieën -

Wat is een Telegram-kanaal?

Een kanaal is voor Telegram wat groepen zijn voor WhatsApp. Kanalen zijn een hulpmiddel om uw berichten naar een groot publiek uit te zenden. Ze kunnen een onbeperkt aantal abonnees hebben, ze kunnen openbaar zijn met een permanente URL en elk bericht in een kanaal heeft zijn eigen weergaveteller.

Wat is een Bot?

Bots zijn applicaties van derden die binnen Telegram worden uitgevoerd. Gebruikers kunnen met bots communiceren door ze berichten, opdrachten en verzoeken te sturen.

We zullen Bots gebruiken om waarschuwingen te sturen op ons kanaal.

Wat gaan we leren in dit project?

In dit project kun je via Telegram waarschuwingen naar je telefoon sturen wanneer de sensorwaarde je ingestelde drempel overschrijdt.

Wat heb ik nodig voor dit project?

Om waarschuwingen en berichten via Telegram te verzenden, heb je nodig,

  • Een Android/iOS/Windows-telefoon met internetverbinding.
  • Een Telegram-account. U heeft hiervoor een mobiel nummer nodig.
  • Toegang tot uw Ubuntu-besturingssysteem via puTTY of virtuele machine.

Telegram instellen

Stappen om u aan te melden voor/aanmelden bij Telegram

  • Ga naar de Playstore of App Store op je telefoon en zoek naar Telegram.
  • Download en installeer de nieuwste versie van de Telegram-app.
  • Meld u aan voor een nieuw account of meld u aan bij Telegram door uw mobiele nummer op te geven.
  • Telegram zal u bellen OF u een sms sturen om uw mobiele nummer te verifiëren.
  • Laat uw account verifiëren en keur indien nodig eventuele machtigingen goed.
  • U bent aangemeld bij Telegram en krijgt een scherm te zien dat lijkt op het onderstaande. (Het is oké als het afwijkt van de onderstaande schermafbeelding)

U hebt Telegram met succes geïnstalleerd en uw account ingesteld. In de volgende lessen leren we meer over kanalen en bots.

Een kanaal maken

Wat is een Telegram-kanaal?

Een kanaal is voor Telegram wat groepen zijn voor WhatsApp. Kanalen zijn een hulpmiddel om uw berichten naar een groot publiek uit te zenden. Ze kunnen een onbeperkt aantal abonnees hebben, ze kunnen openbaar zijn met een permanente URL en elk bericht in een kanaal heeft zijn eigen weergaveteller.

Stappen om een ​​kanaal te maken

  • Ga naar het startscherm van de Telegram-app.
  • Veeg vanaf de linkerkant om het menu weer te geven.
  • Klik op 'Nieuw kanaal'.
  • Je wordt gevraagd om een ​​naam en beschrijving voor je kanaal. Geef een passende naam en omschrijving. Foto toevoegen is optioneel.
  • Stel in het volgende scherm het kanaal in op Openbaar.
  • Op hetzelfde scherm wordt je gevraagd om een ​​permanente link voor je kanaal in te voeren. Je kunt kleine letters en cijfers 0-9 gebruiken om de kanaallink te maken.
  • Houd er rekening mee dat de naam van de kanaallink globaal is en dat je alleen een kanaallink kunt maken als de linknaam beschikbaar is. De naam van de kanaallink lijkt op een e-mailadres, d.w.z. er kan slechts één unieke e-mail-ID tegelijk bestaan.
  • Je kunt de naam van de kanaallink behouden als temperature_alert_ gevolgd door je e-mail-ID. Als mijn e-mail-ID bijvoorbeeld [email protected] is, kan ik de naam van de kanaallink behouden als temperature_alert_developer_boltiot_com (Ik heb het @ en. symbool verwijderd omdat het niet was toegestaan ​​en vervangen door een onderstrepingsteken _). Dit is slechts een suggestie. Je kunt de naam van de kanaallink behouden zolang deze geldig is.
  • Houd een notitie van de naam van de permanente link van dit kanaal. Het is later nodig om berichten naar dit kanaal te sturen. De naam van de kanaallink in de onderstaande schermafbeelding is bijvoorbeeld " temperature_alert".
  • Gefeliciteerd! Je hebt een nieuw kanaal aangemaakt. Je kunt dit kanaal ook bekijken vanaf het startscherm van je app.
  • Je kunt bovenaan op de kanaalnaam klikken om er meer informatie over te zien.
  • Vervolgens moeten we een bot maken en aan het kanaal toevoegen zodat deze waarschuwingen voor ons in dit kanaal kan plaatsen.

Maak een Bot

Wat is een Bot?

Bots zijn applicaties van derden die binnen Telegram worden uitgevoerd. Gebruikers kunnen met bots communiceren door ze berichten, opdrachten en verzoeken te sturen.

We zullen Bots gebruiken om waarschuwingen te sturen op ons kanaal.

Maak een nieuwe Bot

Met Telegram kunnen we een nieuwe bot maken met behulp van een bot die "BotFather" wordt genoemd. Het is een enkele bot om andere bots te maken en te beheren.

  • Klik in het startscherm van de app op het zoekpictogram in de rechterbovenhoek en typ "botfather".
  • Klik in de zoekresultaten op het juiste resultaat voor "BotFather", zoals hieronder weergegeven. De juiste "BotFather" heeft een blauw vinkje naast zijn naam. Dit brengt je naar een chatvenster met de "BotFather".
  • De chat heeft al een paar items en geeft je een lijst met opdrachten om aan de slag te gaan.
  • Omdat we een nieuwe bot moeten maken, typ je "/newbot" in het venster.
  • Je wordt gevraagd om nog een paar details in te voeren, zoals Bot-naam en Bot-gebruikersnaam.
  • Als uw bot succesvol is gemaakt, krijgt u een scherm te zien dat lijkt op het onderstaande en bevat het de bottoken. Dit token wordt gebruikt om uw Bot te besturen en namens hem berichten te verzenden. Bewaar deze token veilig, want hiermee kan iedereen toegang krijgen tot uw Bot.
  • In de bovenstaande schermafbeelding is het Bot-token "894346529:AAhuJ2XJQy5dlEtLYF0sc0Z_qu0fSqihSSc". Sla het op als telegram_bot_id. De telegram_bot_id wordt opgeslagen als "bot", gevolgd door het bottoken. In dit voorbeeld is de telegram_bot_id dus "bot894346529:AAhuJ2XJQy5dlEtLYF0sc0Z_qu0fSqihSSc".
  • De telegram_bot_id wordt gebruikt in de python-code om berichten te verzenden. De python-code wordt in de latere lessen geleerd.
  • Wees ook voorzichtig bij het opslaan van de Bot-ID. U kunt in de war raken tussen 0 en O, I en 1 enz. omdat ze er hetzelfde uitzien.
  • Gefeliciteerd, je hebt een nieuwe Bot gemaakt. Nu moeten we het toevoegen aan het kanaal dat we eerder hebben gemaakt, zodat we waarschuwingen kunnen sturen.

Voeg de bot toe aan kanaal

  • Open vanuit het startscherm van de app het kanaal dat we eerder hebben gemaakt.
  • Klik in het scherm op de kanaalnaam bovenaan om de informatie voor het kanaal te openen.
  • Klik op de knop Beheerders zodat we de nieuw gemaakte bot aan het kanaal kunnen toevoegen.
  • Zoek naar de bot die we hebben gemaakt met de gebruikersnaam van de Bot. Zodra je de juiste Bot hebt gevonden, klik je erop om deze aan het kanaal toe te voegen. Zorg ervoor dat je in de vorige stap op de Beheerders-knop hebt geklikt, omdat onze bot dan op het kanaal kan posten.
  • U wordt gevraagd om de rechten voor de bot te bevestigen. Druk op het vinkje in de rechterbovenhoek om door te gaan met het toevoegen van de bot aan het kanaal. Zorg ervoor dat de bot de rechten heeft om "Berichten te plaatsen".
  • Je ziet nu de nieuw gemaakte Bot in de lijst met beheerders voor het kanaal.
  • Nu gaan we coderen voor het verzenden van berichten naar het kanaal via de Bot.

NU HET NETWERK INSTELLEN VOOR TWILLO EN MAIL GUN

Ontvang de LM35-temperatuursensorwaarden via sms en e-mail op elk moment op uw mobiele telefoon met Google Assistant.

Wat doet u als u op elk moment de sensorwaarden van uw IoT-project moet controleren? U logt gewoon in op uw cloud om deze te controleren. Lijkt simpel, toch? Maar wat als u de waarden eens per uur of eens in de paar minuten zou moeten controleren en dat te vaak op een dag. Dat zou een beetje (zeer) omslachtig zijn, toch? Stel je nu een wereld voor waarin je de sensorwaarden via sms en e-mail kunt krijgen door gewoon te zeggen "Stuur me de sensorwaarden" naar je Google Assistent. Wacht wacht wacht. Die situatie is niet meer denkbeeldig omdat u dat zelf in een paar stappen zou kunnen doen. Lees verder om erachter te komen.

In dit project ontvangen we de temperatuursensorwaarden van de LM35-sensor via sms en e-mail via een opdracht aan Google Assistant.

Stap 1:Hardware-installatie

Houd de LM35 sensor zo in je hand dat de naam voor je zichtbaar is. De drie pinnen, van links naar rechts, zijn VCC, output en GND. Sluit de drie pinnen aan op vrouwelijke-naar-mannelijke draden. Sluit de drie draden, overeenkomend met de drie pinnen van links naar rechts, aan op de 5 V-, A0- en GND-pinnen op de Bolt WiFi-module. Sluit de wifi-module aan op een 5 V-stroombron. Zorg ervoor dat het is verbonden met een actieve internetverbinding.

Stap 2:Een IFTTT-module maken in Integromat

Log in op uw Integromat-account. Als u zich nog niet heeft aangemeld bij Integromat, kunt u een account aanmaken door hier te klikken. Klik na het inloggen op "Maak een nieuw scenario aan" rechtsboven in het scherm. Selecteer IFTTT, HTTP, Mailgun en Twilio in het scherm om de benodigde tools te selecteren en klik vervolgens op "Doorgaan". Klik vervolgens op de witte cirkel en selecteer IFTTT in de lijst en selecteer vervolgens "Gegevens ontvangen" in het menu. Deze module is essentieel om hem te verbinden met de applet op IFTTT, die later zal worden besproken. Klik op "Toevoegen" om een ​​nieuwe webhook toe te voegen, geef er een passende naam aan en klik op "Opslaan". Nu krijgt u een URL of link. Bewaar het voor andere doeleinden.

Stap 3:Een HTTP-module maken in Integromat

Klik vervolgens op het "+"-symbool dat aan de module is bevestigd om een ​​nieuwe module toe te voegen. Selecteer "HTTP" gevolgd door "Een verzoek doen". Dit is nodig om de sensorwaarden van de Bolt Iot Cloud te ontvangen. Plak in de URL de link https://cloud.boltiot.com/remote/your-bolt-iot-api-key/analogRead?pin=A0&deviceName=BOLTXXXXXXX. Vervang "your-bolt-iot-api-key" en "BOLTXXXXXXX" door uw respectieve inloggegevens die u gemakkelijk kunt vinden in uw Bolt Iot Cloud. Laat de methode "GET" zijn en klik op "OK".

De bovenstaande link wordt gebruikt om de sensorwaarden op te halen uit Bolt Iot Cloud. De uitvoer van de bovenstaande link zal de vorm hebben van {"value":"XXX", "success":"1"} waarbij XXX de sensorwaarden zijn.

Stap 4:Een Mailgun-module maken in Integromat

Klik nu opnieuw op "+" en typ "Flow Control" in het zoekvak en selecteer het gevolgd door "Router". Er moeten twee witte cirkels worden gemaakt. Klik op de eerste witte cirkel en selecteer "Mailgun" gevolgd door "Stuur een e-mail". Hier wordt Mailgun gebruikt om de e-mail met de temperatuur te ontvangen. Als je al een account hebt in Mailgun, dan moet je de API-sleutel en domeinnaam hebben die je gemakkelijk kunt vinden in je Mailgun-account. Als u geen account in Mailgun heeft, kunt u de onderstaande alternatieve stap volgen. Vul de gevraagde gegevens in. Typ de e-mail van de ontvanger (dit is uw e-mailadres). Typ in het veld "Afzender" "test@uwdomeinnaam". In het gedeelte "Inhoud" moeten we de temperatuurwaarde schrijven en niet de sensorwaarde. Om de temperatuurwaarde om te rekenen naar de sensorwaarde moeten we het getal delen door 10,24. Om de sensorwaarde in de vorm XXX te krijgen, moeten we alle andere tekens verwijderen waarvoor we de functie "substring" gebruiken. Klik op het "A"-symbool in het dialoogvenster ernaast en selecteer "substring".

Klik in de eerste spatie binnen de haakjes op de optie "Data" onder het stersymbool gevolgd door "11" en "14" in de tweede spatie en derde spatie. Strikt genomen is dit niet de juiste methode om de sensorwaarde op te halen, dus gebruik ik een hack om te krijgen. Als iemand de juiste manier weet, kunnen ze de methode vermelden in het commentaargedeelte hieronder.

Dit laatste wordt gedaan om alleen de "XXX" van de uitvoer vast te leggen. Dit getal wordt vervolgens gedeeld door 10,24

Voordat u het scenario opslaat, vergeet dan niet om "Planning" onderaan het scherm in te schakelen en "Senario uitvoeren" te selecteren als "Onmiddellijk". Je uiteindelijke scenario zou er als volgt uit moeten zien.

Stap 6 :Een nieuwe applet maken in IFTTT

Log in op uw IFTTT-account. If you haven't signed up on IFTTT, then you can create an account by clicking here. After logging in, click on "New Applet" under the "My Applets" section. Click on "+this" followed by "Google Assistant" after searching for it in the search box. Click on "Say a simple phrase" in the following screen. Type the command for which you want to trigger the required action.

Click on "Trigger" followed by "+that". Search for "Webhooks" in the search box and select it followed by selecting "Make a web request" in the following screen. In the URL field, paste the link which we got in Step 2 after creating an IFTTT module in Integromat. This step is very essential to run the scenario in Integromat when you say the command to Google Assistant. Afterwards, select "POST" in method and click on "Create Action". Write a suitable name for the applet and select "Finish".

Dat is het. Now see the magic when you take out your mobile phone and say "Ok Google, send the temperature sensor value."

Schematics

Connecting female-to-male wires to LM35 sensor

Connecting female-to-male wires to the Bolt WiFi module

Final connection

THAT'S IT NOW UPLOAD EVERY THING AND THEN CHECK.

IF ANY DOUBTS CONTACT ME BY COMMENT SECTION.

THANK YOU....................................


Code

  • FINAL RECEIVER
  • FINAL TRANSMITER
FINAL RECEIVERArduino
#include #include #include #include #include #include Servo servo;RF24 radio(7, 8); // CSN, CEconst byte address[6] ="00001";int servo_pin =9;int sensor_pin=A0;int output_value;void setup() { Serial.begin(9600); radio.begin(); servo.attach (servo_pin ); radio.openReadingPipe(0, address); radio.setPALevel(RF24_PA_MIN); radio.setChannel(87); radio.setDataRate(RF24_250KBPS); radio.startListening();}int pos;void loop() { if (radio.available()) { radio.read(&pos, sizeof(pos)); Serial.println(pos); if(pos==100) { digitalWrite(6,LOW); digitalWrite(5,LOW); digitalWrite(4,LOW); digitalWrite (3, LAAG); // Serial.println("gk0"); } else if (pos==200){ digitalWrite(6,HIGH); digitalWrite(5,LOW); digitalWrite(4,HIGH); digitalWrite (3, LAAG); vertraging(10); // Serial.println("gk1"); } else if (pos==300){ digitalWrite(6,LOW); digitalWrite(5,HIGH ); digitalWrite(4,LOW); digitalWrite(3,HIGH); vertraging(10); // Serial.println("gk2"); } else if (pos==400){ digitalWrite(6,LOW); digitalWrite(5,HIGH ); digitalWrite(4,HIGH); digitalWrite (3, LAAG); vertraging(10); // Serial.println("gk3"); } else if (pos==500){ digitalWrite(6,HIGH); digitalWrite(5,LOW ); digitalWrite(4,LOW); digitalWrite(3,HIGH); vertraging(10); // Serial.println("gk5"); } else if (pos==600){ servo.write(90); vertraging(10); // Serial.println("gk6"); } else if (pos==700){ servo.write(180); vertraging(10); // Serial.println("gk7"); } } else { Serial.println("connection lost"); } }
FINAL TRANSMITERArduino
#include #include #include #include #include RF24 radio(7, 8); // CSN, CEconst byte address[6] ="00001";int x_key =A1; int y_key =A0; int p_key =A3; int q_key =A2; int x_pos;int y_pos;int p_pos;int q_pos;void setup() { radio.begin(); radio.openWritingPipe(address); radio.setPALevel(RF24_PA_MIN); radio.setChannel(87); radio.setDataRate(RF24_250KBPS); radio.stopListening(); Serieel.begin(9600); pinMode (x_key, INPUT); pinMode (y_key, INPUT); pinMode (p_key, INPUT); pinMode (q_key, INPUT); }int pos;void loop() { x_pos =analogRead (x_key); y_pos =analogRead (y_key); p_pos =analogRead (p_key); q_pos =analogRead (q_key); Serial.println(x_pos); Serial.println(y_pos); Serial.println(p_pos); Serial.println(q_pos); if (p_pos>400 &&p_pos<600 &&q_pos>400 &&q_pos<600) { if(x_pos>400 &&x_pos<600 &&y_pos>400 &&y_pos<600) { pos=100; radio.write(&pos, sizeof(pos)); } if(x_pos>400 &&x_pos<600 &&y_pos<400) { pos=200; radio.write(&pos, sizeof(pos)); } if(x_pos>400 &&x_pos<600 &&y_pos>600) { pos=300; radio.write(&pos, sizeof(pos)); } if(y_pos>400 &&y_pos<600 &&x_pos<400) { pos=400; radio.write(&pos, sizeof(pos)); } if(y_pos>400 &&y_pos<600 &&x_pos>600) { pos=500; radio.write(&pos, sizeof(pos)); } Serial.println(pos); delay(100);}else if(p_pos<400 || p_pos>600){ if(p_pos<400) { pos=600; radio.write(&pos, sizeof(pos)); } if(p_pos>600) { pos=700; radio.write(&pos, sizeof(pos)); } delay(100);}}

Schema's


Productieproces

  1. Arduino Spybot
  2. FlickMote
  3. Zelfgemaakte tv B-Gone
  4. Hoofdklok
  5. Vind mij
  6. Arduino Power
  7. Tech-TicTacToe
  8. Arduino Quadruped
  9. LED-helderheid regelen met Bolt en Arduino
  10. Arduino-joystick
  11. CNC-machine