Met deze controller kan je vier verschillende motoren tegelijk besturen en komt met z’n eigen GPIO-bibliotheek waardoor het ontzettend makkelijk is verschillende motoren onafhankelijk van elkaar te besturen. En het ziet er nog mooi uit ook, wat wil je nog meer? De controller is zo gemaakt dat deze op alle verschillende Raspberry Pi-modellen past, ook de Zero.
RFID wie wil daar nu niet mee aan de slag, ben benieuwd wat er allemaal van dit soort tags in je huis te vinden zijn. Mischien zelfs de hond en de kat wel! Een dag of 12 geleden besteld bij BangGood voor € 2 en ook nog gratis verzonden.
Ik gebruik in dit voorbeeld de de 20×4 LCD met de Arduino MEGA, maar dit is voor alle andere Arduino bordjes en klonen ook bruikbaar.
De RC522 RFID kaart lezer communiceert met de kaarten en tags door gebruik van een 13.56MHz elektromagnetisch veld. (ISO 14443A standaard tags) Het MIFARE systeem.
Wat hebben we nog meer nodig:
De librarie SPI (zit standaard in Arduino) KLIK om te downloaden
RFID wie wil daar nu niet mee aan de slag, ben benieuwd wat er allemaal van dit soort tags in je huis te vinden zijn. Mischien zelfs de hond en de kat wel! Een dag of 12 geleden besteld bij BangGood voor € 2 en ook nog gratis verzonden.
Ik gebruik in dit voorbeeld de Arduino MEGA, maar dit is voor alle andere Arduino bordjes en klonen ook bruikbaar.
De RC522 RFID kaart lezer communiceert met de kaarten en tags door gebruik van een 13.56MHz elektromagnetisch veld. (ISO 14443A standaard tags) Het MIFARE systeem.
Wat hebben we nog meer nodig:
De librarie SPI (zit standaard in Arduino) KLIK om te downloaden
Op de RFID RC522 hebben we de volgende aansluitingen van links naar rechts:: SDA – SCK – MOSI – MISO – IRQ – GND – RST – VCC, om deze te gebruiken met de Arduino MEGA sluite we deze als volgt aan:
SDA naar pin D9 van de Arduino MEGA
SCK naar pin D52 van de Arduino MEGA
MOSI naar pin D51 van de Arduino MEGA
MISO naar pin D50 van de Arduino MEGA
IRQ is ongebruikt
GND naar GND van de Arduino MEGA
Reset naar pin D8 van de Arduino MEGA
VCC naar 3,3 Volt van de Arduino MEGA
De pin aansluitingen voor de Arduino Uno en Nano zijn als volgt: (dit dan natuurlijk ook aanpassen in de sketch)
SDA naar pin D10 van de Arduino Uno of Nano
SCK naar pin D13 van de Arduino Uno of Nano
MOSI naar pin D11 van de Arduino Uno of Nano
MISO naar pin D12 van de Arduino Uno of Nano
IRQ is ongebruikt
GND naar GND van de Arduino Uno of Nano
Reset naar pin D9 van de Arduino Uno of Nano
VCC naar 3,3 Volt van de Arduino Uno of Nano
Nu nog de code voor de RFID-RC522 in combinatie met de Arduino Mega: KLIK om te downloaden.
/*
/* Include the standard Arduino SPI library */
#include
/* Include the RFID library */
#include
/* Define the DIO used for the SDA (SS) and RST (reset) pins. */
#define SDA_DIO 9
#define RESET_DIO 8
/* Create an instance of the RFID library */
RFID RC522(SDA_DIO, RESET_DIO);
void setup()
{
Serial.begin(9600);
/* Enable the SPI interface */
SPI.begin();
/* Initialise the RFID reader */
RC522.init();
}
void loop()
{
/* Has a card been detected? */
if (RC522.isCard())
{
/* If so then get its serial number */
RC522.readCardSerial();
Serial.println(“Card detected:”);
for(int i=0;i<5;i++)
{
Serial.print(RC522.serNum[i],DEC);
//Serial.print(RC522.serNum[i],HEX); //to print card detail in Hexa Decimal format
}
Serial.println();
Serial.println();
}
delay(1000);
}
Eerder zagen we al de Range finder en de LCD display in aktie, nu kunnen we deze natuurlijk ook combineren en op de display de afstanden aflezen. Of het zinvol is is een andere vraag maar we doen het gewoon, omdat het kan.
LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display
#define ECHO_PIN 11 // Arduino pin tied to echo pin on the ultrasonic sensor.
#define TRIGGER_PIN 12 // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define MAX_DISTANCE 500 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.
void setup()
{
lcd.init(); // initialize the lcd
lcd.begin (20,4); // our LCD is a 20×4, change for your LCD if needed
// LCD Backlight ON
// lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.backlight();
lcd.home (); // go home on LCD
lcd.print(“Range Finder HC-SR04”);
}
void loop()
{
unsigned int uS = sonar.ping(); // Send ping, get ping time in microseconds (uS).
unsigned int cm = sonar.convert_cm(uS); // Convert into centimeters
lcd.setCursor (0,1); // go to start of 1st line
lcd.print(“https://colandino.nl”);
lcd.setCursor (0,2); // go to start of 2nd line
lcd.print(“Huidige afstand:”);
lcd.setCursor (0,3); // go to start of 4th line
lcd.print(“Ping: “);
lcd.print(cm);
lcd.print(” cm “);
LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display
void setup()
{
lcd.init(); // initialize the lcd
// Print a message to the LCD.
lcd.backlight();
lcd.setCursor(0,0);
lcd.print(“Hallo bezoeker!”);
delay(1000);
lcd.setCursor(0,1);
lcd.print(“Ga snel naar:”);
delay(1000);
lcd.setCursor(0,2);
lcd.print(“https://colandino.nl”);
delay(1000);
lcd.setCursor(0,3);
lcd.print(“Ontwerp door Colani”);
}
void loop()
{
}
Selecteer in je Arduino software het juiste bord wat je wil gebruiken en de juiste COM-poort, en uploaden maar.
Je hebt nodig de librarie NewPing KLIK
Laad onderstaande code in arduino: KLIK
#include
#define PING_PIN 12 // Arduino pin tied to both trigger and echo pins on the ultrasonic sensor.
#define MAX_DISTANCE 200 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.
NewPing sonar(PING_PIN, PING_PIN, MAX_DISTANCE); // NewPing setup of pin and maximum distance.
void setup() {
Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results.
}
void loop() {
delay(50); // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
Serial.print(“Ping: “);
Serial.print(sonar.ping_cm()); // Send ping, get distance in cm and print result (0 = outside set distance range)
Serial.println(“cm”);
}
Nu kun je deze testen, selecteer het juiste type Arduino, de gebruikte COM-poort en uploaden maar.
Je kunt de afstanden uitlezen via de seriële monitor, stel deze ook in op 115200 baud.
#define TRIGGER_PIN 12 // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN 11 // Arduino pin tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 200 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.
void setup() {
Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results.
}
void loop() {
delay(50); // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
Serial.print(“Ping: “);
Serial.print(sonar.ping_cm()); // Send ping, get distance in cm and print result (0 = outside set distance range)
Serial.println(“cm”);
}
Nu kun je deze testen, selecteer het juiste type Arduino, de gebruikte COM-poort en uploaden maar.
Je kunt de afstanden uitlezen via de seriële monitor, stel deze ook in op 115200 baud.
Set van een 433MHz RF onvanger- en zendermodule te gebruiken voor o.a. Arduino voor bijvoorbeeld het aansturen van een kaku set (Klik aan Klik uit), deurbellen, garagedeur, domotica of robot projecten.
De Ky-025; Deze module kan een magnetisch veld detecteren. Het reed relais maakt contact als er een magneet dicht bij in de buurt komt.
De gevoeligheid kan praktisch niet ingesteld worden met de potmeter. Het reed relais maakt meestal wel/niet contact.(en niet half)
Wel moet er met de potmeter een grens waarde worden ingesteld zodat de module correct werkt. Deze module is met name bedoeld voor gemakkelijk gebruik van een reed relais met directe output.
Met de HC-12 module kan je op grote afstand data versturen tussen twee apparaten.
De module is voorzien van een SI4463 Transciever IC in combinatie met een STM8 microcontroller.
Communicatie via een Arduino is zeer gemakkelijk via UART(RX en TX) signalen.
Specificaties:
Spanning: 3.2V – 5.5V DC
Stroomverbruik(piek, maximaal): <200mA
Stroomverbruik(continu, maximaal): <100mA
Frequentiebereik: 433.4-473Mhz (instelbaar in 100 aparte kanalen)
Ingebouwde STM8 microcontroller voor simpele communicatie via RX en TX
Afstand(open lucht, maximaal): 1000m (op 5000bps in open lucht), 1800m (op 500 bps in open lucht in FU4 modus)