|
PJRC Store
|
Teensy 3.1, $19.80
Teensy 2.0, $16.00
Teensy++ 2.0, $24.00
USB Cable, $4.00
|
|
|
Teensy
|
Main Page
Teensy 3.1
Getting Started
How-To Tips
Code Library
Projects
Teensyduino
2x15la Ley De Los Audaces 2x15 «TOP-RATED – 2024»
He admits he is not a shaman. He admits he manipulated the soccer match that started the entire conflict. He admits his fears as a father and a failed husband. This three-minute monologue is the best acting of Sebastián Martínez’s career. It transforms from a chase narrative into a meditation on masculinity and failure. Act Three: The Twist Just as all hope seems lost, the episode delivers its signature twist. The hard drive Juan brought is a fake. The real hard drive has been with Doña Nelly (the building manager) the entire season. When El Coronel plugs the drive into his laptop, he doesn’t find evidence—he finds a virus created by the nerdy teen character, "Frijolito." The virus crashes the cartel’s entire network, triggering the fire alarms, unlocking every door in the warehouse, and broadcasting El Coronel’s location to every police drone in the city.
The episode that fans cannot stop talking about is . As the penultimate chapter of the second season, this episode serves as a critical turning point, setting the stage for a season finale that redefines the entire narrative. If you are searching for a detailed breakdown of the plot, character arcs, and hidden easter eggs in 2x15 La Ley de los Audaces , you have come to the right place. The Context: Where Are We in Season 2? To understand the magnitude of 2x15 La Ley de los Audaces 2x15 , we must first remember the chaos that precedes it. Juan Quintero (Sebastián Martínez), a frustrated football referee turned accidental revolutionary, is deeper in trouble than ever. Season 2 picks up with Juan still pretending to be a clairvoyant healer to protect his friends and family from the corrupt cartel led by the fearsome "El Coronel" (Enrique Carriazo).
The last five minutes of are a symphony of chaos. Characters run in every direction. Gunfire erupts. And in the final shot, Juan jumps out of a second-story window, landing on a pile of trash bags (a callback to the pilot episode), laughing hysterically as he looks directly into the camera—breaking the fourth wall for the first time in the series. Character Analysis: Who Shines in Episode 2x15? Juan Quintero (Sebastián Martínez) This episode is Juan’s crucible. He is no longer just the funny, bumbling referee. In 2x15 La Ley de los Audaces 2x15 , he makes a conscious choice to fight back, not with lies, but with strategic cunning. His arc from passive victim to active (if messy) hero completes itself here. El Coronel (Enrique Carriazo) The villain gets his best moment in 2x15. Carriazo plays defeat with terrifying grace. When he realizes Juan has outsmarted him, he doesn’t scream. He smiles. And he whispers, "Esto no ha terminado, Quintero" ("This isn't over, Quintero"). This line sets up the season finale perfectly. Martina (Majida Issa) Martina’s subplot in this episode—escaping captivity using only a hairpin and her knowledge of plumbing—shows why she is the unsung hero of the series. She saves herself. Juan doesn’t rescue her; she rescues her own dignity. This feminist subtext runs strongly through 2x15 La Ley de los Audaces 2x15 . Themes and Symbolism in 2x15 The Law of the Audacious The title La Ley de los Audaces translates to "The Law of the Audacious." Episode 2x15 asks a direct question: What happens when the audacious are finally cornered? The answer is that audacity transforms into ingenuity. Juan’s fake hard drive is a metaphor for the entire series: sometimes, the only way to beat a corrupt system is to pretend to play by its rules while secretly rewriting the code. Fatherhood and Failure Throughout the episode, there are visual motifs of broken clocks. Every clock in the warehouse is stopped at 2:15. In the world of 2x15 La Ley de los Audaces , time stands still at the moment of crisis. Juan realizes he has wasted years lying to his daughter. The episode argues that true bravery isn't fighting—it's admitting you were wrong. How to Watch 2x15 La Ley de los Audaces 2x15 If you haven’t seen the episode yet, 2x15 La Ley de los Audaces 2x15 is available exclusively on Netflix. It is the 15th episode of Season 2. For viewers in the United States, the episode is listed under the English title The Unremarkable Juanquini , but the original Spanish audio with English subtitles is the recommended way to experience the actors' raw performances. 2x15La Ley de los Audaces 2x15
The episode opens with a cold open that defies expectations. Unlike previous episodes that start with Juan’s signature voiceover monologue, 2x15 begins with a silent montage of the four main families—the Quinteros, the Rivas, the Ojedas, and the Giraldo clan—preparing for what they believe will be a normal day. The irony is thick. The central action of 2x15 La Ley de los Audaces 2x15 revolves around a planned exchange. "El Coronel" has demanded that Juan deliver a mysterious hard drive containing incriminating videos of the city’s elite. In return, Juan will receive $500,000 and safe passage for his family out of the country.
By episode 14, the fragile house of cards Juan has built is teetering. His ex-wife, Martina (Majida Issa), is suspicious. His daughter, Valeria (Valentina Rendón), is in danger. And the police are closing in on both the real criminals and the bewildered protagonist. Episode 15, therefore, is not just another chapter—it is the explosion that the previous fourteen episodes have been meticulously building toward. Warning: Major spoilers ahead for 2x15 La Ley de los Audaces 2x15. He admits he is not a shaman
Introduction In the golden age of streaming, few international series have captured the tense, gritty essence of urban justice quite like La Ley de los Audaces (known in English as The Unremarkable Juanquini or The Audacious Law ). This Colombian Netflix original, starring the brilliant Sebastián Martínez as the hapless but cunning Juan Quintero, has kept audiences on the edge of their seats with its high-stakes blend of comedy, crime, and social commentary.
is more than just an episode number. It is a cultural event. And if you haven’t seen it yet, the only question is: What are you waiting for? Have you seen 2x15 La Ley de los Audaces? Share your theories about the "Proyecto Audaz II" file in the comments below. And remember: in the law of the audacious, the last lie is always the most important one. This three-minute monologue is the best acting of
The cliffhanger of 2x15 (a close-up on El Coronel’s laptop screen showing a file titled "Proyecto Audaz II" ) promises that Season 3 (if renewed) will be even wilder. Q: Do I need to watch all of Season 2 before watching 2x15? A: Absolutely. 2x15 relies heavily on relationships and plot points established in episodes 1-14. Skipping ahead will ruin the emotional impact.
Reference
|
|
|
|
2x15la Ley De Los Audaces 2x15 «TOP-RATED – 2024»
This library
supports the Small OLED displays sold by Adafruit Industries.
Download: Adafruit_SSD1306.zip
Hardware Requirements
Adafruit sells these OLED displays in I2C and SPI interface.

Adafruit 128x32 SPI OLED with Teensy 3.1
|

Adafruit 128x32 I2C OLED with Teensy 3.0
|
See below for the reverse-side wiring.
32 vs 64 Pixel Height
You may need to edit Adafruit_SSD1306.h to set the display height.
Look for this code and uncomment either 64 or 32 pixel height.
/*=========================================================================
SSD1306 Displays
-----------------------------------------------------------------------
The driver is used in multiple displays (128x64, 128x32, etc.).
Select the appropriate display below to create an appropriately
sized framebuffer, etc.
SSD1306_128_64 128x64 pixel display
SSD1306_128_32 128x32 pixel display
-----------------------------------------------------------------------*/
// #define SSD1306_128_64
#define SSD1306_128_32
/*=========================================================================*/
Example Program
This example program comes with the library. You can open it from the
File -> Examples -> Adafruit_SSD1306 -> ssd1306_128x32_spi menu.
/*********************************************************************
This is an example for our Monochrome OLEDs based on SSD1306 drivers
Pick one up today in the adafruit shop!
------> http://www.adafruit.com/category/63_98
This example is for a 128x32 size display using SPI to communicate
4 or 5 pins are required to interface
Adafruit invests time and resources providing this open source code,
please support Adafruit and open-source hardware by purchasing
products from Adafruit!
Written by Limor Fried/Ladyada for Adafruit Industries.
BSD license, check license.txt for more information
All text above, and the splash screen must be included in any redistribution
*********************************************************************/
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
// If using software SPI (the default case):
#define OLED_MOSI 9
#define OLED_CLK 10
#define OLED_DC 11
#define OLED_CS 12
#define OLED_RESET 13
Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
/* Uncomment this block to use hardware SPI
#define OLED_DC 6
#define OLED_CS 7
#define OLED_RESET 8
Adafruit_SSD1306 display(OLED_DC, OLED_RESET, OLED_CS);
*/
#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2
#define LOGO16_GLCD_HEIGHT 16
#define LOGO16_GLCD_WIDTH 16
static const unsigned char PROGMEM logo16_glcd_bmp[] =
{ B00000000, B11000000,
B00000001, B11000000,
B00000001, B11000000,
B00000011, B11100000,
B11110011, B11100000,
B11111110, B11111000,
B01111110, B11111111,
B00110011, B10011111,
B00011111, B11111100,
B00001101, B01110000,
B00011011, B10100000,
B00111111, B11100000,
B00111111, B11110000,
B01111100, B11110000,
B01110000, B01110000,
B00000000, B00110000 };
#if (SSD1306_LCDHEIGHT != 32)
#error("Height incorrect, please fix Adafruit_SSD1306.h!");
#endif
void setup() {
Serial.begin(9600);
// by default, we'll generate the high voltage from the 3.3v line internally! (neat!)
display.begin(SSD1306_SWITCHCAPVCC);
// init done
display.display(); // show splashscreen
delay(2000);
display.clearDisplay(); // clears the screen and buffer
// draw a single pixel
display.drawPixel(10, 10, WHITE);
display.display();
delay(2000);
display.clearDisplay();
// draw many lines
testdrawline();
display.display();
delay(2000);
display.clearDisplay();
// draw rectangles
testdrawrect();
display.display();
delay(2000);
display.clearDisplay();
// draw multiple rectangles
testfillrect();
display.display();
delay(2000);
display.clearDisplay();
// draw mulitple circles
testdrawcircle();
display.display();
delay(2000);
display.clearDisplay();
// draw a white circle, 10 pixel radius
display.fillCircle(display.width()/2, display.height()/2, 10, WHITE);
display.display();
delay(2000);
display.clearDisplay();
testdrawroundrect();
delay(2000);
display.clearDisplay();
testfillroundrect();
delay(2000);
display.clearDisplay();
testdrawtriangle();
delay(2000);
display.clearDisplay();
testfilltriangle();
delay(2000);
display.clearDisplay();
// draw the first ~12 characters in the font
testdrawchar();
display.display();
delay(2000);
display.clearDisplay();
// draw scrolling text
testscrolltext();
delay(2000);
display.clearDisplay();
// text display tests
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0,0);
display.println("Hello, world!");
display.setTextColor(BLACK, WHITE); // 'inverted' text
display.println(3.141592);
display.setTextSize(2);
display.setTextColor(WHITE);
display.print("0x"); display.println(0xDEADBEEF, HEX);
display.display();
delay(2000);
// miniature bitmap display
display.clearDisplay();
display.drawBitmap(30, 16, logo16_glcd_bmp, 16, 16, 1);
display.display();
// invert the display
display.invertDisplay(true);
delay(1000);
display.invertDisplay(false);
delay(1000);
// draw a bitmap icon and 'animate' movement
testdrawbitmap(logo16_glcd_bmp, LOGO16_GLCD_HEIGHT, LOGO16_GLCD_WIDTH);
}
void loop() {
}
void testdrawbitmap(const uint8_t *bitmap, uint8_t w, uint8_t h) {
uint8_t icons[NUMFLAKES][3];
// initialize
for (uint8_t f=0; f< NUMFLAKES; f++) {
icons[f][XPOS] = random(display.width());
icons[f][YPOS] = 0;
icons[f][DELTAY] = random(5) + 1;
Serial.print("x: ");
Serial.print(icons[f][XPOS], DEC);
Serial.print(" y: ");
Serial.print(icons[f][YPOS], DEC);
Serial.print(" dy: ");
Serial.println(icons[f][DELTAY], DEC);
}
while (1) {
// draw each icon
for (uint8_t f=0; f< NUMFLAKES; f++) {
display.drawBitmap(icons[f][XPOS], icons[f][YPOS], logo16_glcd_bmp, w, h, WHITE);
}
display.display();
delay(200);
// then erase it + move it
for (uint8_t f=0; f< NUMFLAKES; f++) {
display.drawBitmap(icons[f][XPOS], icons[f][YPOS], logo16_glcd_bmp, w, h, BLACK);
// move it
icons[f][YPOS] += icons[f][DELTAY];
// if its gone, reinit
if (icons[f][YPOS] > display.height()) {
icons[f][XPOS] = random(display.width());
icons[f][YPOS] = 0;
icons[f][DELTAY] = random(5) + 1;
}
}
}
}
void testdrawchar(void) {
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0,0);
for (uint8_t i=0; i < 168; i++) {
if (i == '\n') continue;
display.write(i);
if ((i > 0) && (i % 21 == 0))
display.println();
}
display.display();
}
void testdrawcircle(void) {
for (int16_t i=0; i<display.height(); i+=2) {
display.drawCircle(display.width()/2, display.height()/2, i, WHITE);
display.display();
}
}
void testfillrect(void) {
uint8_t color = 1;
for (int16_t i=0; i<display.height()/2; i+=3) {
// alternate colors
display.fillRect(i, i, display.width()-i*2, display.height()-i*2, color%2);
display.display();
color++;
}
}
void testdrawtriangle(void) {
for (int16_t i=0; i<min(display.width(),display.height())/2; i+=5) {
display.drawTriangle(display.width()/2, display.height()/2-i,
display.width()/2-i, display.height()/2+i,
display.width()/2+i, display.height()/2+i, WHITE);
display.display();
}
}
void testfilltriangle(void) {
uint8_t color = WHITE;
for (int16_t i=min(display.width(),display.height())/2; i>0; i-=5) {
display.fillTriangle(display.width()/2, display.height()/2-i,
display.width()/2-i, display.height()/2+i,
display.width()/2+i, display.height()/2+i, WHITE);
if (color == WHITE) color = BLACK;
else color = WHITE;
display.display();
}
}
void testdrawroundrect(void) {
for (int16_t i=0; i<display.height()/2-2; i+=2) {
display.drawRoundRect(i, i, display.width()-2*i, display.height()-2*i, display.height()/4, WHITE);
display.display();
}
}
void testfillroundrect(void) {
uint8_t color = WHITE;
for (int16_t i=0; i<display.height()/2-2; i+=2) {
display.fillRoundRect(i, i, display.width()-2*i, display.height()-2*i, display.height()/4, color);
if (color == WHITE) color = BLACK;
else color = WHITE;
display.display();
}
}
void testdrawrect(void) {
for (int16_t i=0; i<display.height()/2; i+=2) {
display.drawRect(i, i, display.width()-2*i, display.height()-2*i, WHITE);
display.display();
}
}
void testdrawline() {
for (int16_t i=0; i<display.width(); i+=4) {
display.drawLine(0, 0, i, display.height()-1, WHITE);
display.display();
}
for (int16_t i=0; i<display.height(); i+=4) {
display.drawLine(0, 0, display.width()-1, i, WHITE);
display.display();
}
delay(250);
display.clearDisplay();
for (int16_t i=0; i<display.width(); i+=4) {
display.drawLine(0, display.height()-1, i, 0, WHITE);
display.display();
}
for (int16_t i=display.height()-1; i>=0; i-=4) {
display.drawLine(0, display.height()-1, display.width()-1, i, WHITE);
display.display();
}
delay(250);
display.clearDisplay();
for (int16_t i=display.width()-1; i>=0; i-=4) {
display.drawLine(display.width()-1, display.height()-1, i, 0, WHITE);
display.display();
}
for (int16_t i=display.height()-1; i>=0; i-=4) {
display.drawLine(display.width()-1, display.height()-1, 0, i, WHITE);
display.display();
}
delay(250);
display.clearDisplay();
for (int16_t i=0; i<display.height(); i+=4) {
display.drawLine(display.width()-1, 0, 0, i, WHITE);
display.display();
}
for (int16_t i=0; i<display.width(); i+=4) {
display.drawLine(display.width()-1, 0, i, display.height()-1, WHITE);
display.display();
}
delay(250);
}
void testscrolltext(void) {
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(10,0);
display.clearDisplay();
display.println("scroll");
display.display();
display.startscrollright(0x00, 0x0F);
delay(2000);
display.stopscroll();
delay(1000);
display.startscrollleft(0x00, 0x0F);
delay(2000);
display.stopscroll();
delay(1000);
display.startscrolldiagright(0x00, 0x07);
delay(2000);
display.startscrolldiagleft(0x00, 0x07);
delay(2000);
display.stopscroll();
}

Adafruit 128x32 I2C Wiring
|

Adafruit 128x32 SPI Wiring
|
|